七:hadoop启动服务,开启各节点进程
- 创建tmp目录:(只需要在一台虚拟机上执行即可,我们三台虚拟机已经是一个集群,任意一台虚拟机执行即可)(切换hdfs账号创建临时文件夹)
在集群中创建tmp文件夹,并赋权限为1777
命令:[[email protected] ~]# sudo -u hdfs hadoop fs -mkdir /tmp
- 配置运行框架,在程序运行时给程序分配资源:
配置文件名:mapred-site.xml
命令:[[email protected] conf]# gedit mapred-site.xml
内容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 配置文件:mapred-site.xml
命令:
文件内容:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop3</value>
</property>
- 设置好nodemanager的路径:
还是配置文件:yarn-site.xml
文件内容:
<property>
<description>List of directories to store localized files in.</description>
<name>yarn.nodemanager.local-dirs</name>
<value>/data/yarn/nm</value>
</property>
<property>
<description>Where to store container logs.</description>
<name>yarn.nodemanager.log-dirs</name>
<value>/data/yarn/log</value>
</property>
- 创建目录:/data/yarn/nm和data/yarn/log
命令:
[[email protected] data]# mkdir -p /data/yarn/nm
[[email protected] data]# mkdir -p /data/yarn/log
三台虚拟机都需要创建目录
(注意,这个创建的目录一定要跟yarn-site.xml文件中设置的路径一致)
- 修改目录权限:
命令:[[email protected] yarn]# chown -R yarn:yarn /data/yarn
- 安装hadoop-mapreduce-historyserver.x86_64
命令:[[email protected] ~]# yum install -y hadoop-mapreduce-historyserver.x86_64
- 配置文件mapred-site.xml:
配置文件内容:
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
- 将文件发送给另外两个虚拟机的对应目录内:
命令:
[[email protected] conf]# scp yarn-site.xml mapred-site.xml hadoop2:/etc/hadoop/conf
[[email protected] conf]# scp yarn-site.xml mapred-site.xml hadoop3:/etc/hadoop/conf
- 重启hadoop3的服务:
重启前检查文件目录权限是否支持,不然会造成服务启动失败!!!
服务启动失败解决方法:
重启失败的话检查data权限跟yarn的权限:
查看data目录的权限,我们看到这里我们的data目录只有hdfs用户有操作权限,当我们重启服务时候会出错:
修改data为最大权限:
命令:[[email protected] /]# chmod 777 data/
查看data目录里的yarn目录的权限:
将yarn目录权限更改:
最后重启hadoop-yarn-nodemanager服务:
命令:hadoop1 init.d]# service hadoop-yarn-nodemanager restart
(对三个节点上做同样的检查)
- 最后浏览器查看节点正确:
登录浏览器,输入:http://hadoop3:8088
出现3个活跃的节点即可显示服务启动成功。
- 至此,hadoop集群配置完毕
三个节点的进程为:
Hadoop1进程:
Hadoop2进程:
Hadoop3进程:
浏览器查看集群信息是否正常:
浏览器输入:http://hadoop1:50070
浏览器输入:http://hadoop3:8088