知识点一 Hadoop简介
知识点二 Hadoop简介2
知识点三 HDFS和MapReduce简介
知识点四 Linux命令回顾
查看网卡信息 ifconfig
查看文件(不包括隐藏) ls
查看文件(包括隐藏) ls -a
查看文件长格式 ls -l
查看当前工作目录 pwd
查看pwd命令帮助 help pwd
知识点五 Linux环境准备
配置主机名 vi /etc/sysconfig/network
修改HOSTNAME为 centos001
保存退出 :wq
配置网络 vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改ONBOOT为 yes
重启网络服务 service network restart
安装SecureCRT
配置主机名和IP地址映射关系 vi /etc/hosts
添加 192.168.117.128 centos001
查看主机名 hostname
临时修改主机名 hostname centos001
退出 exit
回车重新连接
查看防火墙状态 service iptables status
本次关闭防火墙 service iptables stop
查看防火墙是否开机自启动 chkconfig iptables --list
永久关闭防火墙 chkconfig iptables off
永久打开防火墙 chkconfig iptables on
知识点六 Java环境安装
官网下载 JDK Linux x64版
进入SFTP alt + p
把JDK安装包拖入SFTP开始上传
创建java目录 mkdir /usr/java
解压JDK到java目录 tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/java/
配置环境变量 vi /etc/profile
末行添加 export JAVA_HOME=/usr/java/jdk1.8.0_151
末行添加 export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
刷新环境变量 source /etc/profile
查看java环境 java
查看java版本 java -version
知识点七 Linux迷你版安装
查看linux信息 uname -a
查看CentOS版本 more /etc/redhat-release
知识点八 Hadoop伪分布式搭建过程
创建bigdata目录 mkdir /bigdata
进入bigdata目录 cd bigdata
进入SFTP alt + p
把Hadoop安装包拖入SFTP开始上传
解压hadoop安装包到当前目录 tar -zxvf hadoop-2.6.5.tar.gz
进入hadoop的etc目录
配置hadoop-env.sh vi hadoop-env.sh
显示行数 :set nu
修改 export JAVA_HOME=/usr/java/jdk1.8.0_151
配置core-site.xml vi core-site.xml
配置hdfs的namenode(老大)地址
配置hadoop运行时产生数据的存储目录,不是临时的数据
fs.defaultFS
hdfs://centos001:9000
hadoop.tmp.dir
/root/bigdata/tmp
配置hdfs-site.xml vi hdfs-site.xml
指定hdfs存储数据的副本数据量
dfs.replication
1
重命名mapred-site.xml.template mv mapred-site.xml.template mapred-site.xml
配置mapred-site.xml vi mapred-site.xml
指定mapreduce编程模型运行在yarn上
mapreduce.framework.name
yarn
配置yarn-site.xml vi yarn-site.xml
指定yarn的老大(ResourceManager)的地址
mapreduce执行shuffle时获取数据的方式
yarn.resourcemanager.hostname
centos001
yarn.nodemanager.aux-services
mapreduce_shuffle
进入bin目录查看hdfs命令帮助 ./hdfs
对hdfs进行初始化(格式化hdfs) ./hdfs namenode -format
启动所有 sbin/start-all.sh
启动hdfs sbin/start-dfs.sh
查看java进程状态 jps
网址验证hdfs 192.168.1.100:50070
启动yarn sbin/start-yarn.sh
网址验证yarn 192.168.1.100:8088
知识点九 Hadoop安装过程错误排查
知识点十 ssh免密码登录配置过程
~根目录创建id_rsa私钥,id_rsa.pub公钥 ssh-keygen -t rsa 一直回车
查看.ssh目录 ls -al
复制id_rsa.pub公钥至authorized_keys cp id_rsa.pub authorized_keys
新建centos002虚拟机
centos001连接centos002 ssh [email protected]
在线安装ssh yum -y install openssh-clients
centos002根目录创建hellohadoop文件夹 ssh [email protected] mkdir /hellohadoop
拷贝authorized_keys文件到centos002 ssh-copy-id [email protected]
知识点十一 ssh免密码登录
知识点十二 复习
知识点十三 分布式文件系统介绍
知识点十四 HDFS Shell简介
profile添加HADOOP_HOME export HADOOP_HOME=/root/bigdata/hadoop-2.6.5
PATH添加HADOOP_HOME export PATH= P A T H : PATH: PATH:JAVA_HOME/bin:$HADOOP_HOME/bin
编辑profile source profile
查询根目录文件夹 hdfs dfs -ls hdfs://centos001:9000/
知识点十五 HDFS Shell使用1
jdk安装包从linux磁盘上传到hdfs
hdfs dfs -put jdk-8u151-linux-x64.tar.gz hdfs://centos001:9000/
简写 hdfs dfs -put jdk-8u151-linux-x64.tar.gz /
检查jdk是否上传成功
hdfs dfs -ls hdfs://centos001:9000/
简写 hdfs dfs -ls /
http://192.168.10.70:50070/explorer.html#/
hdfs删除帮助 hdfs dfs -rm
删除jdk hdfs dfs -rm /jdk-8u151-linux-x64.tar.gz
删除log文件夹 hdfs dfs -rm -r /log
tmp文件夹查看hdfs格式的jdk
计算器验证hdfs格式的jdk大小 134217728/1024/1024
创建words.txt上传至hdfs根目录 vi words.txt hdfs dfs -put words.txt /
查看words.txt内容 more blk_1073741829
知识点十六 HDFS Shell使用2
再次上传words.txt重名 hdfs dfs -put words.txt /a.txt
下载words.txt至home目录 hdfs dfs -get /words.txt /home/w.txt
copyFromLocal上传文件 hdfs dfs -copyFromLocal w.txt /wc.txt
查看hdfs文件wc.txt内容 hdfs dfs -cat /wc.txt hdfs dfs -text /wc.txt
下载words.txt至home目录 hdfs dfs -copyToLocal /wc.txt /home/wc.log
删除a.txt hdfs dfs -rm /a.txt
删除wc.txt hdfs dfs -rm /wc.txt
正则表达式删除words.txt hdfs dfs -rm /words*
正则表达式删除jdk hdfs dfs -rm /jdk*
创建log文件夹 hdfs dfs -mkdir /log/2016/
上传words.txt至/log/2016/目录 hdfs dfs -put words.txt /log/2016
查看ls帮助文档 hdfs dfs -help ls
查看log目录所有文件 hdfs dfs -ls -R /
查看单位目录 hdfs dfs -ls -h /
查看words.txt内容 hdfs dfs -cat /log/2016/words.txt
追加words.txt至log目录words.txt hdfs dfs -appendToFile words.txt /log/2016/words.txt
log添加w权限 hdfs dfs -chmod +w /log
查看权限帮助文档 hdfs dfs -help chmod
查看文件夹文件数量 hdfs dfs -count /
下载合并文件 hdfs dfs -getmerge /a.txt /b.txt /home/c.txt
查看-lsr过时命令 hdfs dfs -lsr /
查看jdk生成时间 hdfs dfs -stat /jdk-8u151-linux-x64.tar.gz
查看stat帮助 hdfs dfs -help stat
查看jdk大小 hdfs dfs -stat %b /jdk-8u151-linux-x64.tar.gz
查看jdk大小和名字 hdfs dfs -stat %b%n /jdk-8u151-linux-x64.tar.gz
查看a.txt尾部信息 hdfs dfs -tail /a.txt
知识点十七 HDFS的Java编程API
创建Maven工程 pom.xml引入hadoop所需jar包
编写测试类连通Hadoop
读取a.txt至D盘根目录
上传pom.xml至hdfs根目录,解决上传权限问题
编写连通Hadoop的第二种方法
编写创建hdfs目录/a/b
编写删除hdfs目录/a/b
知识点十八 HDFS的Java编程API2
知识点十九 HDFS的架构原理1
知识点二十 SNN同步元数据过程
知识点二十一 DataNode工作原理
知识点二十二 Hadoop的RPC机制
创建RPCService接口类 , RPCServer服务类 , RPCClient客户端类
测试RPC通信机制
知识点二十三 错误排查
知识点二十四 HDFS概念和特性的复习
上传words.txt到hdfs根目录 hadoop fs -put words.txt /
查询hdfs根目录 hadoop fs -ls /
core-site.xml如果不配置fs.defaultFS默认为file:///
知识点二十五 HDFS写数据流程
创建hdfs Java工程 , 创建User Library hdfslib
Java工程引入User Library hdfslib
编写HdfsClient类
src根目录创建core-site.xml
知识点二十六 HDFS读数据流程
知识点二十七 mapreduce框架的整体工作过程
hdfs创建wordcount/input目录 hdfs dfs -mkdir -p /wordcount/input
创建a.txt文本 vi a.txt
复制10份a.txt cp a.txt a.txt.2
上传10份a.txt至hdfs wordcount/input目录 hadoop fs -put a.* /wordcount/input
知识点二十八 mapreduce编程实例wordcount----mapper的编写
创建mapreduce Java工程 , 创建User Library mrlib
Java工程引入User Library hdfslib mrlib
编写WordCountMapper类
知识点二十九 mapreduce编程实例wordcount----reducer的编写
编写WordCountReducer类
知识点三十 mapreduce编程实例wordcount----job提交客户端程序的编写
把mapreduce Java工程Export成wordcount.jar包
编写jobClient类
上一条命令返回状态码 echo $?
把mapreduce Java工程Export成wordcount.jar包
知识点三十一 mapreduce编程实例wordcount----程序提交运行的过程
上传d盘根目录wordcount.jar至centos001~目录 sftp> put d:/wordcount.jar
执行wordcount.jar hadoop jar wordcount.jar com.dohit.hadoop.JobClient
查看yarn运行状态 172.17.1.28:8088
查看output目录执行结果 hadoop fs -cat /wordcount/output/part-r-00001
创建b.txt文本 vi b.txt
上传b.txt至hdfs wordcount/input目录 hadoop fs -put b.txt /wordcount/input
执行wordcount.jar hadoop jar wordcount.jar com.dohit.hadoop.JobClient
删除output目录 hadoop fs -rm -r /wordcount/output
查看yarn运行状态 172.17.1.28:8088
查看output目录执行结果 hadoop fs -cat /wordcount/output/part-r-00001
知识点三十二 hadoop动态扩容的原理和步骤
安装Java JDK
配置Java环境变量 vi /etc/profile
修改主机名 vi /etc/sysconfig/network
主机名快速生效 hostname centos002
centos001添加centos002映射 vi /etc/hosts
centos001 hosts配置文件覆盖centos002 hosts配置文件 scp /etc/hosts centos002:/etc/
centos002 ssh免密码登录 ssh-copy-id centos002
拷贝hadoop-2.6.5至centos002 scp -r hadoop-2.6.5/ centos002:/root/bigdata
centos002添加hadoop环境变量 vi /etc/profile
末行添加 export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin
刷新环境变量 source /etc/profile
启动hdfs扩容 hadoop-daemon.sh start datanode
查看java安装目录 which java
启动yarn扩容 yarn-daemon.sh start nodemanager
主机slaves配置文件添加从机
关闭集群hdfs sbin/stop-dfs.sh
关闭集群yarn sbin/stop-yarn.sh
启动集群hdfs sbin/start-dfs.sh
启动集群yarn sbin/start-yarn.sh
知识点三十三 mapreduce程序运行过程的观察
Command Window Send Commands to All Sessions
知识点三十四 mapreduce程序运行过程的观察–观察maptask启动数量的决定机制
编辑JobClient类动态传参数
把mapreduce Java工程Export成wordcount.jar包
上传d盘根目录wordcount.jar至centos001~目录 sftp> put d:/wordcount.jar
删除wordcount/input目录 hadoop fs -rm -r /wordcount/input
重新创建wordcount/input目录 hadoop fs -mkdir /wordcount/input
上传a.txt至hdfs wordcount/input目录 hadoop fs -put a.txt /wordcount/input
执行wordcount.jar传入参数
hadoop jar wordcount.jar com.dohit.hadoop.JobClient /wordcount/input /wordcount/output2 1
克隆一个172.17.1.28新窗口
在Command Window Send Commands to All Sessions窗口输入jps观察日志输出
知识点三十五 笔记整理—之1
知识点三十六 笔记整理—之2—mr程序的运行过程
知识点三十七 笔记整理—之3—集群动态扩容
知识点三十八 作业题
知识点三十九 mapreduce框架原理的复习
知识点四十 流量统计案例–流量汇总求和—自定义bean的序列化实现
编写FlowSumMapper类
编写FlowBean类
知识点四十一 流量统计案例–mapper的实现及编程中减少垃圾的编程技巧
编写FlowSumMapper类
编写FlowBean类
知识点四十二 流量统计案例–reducer的实现及编程中减少垃圾的编程技巧
编写FlowSumReducer类
编写FlowBean类
编写jobClient类
知识点四十三 流量统计案例–流量汇总求和-本地模拟器运行模式及debug调式方法
配置HADOOP环境变量 重启电脑生效
下载高版本hadoop.dll至C:\Windows\System32
编写HelloWorld类
编写FlowSumMapper类
知识点四十四 流量统计案例–思路分析-分区partitioner机制–hashpartitioner
知识点四十五 流量统计案例–分区机制的测试–分区数量要和reduce数量对应
编写ProvincePartitioner类
编写JobClientProvince类
把mapreduce Java工程Export成flow.jar包
上传d盘根目录flow.jar至centos001~目录 sftp> put d:/flow.jar
上传flow.data至centos001~目录
hdfs创建flow/input目录 hdfs dfs -mkdir -p /flow/input
上传flow.data至hdfs flow/input目录 hadoop fs -put flow.data /flow/input
执行flow.jar传入参数
hadoop jar flow.jar com.dohit.hadoop.flowsum.JobClientProvince 3 /flow/input /flow/output
知识点四十六 流量统计案例–mr框架中的shuffle排序机制解析
知识点四十七 流量统计案例–mr框架中的shuffle机制用wordcount测试排序结果
知识点四十八 流量统计案例----按照流量大小排序----writablecomparable接口
编写FlowSumSort类
编写FlowBean类
知识点四十九 索引创建案例----step1的实现
创建index文件夹,创建a.txt b.txt c.txt
编写IndexCreateStepOne类
知识点五十 共同好友分析案例—需求说明
知识点五十一 共同好友分析案例—思路设计
知识点五十二 共同好友分析案例—step1的实现
编写CommonFriendStepOne类
知识点五十三 共同好友分析案例----step2的实现
编写CommonFriendStepTwo类
知识点五十四 mapreduce的内部工作原理全流程解析----六脉神剑
知识点五十五 mapreduce和yarn之间的运行生命周期全过程----九阳神功
知识点五十六 mapreduce编程作业
知识点五十七 hdfs的安全模式
知识点五十八 combiner组件的工作机制和作用
知识点五十九 combiner的编程接口
编写WordCountCombiner类
编写JobClient类
知识点六十 combiner的调用机制–调用次数
知识点六十一 join算法的mapreduce实现案例之----map编写
编写ReduceSideJoin类
编写JoinBean类
总结
作业