JDK+Hadoop安装配置、集群模式搭建成功的页面如下
JDK+Hadoop安装配置、集群模式搭建步骤:
1.关闭防火墙
firewall-cmd–state 显示防火墙状态running/not running
systemctl stopfirewalld 临时关闭防火墙,每次开机重新开启防火墙
systemctl disablefirewalld 禁止防火墙服务。
2.传输JDK和HADOOP压缩包
SecureCRT 【File】→【Connect SFTP Session】开启sftp操作(快捷键Alt+P)
put jdk-8u121-linux-x64.tar.gz
put hadoop-2.7.3.tar.gz
传输文件从本地当前路径(Windows)到当前路径(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=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH
Esc :wq!保存并退出。不需要配置CLASSPATH。
source/etc/profile配置生效
javac检验是否成功
或者在/.bashrc文件里添加JAVA_HOME,可以对不同用户设置不同配置权限。
5.配置HADOOP并生效
vi /etc/profile文件添加:
export HADOOP_HOME=/opt/module/hadoop-2.7.3
export PATH=
H
A
D
O
O
P
H
O
M
E
/
b
i
n
:
HADOOP_HOME/bin:
HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH
Esc :wq!保存并退出。
source /etc/profile配置生效
hadoop检验是否成功
5.单机模式配置hadoop-env.sh
vi /opt/module/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件修改
显示行号 Esc :set number 取消行号Esc:set nonumber
修改第25行export JAVA_HOME=/opt/module/jdk1.8.0_121
Esc :wq!保存并退出
本地模式没有HDFS和Yarn,配置JDK后MapReduce能够运行java程序。
6.运行自带程序wordcount
cd /opt/module/hadoop-2.7.3/share/hadoop/mapreduce
转入wordcount所在路径。
运行touch in.txt,创建In.txt文件,作为输入文件。(如果in.txt是空文件,运行vi in.txt,输入内容作为被统计词频的输入文件)输出目录/output必须不存在,程序运行后自动创建。
运行wordcount:hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /adir/in.txt output/
运行成功之后,进入/output目录,打开文件part-r-00000查看计数结果。
Hadoop伪分布式模式配置
5个配置文件:
- core-site.xml
先创建临时文件夹:sudo mkdir -p /opt/module/hadoop-2.7.3/tmp
1、vi ${HADOOP_HOME}/etc/hadoop/core-site.xml 或者在hadoop目录下
vi core-site.xml
打开文件后,光标移到这对标签下,
按 i 然后复制下面内容,然后esc :wq!保存退出
2、hdfs-site.xml
vi hdfs-site.xml
dfs.replication 1 dfs.namenode.secondary.http-address bigdata128:500903、mapred-site.xml
1、vi mapred-site.xml
2、打开后文件是空的,复制下面内容到里面即可 (内容过多,复制后有可能内容会不全,记得检查一下)
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4、 yarn-site.xml
vi yarn-site.xml 添加配置如下:
yarn.resourcemanager.hostname bigdata128 yarn.nodemanager.aux-services mapreduce_shuffle 5、Slaves文件里使用默认localhost,或者添加 bigdata128(既是NameNode又是DataNode) 注:如果Slaves文件为空,就没有DataNode和NodeManager。 在Hadoop-2.7.3目录下输入:ls 查看目录vi slaves
输入 bigdata128
esc :wq!保存并退出
格式化:hdfs namenode –format
(如果不是第一次格式化,格式化之前先删除/opt/module/hadoop-2.7.3/下面的tmp、logs两个目录)时间较长,记得多等哈
启动: start-all.sh
(如果启动之前已经启动过,启动之前先停止stop-all.sh)
查看伪分布式配置是否成功:
执行ll,查看/opt/module/hadoop-2.7.3/tmp/dfs目录,如下图所示,则正确。
执行jps,NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager如果全部启动,伪分布式配置成功。
web控制台访问:http://192.168.153.128:50070 、http://192.168.153.128:8088
页面正常显示,则成功。
五、运行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/。
Hadoop完全分布式模式配置
一、新建另外两台Linux虚拟机
完全分布式模式共三台虚拟机,前述伪分布式的虚拟机(bigdata128)作为master主节点,克隆另外两个虚拟机(bigdata129、bigdata131)作为slaves子节点,克隆机自带安装JDK、Hadoop及配置文件。
克隆虚拟机
先关闭被克隆虚拟机,【虚拟机(M)】→【管理(M)】→【克隆©】
二、修改以下配置文件
①slaves配置文件
三台虚拟机分别都运行命令 vi /opt/module/hadoop-2.7.3/etc/hadoop slaves
修改slaves为:
bigdata129
bigdata131
②修改\etc\hosts配置文件
三台虚拟机分别都运行命令 vi \etc hosts
注释已有内容,添加集群三台虚拟机的ip及对应主机名:
192.168.153.128 bigdata128
192.168.153.140 bigdata129
192.168.153.141 bigdata131
③修改\etc\hostname配置文件
三台虚拟机分别都运行命令 vi \etc
hostname
添加各自的主机名bigdata128或者bigdata129或者bigdata131。
重启全部虚拟机,主机名生效。
三、格式化
在主节点bigdata128上面输入格式化命令(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),再格式化。
四、启动集群
在主节点bigdata128上面输入启动命令(start-all.sh),启动集群。
注:如果启动之前启动过集群,先在主节点bigdata128上面停止集群(stop-all.sh),再启动。
启动正常,输入jps命令,显示如下:
启动正常jps显示3台主机如上如下
web控制台访问:http://192.168.163.132:50070 、http://192.168.163.132:8088
页面正常显示,则成功。
五、运行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://192.168.163.132:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。