标签:添加 cond version etc 使用 0.12 script with sla
环境:CentOS7 64位 2台hadoop 下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/ 选则3.1.0版本
在安装之前需要先实现节点之间的免密码登陆
1)去掉 /etc/ssh/sshd_config中的两行注释,如没有则添加,所有服务器都要设置的:
#RSAAuthentication yes
#PubkeyAuthentication yes
2)、生成秘钥:# ssh-keygen -t rsa
备注:输入命令后回车4次
3)、复制到公共密钥中:
4)、将秘钥复制到目标服务器:
5)、测试:(没有报错,并没有提示输入目标服务器用户密码,用户切换到目标服务器用户名则成功)
6)# ssh 目标服务器IP
备注:配置好了master到slave1免密登录,同时需要配置slave1到master的免密登录,在slave1上操作,过程同上,同时记得在/etc/hosts中加上master、slave1的域名解析
1.下载hadoop,解压tar.gz文件
#cd /usr
#mkdir hadoop
#cd hadoop
#wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.1.0.tar.gz
#tar -zxvf hadoop-3.1.0.tar.gz
解压后,出现hadoop-3.1.0工作目录,既可以使用。
#cd /usr/hadoop/hadoop-3.1.0
#mkdir tmp
#./bin/hadoop -version //检验是否可以使用
2.设置环境变量,全局(/etc/profile)
#vim /etc/profile
设置HADOOP_HOME,并加到PATH路径下
HADOOP_HOME=/usr/hadoop/hadoop-3.1.0
PATH=$PATH:$HADOOP_HOME/bin
#source /etc/profile
3.配置hadoop
#hadoop主要的六个文件,路径hadoop-3.1.0/etc/hadoop/下
hadoop-env.sh //
yarn-env.sh //
core-site.xml //
hdfs-site.xml //
mapred-site.xml //
yarn-site.xml //
a.hadoop-env.sh配置
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.171-0.b13.el7_3.x86_64
b.yarn-env.sh配置
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.171-0.b13.el7_3.x86_64
c.core-site.xml配置
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>
d.配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
</configuration>
e.配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</nam
<value>yarn</value>
</property>
</configuration>
f.配置yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4.将/usr/hadoop复制到其他服务器:
#scp -r /usr/hadoop root@目标ip:/usr/hadoop
5.格式化namenode:
#CD /usr/hadoop/hadoop-3.1.0
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错;备注:只需格式化namenode,datanode不需要格式化(若格式化了,可将/usr/hadoop/tmp目录下文件都删除),所以先将安装文件夹复制到其他服务器,再格式化
6.启动hadoop
#cd /usr/hadoop/hadoop-3.1.0
#sbin/start-dfs.sh
7.启动ResourceManager和NodeManager
#cd /usr/hadoop/hadoop-3.1.0
#sbin/start-yarn.sh
8.检查启动结果
#jps
总结:
a.免密码登陆,可以把所有口令一起追加进入一个文件具体操作可看这个文章:
b.启动时可以直接把所有都启动,命令如下:
#cd /usr/hadoop/hadoop-3.1.0
#sbin/start-all.sh
c.#sbin/start-dfs.sh执行脚本报错,如下:
ERROR: Attempting to launch hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.
Starting datanodes
ERROR: Attempting to launch hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch.
Starting secondary namenodes [localhost.localdomain]
ERROR: Attempting to launch hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.
解决方法:
在start-dfs.sh 、stop-dfs.sh加如下配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
添加后可能还是会报如下警告:
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER.
解决办法:替换上述的解决方法
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
d.#sbin/start-yarn.sh执行脚本报错,如下:
Starting resourcemanager
ERROR: Attempting to launch yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.
解决办法:start-yarn.sh、stop-yarn.sh添加如下配置
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
本文是查看了网络博客与官方文档,结合自己操作所记录的所有过程,如果有不对或者错误,请留言指正,如有侵权,请联系本人删除。
参考博客:https://www.linuxidc.com/Linux/2018-02/150812.htm
标签:添加 cond version etc 使用 0.12 script with sla
原文地址:http://blog.51cto.com/4837471/2140674