赞
踩
hostnamectl set-hostname hadoop-01 #命名会立即生效且重启也生效
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt
cd /opt
mv jdk1.8.0_221/ java8
配置环境变量,jdk相关安装步骤见:https://blog.csdn.net/and52696686/article/details/106822788
②:解压hadoop安装包至opt目录并重命名为hadoop2.6.0
tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt
cd /opt
mv hadoop-2.6.0-cdh5.14.2/ hadoop2.6.0
cd
ssh-keygen -t rsa -P ""
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
cd hadoop2.6.0/etc/hadoop
ll
配置下图中个6文件:
①:vi hadoop-env.sh
修改下图中JAVA_HOME环境变量路径:
将红框位置JAVA_HOME修改为本机安装jdk的路径
②:vi core-site.xml
插入以下代码:
<property> <name>fs.defaultFS</name> <value>hdfs://192.168.56.131:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop2.6.0/tmp</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
修改后如下图:
③:vi hdfs-site.xml
插入以下代码:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop-01:50090</value>
</property>
修改后如下图:
④:将 mapred-site.xml.template 重命名为 mapred-site.xml,并进行编辑,
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
插入以下代码:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>HostName:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>HostName:19888</value>
</property>
修改后如下图:
⑤:vi yarn-site.xml
插入以下代码:
<!-- reducer获取数据方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>HostName</value> </property> <!-- 日志聚集功能使用 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
修改后如下图:
⑥:vi slaves
将内容修改为本机主机名
vi /etc/profile
在末行插入以下代码:
export HADOOP_HOME=/opt/hadoop2.6.0
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
如下图:
使之立即生效:source /etc/profile
hadoop namenode -format
若显示信息都为INFO级别无报错信息,则格式化执行成功,如下图:
注:若之前已格式化过需要删除hadoop2.6.0目录下tmp文件夹
rm -rf tmp
start-all.sh
stop-all.sh
start-dfs.sh
stop-dfs.sh
start-yarn.sh
stop-yarn.sh
mr-jobhistory-daemon.sh start historyserver
mr-jobhistory-daemon.sh stop historyserver
start-all.sh
mr-jobhistory-daemon.sh start historyserver
输入:jps
出现以下进程信息说明启动成功
②:.输入:http://192.168.56.131:8088 若能出现如下页面说明yarn启动成功
③:.输入:http://192.168.56.131:19888: 若能出现如下页面说明历史服务启动成功
start-all.sh
时会提示警告信息:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
如下图所示:
解决方法:
将 hadoop-native-64-2.6.0.tar 安装包解压安装到hadoop2.6.0安装目录的lib目录和lib目录下的native目录即可(解压安装两次)
执行以下代码:
cd /software
tar -xvf hadoop-native-64-2.6.0.tar -C /opt/hadoop2.6.0/lib
tar -xvf hadoop-native-64-2.6.0.tar -C /opt/hadoop2.6.0/lib/native/
cd /opt/hadoop2.6.0/
start-all.sh
解压安装后再启动hadoop并无报错警告,如下图:
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
systemctl restart network
hostnamectl set-hostname hadoop-02
reboot
vi /etc/hosts
添加另外两台虚拟机的ip地址,主机名,如下图:
另外两台虚拟机都需要分别进行上述操作
cd /root/.ssh
rm -rf id_rsa
cd
②:生成私钥,需连按两次回车键:
ssh-keygen -t rsa -P ""
如下图:
③:复制私钥到公钥:
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
④:.配置与其他虚拟机的远程免密登录:(本机除外,集群其他节点都需要分别添加一次)
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@hadoop-02
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@hadoop-03
会提示是否要添加(yes/no),输入yes
再输入相应虚拟机的密码,
会提示密钥添加1,Number of key(s) added: 1
如下图所示:
至此主机hadoop-01远程免密登录配置完成,对于虚拟机hadoop-02、hadoop-03需分别进行上述操作
注:若root@虚拟名报错,提示找不到名称,可以试试roo@ip地址
⑤:测试连接,虚拟机相互切换,若虚拟机间切换不需要输入密码直接可以切换,说明配置成功:
切换虚拟机代码:
ssh -p 22 root@hadoop-02
ssh -p 22 root@hadoop-01
ssh -p 22 root@hadoop-03
ssh -p 22 root@hadoop-01
ssh -p 22 root@hadoop-03
ssh -p 22 root@hadoop-02
ssh -p 22 root@hadoop-03
ssh -p 22 root@hadoop-01
如下图所示:
cd /opt/hadoop2.6.0/etc/hadoop
②:修改hdfs配置文件,将dfs.replication属性的值改为集群的机器数目;
将dfs.namenode.secondary.http-address属性的值改为一个子节点的主机名:
vi hdfs-site.xml
③:修改slaves文件,添加所有节点的主机名:
vi slaves
如下图:
④:分别远程发送文件hdfs-site.xml、slaves至子节点hadoop-02、hadoop-03(由于其他虚拟机已存在该文件,也会起覆盖效果)
scp hdfs-site.xml root@hadoop-02:/opt/hadoop2.6.0/etc/hadoop/hdfs-site.xml
hdfs-site.xml
scp hdfs-site.xml root@hadoop-03:/opt/hadoop2.6.0/etc/hadoop/hdfs-site.xml
hdfs-site.xml
scp slaves root@hadoop-02:/opt/hadoop2.6.0/etc/hadoop/slaves
slaves
scp slaves root@hadoop-03:/opt/hadoop2.6.0/etc/hadoop/slaves
slaves
如下图所示:
2)以hadoop-02为操作对象
①:进入hadoop安装目录下的etc目录下的hadoop目录:
cd /opt/hadoop2.6.0/etc/hadoop
②:编辑mapred-site.xml文件,将下图中红框位置主机名更改为本机主机名
vi mapred-site.xml
对于虚拟机hadoop-03需重复上述操作
cd /opt/hadoop2.6.0/
rm -rf tmp
hadoop namenode -format
虚拟机haoop-02、hadoop-03需重复上述操作
start-all.sh
jps
出现以下进程信息说明主机配置成功
②:对于hadoop-02,不需要启动,直接输入jps
出现以下进程信息说明子节点配置成功
SecondaryNameNode为备份节点
③:对于hadoop-03,不需要启动,直接输入jps
出现以下进程信息说明子节点配置成功
④:进行上文网页测试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。