1.关闭防火墙
firewall-cmd --state 显示防火墙状态running/not running
systemctl stop firewalld 临时关闭防火墙,每次开机重新开启防火墙
systemctl disable firewalld 禁止防火墙服务。
2.传输JDK和HADOOP压缩包
在这里使用xshell+xftp进行SSH与文件传输
将 jdk-8u121-linux-x64.tar.gz 与 hadoop-2.7.3.tar.gz传输到linux主机当前目录
3.解压JDK和HADOOP压缩包
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt/module
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/module
4.配置JDK
vi /etc/profile文件添加:
export JAVA_HOME=/opt/module/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH 然后:wq保存并退出
source /etc/profile 配置生效
javac 检查是否配置成功
5.配置HADOOP
vi /etc/profile
追加在文件末尾
export HADOOP_HOME=/opt/module/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
保存并退出
source /etc/profile 配置生效
运行检查是否生效
6.配置hadoop -env.sh
vi /opt/module/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
文件修改修改第25行
export JAVA_HOME=/opt/module/jdk1.8.0_121
wq!保存并退出
由于本地模式没有HDFS和Yarn,配置JDK后MapReduce能够运行java程序。
7.运行wordcount
cd /opt/module/hadoop-2.7.3/share/hadoop/mapreduce
转入wordcount所在路径。
运行touch in.txt,创建In.txt文件,作为输入文件。
如果in.txt是空文件,则需要自己输入文字 方便日后使用词频统计)
输出目录/output必须不存在,程序运行后自动创建。
运行wordcount:
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /adir/in.txt output/
运行成功之后,进入/output目录,打开文件part-r-00000查看计数结果。
下面进行Hadoop完全分布式模式配置
1.新建两台虚拟机 均以上述的虚拟机为克隆
2.修改配置文件
①slaves配置文件
三台虚拟机均运行 vi /opt/module/hadoop-2.7.3/etc/hadoop slaves
修改slaves为:
bigdata129
bigdata131
②修改\etc\hosts配置文件
vi \etc hosts
添加集群三台虚拟机的ip及对应主机名:
192.168.163.128 bigdata128
192.168.163.129 bigdata129
192.168.163.131 bigdata131
③修改\etc\hostname配置文件
vi \etc hostname
添加各自的主机名bigdata128或者bigdata129或者bigdata131。
重启全部虚拟机
3.格式化
在主节点输入hdfs namenode -format
注:如果不是第一次格式化,三台虚拟机都删除\opt\module\hadoop-2.7.3\下面的tmp、logs目录:rm –rf \opt\module\hadoop-2.7.3\tmp rm –rf \opt\module\hadoop-2.7.3\logs
注:如果格式化之前启动过集群,先在主节点bigdata128上面停止集群(stop-all.sh),再格式化。
4.启动集群
start-all.sh
输入jps
如下图显示则成功
三台主机jps如下则成功
web控制台访问:http://主机ip:50070 、http://主机ip:8088
页面正常显示,则成功。
5.运行wordcount
hdfs dfs -put in.txt /adir
上传本地当前路径下的in.txt文件 到hdfs的/adir目录下。
运行hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /adir/in.txt output/
在http://你的主机ip地址:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。