0


安装JAVA环境和Hadoop3.1.3完全分布式

配置免密登录:

修改主机名称:hostnamectl set-hostname master(slave1或slave2)

查看主机名称:cat /etc/hostname

切换用户:su root

查看ip:ip addr

在master添加三台虚拟机ip地址:vi/etc/hosts

三台虚拟机都生成密钥:ssh-keygen -t rsa(一路回车)

master传输密钥:ssh-copy-id master(slave1和slave2)

slave1传输密钥:ssh-copy-id master(slave1和slave2)

slave2传输密钥:ssh-copy-id master(slave1和slave2)

然后:ssh master(slave1或slave2)登录即成功

logout退出登录

安装jdk配置JAVA环境:

卸载自带Open JDK:rpm -qa | grep java

删除相关文件:rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.e17.x86_d4(删除所有中间带openjdk的)

当前目录解压:tar -zxvf jdk-8u231-linux-x64.tar(1).gz

或者路径解压:tar -zxvf jdk-8u231-linux-x64.tar(1).gz -C /home/user/Downloads/

重命名:mv jdk1.8.0_231 jdk

添加环境变量:vi /etc/profile

在文件末尾添加:

export JAVA_HOME=/home/user/Downloads/jdk(更改为实际路径)
export PATH=$PATH:$JAVA_HOME/bin

使环境变量生效:source /etc/profile

查看Java是否可用:echo $JAVA_HOME

安装成功版本测试:Java -version

传输文件:scp -r jdk root@slave1:/home/user/Downloads/

              scp -r jdk root@slave2:/home/user/Downloads/

传输环境配置:scp /etc/profile root@slave1:/etc/

                     scp /etc/profile root@slave2:/etc/

在被传输的两台虚拟机上生效并测试:source /etc/profile Java -version

配置hadoop完全式分布:

解压:tar -zxvf hadoop-3.1.3.tar.gz

重命名:mv hadoop-3.1.3 hadoop

配置环境变量:vi /etc/profile

在文件末尾添加:

export HADOOP_HOME=/home/user/Downloads/hadoop(实际路径)
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

在HADOOP_HOME下的etc的hadoop修改配置文件:vi core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/home/user/Downloads/hadoop/tmp</value> </property>
<property>
     <name>fs.defaultFS</name>
     <value>hdfs://localhost:9000</value>
 </property>
</configuration>
配置hdfs-site.xml:
<configuration>
<property>
     <name>dfs.replication</name>
     <value>3</value>
 </property>

<property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/home/user/Downloads/hadoop/tmp/dfs/name</value>
 </property>

<property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/home/user/Downloads/hadoop/tmp/dfs/data</value>
 </property>
</configuration>
配置文件mapred-site.xml:
<configuration>
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
 </property>

<property>
     <name>mapreduce.jobhistory.address</name>
     <value>master:10020</value>
 </property>

<property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>master:19888</value>
 </property>
</configuration>
配置文件yarn-site.xml:
<configuration>
<property>
     <name>yarn.resourcemanager.hostname</name>
     <value>master</value>
 </property>

<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
 </property>
</configuration>
配置文件hadoop-env.sh:

export JAVA_HOME=/home/user/Downloads/jdk
export HADOOP_CONF_DIR=/home/user/Downloads/hadoop/etc/hadoop
接着添加

export HDFS_DATANODE_USER=root

export HDFS_DATANODE_SECURE_USER=root

export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

配置文件workers:

#localhost
master
slave1
slave2
(一共6个配置文件)

在hadoop_home下创建文件夹:

mkdir tmp

mkdir tmp/dfs

mkdir tmp/dfs/name

mkdir tmp/dfs/data

mkdir tmp/dfs/namesecondary

添加tmp权限:chmod -R 777 tmp

把tmp文件传到slave1和slave2里面:

scp -r tmp root@slave1:/home/user/Downloads/hadoop/

将配置文件传到slave1和slave2里面

scp -r /home/user/Downloads/hadoop/etc/hadoop root@slave1:/home/user/Downloads/hadoop/etc/

scp -r /home/user/Downloads/hadoop/etc/hadoop root@slave2:/home/user/Downloads/hadoop/etc/

在master主机格式化:hdfs namenode -format

启动hadoop集群:star-all.sh

查看:jps

补(报错):

@1:

出现以下报错时:

通过以下方式解决:

unset HADOOP_HDFS_HOME命令用于删除环境变量中设置的HADOOP_HDFS_HOME。

env:查看所有环境变量(前面加了expect都是环境变量)

@2

出现以下报错时:

在hadoop-env.sh中添加

export HDFS_DATANODE_USER=root
export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

@3

当启动集群之后datanode不出现而logs(日志)显示为privileged-root-datanode-master.out

说明datanode被隐藏了,权限有问题

hadoop-env.sh中的export HDFS_DATANODE_SECURE_USER=root这行删除或注释

关闭集群,删除缓冲,重新格式化+开启集群

标签: 分布式

本文转载自: https://blog.csdn.net/2402_85053390/article/details/142633286
版权归原作者 亐㔓&遇见 所有, 如有侵权,请联系我们删除。

“安装JAVA环境和Hadoop3.1.3完全分布式”的评论:

还没有评论