Hadoop集搭建教程(hadoop-3.1.3⼿把⼿教学)超详细
⽂章⽬录
前⾔
本⽂是基于hadoop-3.1.3搭建的集,集规模是5台机器,下⾯讲详细讲述每⼀步的操作流程,如果按照本⽂搭建过程中出现问题可以留⾔。
⼀、集机器的准备
1、关闭防⽕墙
#查看防⽕墙状态
systemctl status firewalld
#永久关闭防⽕墙
systemctl disbale firewalld
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由动态改成静态
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和主机名
以上操作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
hadoop安装详细步骤linuxssh-copy-id cluster05
##注意:上⾯操作仅仅是cluster01⽆密登录到cluster02,cluster03,cluster04,cluster05上
##如果需要5台机器相互免密登录,还需要到其他四台上重复操作以上操作
##例如:进⼊cluster02机器上将cluster02的公钥拷贝到cluster01,cluster03,cluster04,cluster05
2、安装配置jdk和hadoop
#将下载好的jdk安装包和hadoop安装包解压到指定⽂件夹中(⽂件夹根据需要⾃⼰建)
mkdir -p /opt/software
#解压
tar -zxvf -C /opt/software
tar -zxvf hadoop-3.1. -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
保存退出,通过命令 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/
三、hadoop的集配置
以上步骤配置完成,就需要进⾏集配置了
1、集的配置介绍
NameNode 和 SecondaryNameNode 不要安装在同⼀台服务器
ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在同⼀台机器上
cluster01cluster02cluster03cluster04cluster05 HDFS NameNode SecondaryNameNode
DataNode DataNode DataNode DataNode DataNode YARN ResourceManager
NodeManager NodeManager NodeManager NodeManager NodeManager 2、4个xml⽂件的配置
1、l
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.29.151:8020</value>
</property>
<!-- 指定 hadoop 数据的存储⽬录 -->
<property>
<name&p.dir</name>
<value>/opt/software/hadoop313/data</value>
</property>
<!-- 配置 HDFS ⽹页登录使⽤的静态⽤户为 root -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
2、l
<!-- 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>
3、l
<!-- 指定 MR ⾛ shuffle -->
<property>
<name&demanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
<name&sourcemanager.hostname</name>
<value>cluster02</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name&v-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YAR N_HOME,HADOOP_MAPRED_HOME</value>
</property>
4、l
<!-- 指定 MapReduce 程序运⾏在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3、配置workers
配置workers,增加五个主机名
注意:该⽂件中添加的内容结尾不允许有空格,⽂件中不允许有空⾏
vim /opt/software/hadoop313/etc/hadoop/workers
cluster01
cluster02
cluster03
cluster04
cluster05
将配置好的4个xml⽂件和workers⽂件覆盖到其他4个机器上去(同⽂件替换)
四、启动集
1、NameNode初始化
#如果集是第⼀次启动,需要在cluster01节点格式化 NameNode
# hdfs namenode -format
2、启动 HDFS、YARN
#启动 HDFS
# sbin/start-dfs.sh
#在配置了 ResourceManager 的节点(cluster02)启动 YARN
# sbin/start-yarn.sh
3、验证是否成功启动
以上界⾯如果能正常打开,恭喜你!集搭建成功了!
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
总结
本⽂仅仅是搭建⼀个hadoop集,简单的配置了部分信息,关于hadoop配置其实还是有很多细节需要配置,本⽂就不在累述,如果需要,会写⼊后⾯的⽂章。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。