Hadoop 3.1.3分布式安装教程

10.0.0.11 dockerapache-01
10.0.0.12 dockerapache-02 #管理节点
10.0.0.13 dockerapache-03
Hadoop 3.1.3分布式安装教程_第1张图片

1 集群机器配置hostname

vim /etc/hosts

这里根据自己的情况配置,配置完成后,互相ping一下host名确认是不是配置成功

ping DockerApache-02

2 java jdk配置

下载好jdk的包以后,上传至服务器 /usr/local , 解压

tar -xvzf jdk-8u231-linux-x64.tar.gz

然后配置环境变量

推荐配置

vim /etc/profile.d/jdk1.8.sh

export JAVA_HOME=/usr/local/jdk1.8.0_161/
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

或者:

vim /etc/profile
#JAVA
export JAVA_HOME=/usr/local/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar



3 配置节点免密

对于管理节点执行以下操作

ssh-keygen -t rsa		#回车即可,用于生成秘钥
scp ~/.ssh/id_rsa.pub root@10.0.0.12:///$PWD		#拷贝至其他节点,此处IP为其他任一节点IP

然后登陆刚才配置免密登陆的节点10.0.0.12,执行以下操作

cd ~/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys

依次把管理节点到其他节点的免密配置完。
再配置第二个节点到其他节点的免密登陆,第三个,等等。

4. 下载hadoop安装包

https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

下载好后上传至服务器 /usr/local下解压

tar -xvzf hadoop-3.1.3.tar.gz

5 配置hadoop环境变量

vim /etc/profile.d/hadoop.sh

或者

vim /etc/profile

新增以下内容

#hadoop
export HADOOP_HOME=/usr/local/hadoop-3.1.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

最后需要

source /etc/profile

还可以检验一下

hadoop version

Hadoop 3.1.3分布式安装教程_第2张图片

6.配置参数

配置文件目录 (在目录/usr/local/hadoop-3.1.3/etc/hadoop 下)
hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
workers

6.1 配置hadoop-env.sh

vim /usr/local/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
#JAVA
export JAVA_HHOME=/usr/local/jdk1.8.0_161

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

6.2 配置core-site.xml
主要配置hadoop公共属性

vim /usr/local/hadoop-3.1.3/etc/hadoop/core-site.xml

  
     fs.defaultFS</name>
     hdfs://DockerApache-02:9000</value>
  </property>
  
     hadoop.tmp.dir</name>
     /opt/hadoop_tmp</value>
  </property>

</configuration>

fs.defaultFs 指NameNode所在节点,value这里配置第一个节点;端口默认;
hadoop.tmp.dir 指配置元数据存放的位置。value这里配置/opt/hadoop_tmp,需要自己创建对应文件夹。 后续如果查看fsiamge和edits文件,可以在这个目录下找。

5.2 配置hdfs-site.xml

vim /usr/local/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

   
      dfs.replication</name>
      3</value>
   </property>
   
       dfs.namenode.http-address</name>
       dockerapache-02:50070</value>
    </property>
    
        dfs.namenode.secondary.http-address</name>
        dockerapache-03:50090</value>
    </property>
</configuration>

6.3 配置mapred-site.xml

vim /usr/local/hadoop-3.1.3/etc/hadoop/mapred-site.xml

   
     mapreduce.framework.name</name>
     yarn</value>
   </property>
</configuration>

6.4 配置 yarn-site.xml

vim /usr/local/hadoop-3.1.3/etc/hadoop/yarn-site.xml


<!-- Site specific YARN configuration properties -->
  
       yarn.nodemanager.aux-services</name>
       mapreduce_shuffle</value>
   </property>
       
       yarn.resourcemanager.hostname</name>
   DockerApache-01</value>
</property>
</configuration>

6.5 workers

vim /usr/local/hadoop-3.1.3/etc/hadoop/workers

删掉里面原有的localhost,改为集群节点

10.28.3.11 dockerapache-01
10.28.3.12 dockerapache-02
10.28.3.13 dockerapache-03

7 远程拷贝

scp -r /usr/local/hadoop-3.1.3/ root@dockerapache-02:/usr/local/
scp /etc/profile.d/hadoop.sh root@dockerapache-02:/etc/profile.d

scp -r /usr/local/hadoop-3.1.3/ root@dockerapache-03:/usr/local/

之后再远程各个节点上执行一下以下命令,让环境变量生效

source /etc/profile

8 格式化
在管理节点上操作

hdfs namenode -format

Hadoop 3.1.3分布式安装教程_第3张图片
目前按照上述配置执行,格式化namenode成功,如果失败,请根据报错信息排查,然后重新格式化namenode。

报错

问题1:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

是免密那里步骤有问题,或者说是ssh那里配置有问题了,百度有多种解决方式。本次解决问题的key在于

UsePam yes

问题2:
namenode报端口占用,起不来,如
org.apache.hadoop.http.HttpServer2: HttpServer.start() threw a non Bind IOException
java.net.BindException: Port in use: 0.0.0.0:50070

查其他博客,是端口50070被占用导致namenode起不来,通过命令 lsof -i:50070 查看进程id,kill掉该进程然后重启hadoop即可。
本次部署过程中,使用上述办法查看端口并没有程序占用。最后是重新格式化了一下namenode解决。

你可能感兴趣的:(Hadoop 3.1.3分布式安装教程)