当前位置:   article > 正文

Hadoop集群搭建教程(hadoop-3.1.3手把手教学)超详细!!!_hadoop313资料

hadoop313资料


前言

本文是基于hadoop-3.1.3搭建的集群,集群规模是5台机器,下面讲详细讲述每一步的操作流程,如果按照本文搭建过程中出现问题可以留言。

一、集群机器的准备

1、关闭防火墙

#查看防火墙状态
systemctl status firewalld 
#永久关闭防火墙
systemctl disbale firewalld
  • 1
  • 2
  • 3
  • 4

2、配置静态 IP

vim /etc/sysconfig/network-scripts/ifcfg-ens33
#加上以下内容
IPADDR="192.168.29.151"		#ip
NETMASK="255.255.255.0"		#子网掩码
GATEWAY="192.168.29.2"		#网关
DNS1="8.8.8.8"				#DNS1
DNS2="114.114.114.114"		#DNS2
#修改下面的配置
BOOTPROTO="static"			#将ip由动态改成静态
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3、主机名称

修改主机名并将ip和主机名建立映射关系

#查看主机名
hostname
#修改主机名
hostnamectl set-hostname cluster01 #我的主机名为cluster01
vim /etc/hosts #加上以下内容
192.168.29.151 cluster01	#第一台机器的ip和主机名
192.168.29.152 cluster02	#第二台机器的ip和主机名
192.168.29.153 cluster03	#第三台机器的ip和主机名
192.168.29.154 cluster04	#第四台机器的ip和主机名
192.168.29.155 cluster05	#第五台机器的ip和主机名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

以上操作5台机器都需要做,像我这里,其他四台机器只需要修改上述步骤的ip号和主机名即可,其他都是一样的操作

二、配置SSH无密登录

1、以192.168.29.151为例

cd ~ #进入根目录
cd .ssh 
ssh-keygen -t rsa #然后敲(三个回车),就会生成两个文件 id_rs(私钥)、id_rsa.pub(公钥)
#将公钥拷贝到要免密登录的目标机器上(其他机器需要启动,因为需要输入密码)
ssh-copy-id cluster02  
ssh-copy-id cluster03  
ssh-copy-id cluster04  
ssh-copy-id cluster05 
##注意:上面操作仅仅是cluster01无密登录到cluster02,cluster03,cluster04,cluster05上
##如果需要5台机器相互免密登录,还需要到其他四台上重复操作以上操作
##例如:进入cluster02机器上将cluster02的公钥拷贝到cluster01,cluster03,cluster04,cluster05
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2、安装配置jdk和hadoop

#将下载好的jdk安装包和hadoop安装包解压到指定文件夹中(文件夹根据需要自己建)
mkdir -p /opt/software
#解压
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/software
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/software
#修改解压文件默认名字(名字过于长,所以建议修改一下)
cd /opt/software/java 		    #我放jdk的目录
mv jdk-8u171-linux-x64/ jdk180	#将jdk改为jdk180
cd /opt/software				#我放hadoop的目录
mv  hadoop-3.1.3/ hadoop313		#将hadoop改为hadoop313
#配置环境变量
vim /etc/profile.d/myenv.sh
# jdk
export JAVA_HOME=/opt/software/java/jdk180	#自己的jdk路径
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# hadoop
export HADOOP_HOME=/opt/software/hadoop313	#自己的hadoop路径
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

保存退出,通过命令 source /etc/profile 激活
输入 java -version 如果实现jdk的版本信息就是激活成功了

3、文件复制

将jdk、hadoop、环境配置文件复制到其他四个机器上 ,四台机上必须创建所需的文件夹

scp   -r    $pdir/$fname            $user@$host:$pdir/$fname
命令 递归    要拷贝的文件路径/名称   目的地用户@主机:目的地路径/名称
#下面是我将jdk、环境变量配置文件、hadoop 拷贝到cluster02上,同样的方式复制到其他机器上 
#注:拷贝到其他机器的环境变量配置文件需要激活一下 source /etc/profile 再通过 java -version 来验证是否激活
scp -r /opt/software/java/ root@cluster02:/opt/software/
scp -r /etc/profile.d/myenv.sh root@cluster02:/etc/profile.d/
scp -r /opt/software/hadoop313/ root@cluster02:/opt/software/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

三、hadoop的集群配置

以上步骤配置完成,就需要进行集群配置了

1、集群的配置介绍

NameNode 和 SecondaryNameNode 不要安装在同一台服务器
ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在同一台机器上

cluster01cluster02cluster03cluster04cluster05
HDFSNameNodeSecondaryNameNode
DataNodeDataNodeDataNodeDataNodeDataNode
YARNResourceManager
NodeManagerNodeManagerNodeManagerNodeManagerNodeManager

2、4个xml文件的配置

1、core-site.xml

<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.29.151:8020</value>
</property>
<!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop313/data</value>
</property>
<!-- 配置 HDFS 网页登录使用的静态用户为 root -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2、hdfs-site.xml

<!-- nn web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>cluster01:9870</value>
</property>
<!-- 2nn web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>cluster03:9868</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3、yarn-site.xml

<!-- 指定 MR 走 shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>cluster02</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

4、mapred-site.xml

<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5

3、配置workers

配置workers,增加五个主机名
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行

vim /opt/software/hadoop313/etc/hadoop/workers
cluster01
cluster02
cluster03
cluster04
cluster05
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

将配置好的4个xml文件和workers文件覆盖到其他4个机器上去(同文件替换)

四、启动集群

1、NameNode初始化

#如果集群是第一次启动,需要在cluster01节点格式化 NameNode
[root@cluster01 hadoop313]# hdfs namenode -format

  • 1
  • 2
  • 3

2、启动 HDFS、YARN

#启动 HDFS
[root@cluster01 hadoop313]# sbin/start-dfs.sh
#在配置了 ResourceManager 的节点(cluster02)启动 YARN
[root@cluster02 hadoop313]# sbin/start-yarn.sh
  • 1
  • 2
  • 3
  • 4

3、验证是否成功启动

Web 端查看 HDFS 的 NameNode
浏览器中输入:http://192.168.29.151:9870
查看 HDFS 上存储的数据信息

Web 端查看 YARN 的 ResourceManager
浏览器中输入:http://192.168.29.152:8088
查看 YARN 上运行的 Job 信息

以上界面如果能正常打开,恭喜你!集群搭建成功了!

4、有可能的出错

报错信息:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
解决步骤:

#1、修改sshd_config文件
# vi /etc/ssh/sshd_config    //开启以下内容
HostKey /etc/ssh/ssh_host_rsa_key
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

#2、更改命令:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

总结

本文仅仅是搭建一个hadoop集群,简单的配置了部分信息,关于hadoop配置其实还是有很多细节需要配置,本文就不在累述,如果需要,会写入后面的文章。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/642343
推荐阅读
相关标签
  

闽ICP备14008679号