一、搭建思路
1. 拥有配置好的Linux操作系统
2. 将hadoop2.7.2.tar.gz 和jdk1.8.0_144.tar.gz
3. 配置jdk和hadoop的环境变量
4. 配置hadoop的相关配置
5. 启动并且访问web页面
6.安装遇到的问题和解决方法在本篇文章结尾处说明
二、环境说明
1. 物理机win10系统
2. 虚拟机LinuxCentOS6.10
3. Hadoop版本 hadoop2.7.2
4.jdk版本 jdk1.8.0_144
三、搭建步骤
1.修改hosts文件
(1)命令:vim /etc/hosts 添加内容
(2)说明:192.168.xx.xxx是主机IP(ifconfig查看本机IP) hadoop101是主机名
192.168.xx.xxx hadoop101
(2)修改主机名,将HOSTNME的值改为hadoop101,与hosts文件的主机名映射一样
vim /etc/sysconfig/network
(3)关闭防火墙,这里设置为永久关闭
chkconfig iptables off
(4)重启虚拟机
reboot
2.上传文件压缩包
(1)这里有很多方法,比如建立物理机与虚拟机共享文件夹
或者直接yum install -y lszrz, 也可以使用其他远程连接工具,比如 CRT,Xshell等。总之就是将hadoop2.7.2.tar.gz和jdk1.8.0_144.tar.gz在物理机导入Linux中放入/opt/software(我存所有tar.gz的目录)
3.解压
- 解压hadoop2.7.2.tar.gz (/opt/module这是解压到的目录必须提前创建好)
- 执行命令:
tar -zxvf hadoop2.7.2.tar.gz -C /opt/module
- 解压jdk1.8.0_144.tar.gz
- 执行命令:
jdk1.8.0_144.tar.gz -C /opt/module
- -C 字母c是大写 意思是解压到非当前目录
4.配置环境变量
1.命令:vim /etc/profile
在文件末尾添加
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
2.说明:JAVA_HOME=/opt/module/jdk1.8.0_144
(1)export 声明为全局变量
(2)JAVA_HOME = 解压后的jdk路径
(3)PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin 配置到bin目录下面的可执行命令
(4)hadoop的以此类推,意思一样
3. source /etc/profile 使修改后的文件生效
4.java -version
查看是否配置好java的环境变量
5.配置Hadoop的相关配置
- 以下要配置的文件都在hadoop的解压目录下的etc/hadoop目录下。如果之前跟我一样,那么现在路径应该/opt/module/hadoop-2.7.2/etc/hadoop。此时位置在/opt/module/hadoop-2.7.2/
vim etc/hadoop/core-site.xml
在configuration标签里添加代码后保存
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
3.vim etc/hadoop/hadoop.env.sh
找到原有的JAVA_HOME = ???
修改为jdk的解压路径后保存
4.vim etc/hadoop/ hdfs-site.xml
在configuration标签里添加元素后保存
<!-- 指定副本数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
5.vim etc/hadoop/yarn-site.xml
在configuration标签里添加元素后保存
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
6.vim etc/hadoop/yarn-env.sh
添加jdk的解压路径 并将原有的#去掉
7.vim etc/hadoop/mapred.en.sh
添加jdk的解压路径 并将原有的#去掉
8.将mapred-site.xml.template 改名为mapred-site.xml并添加内容
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop101:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop101:19888</value>
</property>
至此所有相关配置已经完成
四、格式化Namenode
bin/hdfs namenode -format
只需要格式化一次 以后启动一定不要格式化
五、启动进程
一定要在此路径下才会有tab键的提示
HDFS进程,需要等待几秒后,每启动换一个进程就jps查看,如果没有启动就去文章末尾看解决办法
(1)先启动namenode
sbin/hadoop-daemon.sh start namenode
(2)启动datanode
sbin/hadoop-daemon.sh start datanode
yarn进程
(3)启动yarn的resourcemanager
sbin/yarn-daemon.sh start resourcemanager
(4) 启动nodemanager
sbin/yarn-daemon.sh start nodemanager
(5)启动历史服务,日志查看进程
mr-jobhistory-daemon.sh start historyserver
(6)查看当前运行在jvm上的进程
jps
(7)启动方式还有群起脚本,如果执行上述启动命令,以下两个命令不需要执行,如果使用这个脚本启动需要ssh免密 ,详见https://blog.youkuaiyun.com/qq_44719527/article/details/104670797
1)启动HDFS
sbin/start-dfs.sh
2)启动Yarn
sbin/start-yarn.sh
六、访问web端页面
(1)访问HDFS
http://主机IP:50070/
(1)访问yarn
http://主机IP:8088/
七,常见的问题
(1)namenode无法启动:
1)查看hosts文件的ip 与主机名是否对应,ip有没有改动过
2)配置完主机名后是否重启
3)如果是格式化多次或进程未停止就格式化会导致 data/tmp/dfs/name/current 和data/tmp/dfs/data current下的 VERSION里面的clusterID不同
需要删除 data 和logs两个目录 再次格式化或手动修改
4)检查环境变量是否配置成功
5)检查刚才的配置文件哪里出错。。。。
(2)dataname无法启动:
1)如果是格式化多次会或进程未停止就格式化导致 data/tmp/dfs/name/current 和data/tmp/dfs/data current下的 VERSION里面的clusterID不同
需要删除 data 和logs两个目录 再次格式化或手动修改
2)检查配置文件是否出错
3)查看日志拍错
(2)浏览器访问不到页面
1)打开网络或共享中心------>更改适配器选项。查看这两项是否开启,若没有将两项开启
(2)Linux的防火墙是否已经关闭,关闭后是否重启。。。
(3) 打开 cmd 窗口 ping Linux的ip
例如:ping 192.168.xx.xxx
写作不易,如果对您有所帮助,请给一个小小的赞,您的点赞是对我莫大的支持和鼓励,谢谢!!!