当前位置:   article > 正文

hadoop-完全分布式搭建_hadoop完全分布式

hadoop完全分布式

此处一共设置三台服务器用于hadoop完全分布式搭建
设置为:
192.168.31.112 hadoop01
192.168.31.227 hadoop02
192.168.31.180 hadoop03

以192.168.31.112作为namenode为例
同伪分布式搭建步骤基本类似,多出一个时间同步

A.工作环境准备(三台主机都修改)

工具:
JDK:从oracle官网下载
Hadoop:Apache Hadoop官网下载

1.配置IP地址
一般情况下在安装虚拟机的时候会打开网络自动分配IP
如果地址变更了,需要更改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33

2.修改hostname主机名
几种方法:

1)使用命令
hostnamectl set-hostname hadoop01
重启后,可以通过/etc/hostname 查看修改结果

2)修改配置文件
/etc/hostname
直接写入hadoop01

3)修改配置文件(centos7可能不生效)
/etc/sysconfig/network

HOSTNAME=hadoop01
  • 1

重新启动主机,使主机名修改生效
重启命令:reboot、init 6

3.主机映射
/etc/hosts

192.168.31.112  hadoop01
192.168.31.227  hadoop02
192.168.31.180  hadoop03
  • 1
  • 2
  • 3

将hadoop01的hosts修改文件发送到其余两台主机

scp /etc/hosts hadoop02:/etc/
scp /etc/hosts hadoop03:/etc/
  • 1
  • 2

4.关闭防火墙和selinux

开机禁用 : systemctl disable firewalld
关闭服务:systemctl stop firewalld.service

禁用selinux
/etc/selinux/config

SELINUX=disabled
  • 1

5.修改启动级别为3,多用户级别
命令修改:

systemctl set-default multi-user.target
  • 1

配置文件修改(centos7不支持):
/etc/inittab

6.新建普通用户hadoop.并添加sudo权限
useradd hadoop #新建用户
passwd hadoop #修改密码

sudo权限 /etc/sudoers

#Allow root to run any commands anywhere 
root        ALL=(ALL) 	    ALL
hadoop	    ALL=(ALL)       ALL #新添加hadoop
  • 1
  • 2
  • 3

7.配置免密登录
三台主机都生成免登陆秘钥,实现相互免登

ssh-keygen #生成秘钥
ssh-copy-id hadoop01 #将公钥发送给主机名为hadoop01的服务器
ssh-copy-id hadoop02 #将公钥发送给主机名为hadoop02的服务器
ssh-copy-id hadoop03 #将公钥发送给主机名为hadoop03的服务器
  • 1
  • 2
  • 3
  • 4

8.配置JDK
如果系统自带JDK的rpm,则卸载系统的

rpm -qa|grep jdk #查找
rpm -e 包名 --nodeps #卸载
  • 1
  • 2

存放位置:/opt/jdk1.8.0_281/
配置JDK环境变量:/etc/profile

export JAVA_HOME=/opt/jdk1.8.0_281
export PATH=$PATH:$JAVA_HOME/bin
  • 1
  • 2

#配置生效
source /etc/profile

9.时间同步
1)同步某一权威时间

yum install ntpdate
ntpdate time.ntp.org #同步一个统一的时间(阿里的都可以)

  • 1
  • 2
  • 3

2)统一设置时间

date -s "20140225 20:16:00"
  • 1

B.修改hadoop配置文件(只修改hadoop01,scp远程复制到其他主机)
主机节点分布:
在这里插入图片描述
1.配置hadoop环境变量
/etc/profile

export HADOOP_HOME=/home/hadoop/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 1
  • 2

#配置生效
source /etc/profile

环境变量远程同步复制到从节点

scp /etc/profilehadoop02:/etc/
scp /etc/profilehadoop03:/etc/
  • 1
  • 2

2.修改配置文件:
位置:安装目录(/home/hadoop/hadoop-3.3.0/etc/hadoop):
hadoop-env.sh修改JAVA_HOME

# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/opt/jdk1.8.0_281

  • 1
  • 2
  • 3
  • 4

core-site.xml在configuration添加如下配置
此处需要设置hdfs主节点

<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hadoop01:9000</value>
</property>
<property>
	<name>hadoop.tmp.dir</name>
	<value>/home/hadoop/data/hadoopdata/tmp</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

hdfs-site.xml中configuration添加配置
设置副本数量、namenode数据存储目录、datanode数据存储目录、secondary访问地址(即指定secondarynamenode)

<property>
	<name>dfs.replication</name>
	<value>2</value>
</property>
<property>
	<name>dfs.namenode.name.dir</name>
	<value>/home/hadoop/data/hadoopdata/namenode</value>
</property>
<property>
	<name>dfs.datanode.data.dir</name>
	<value>/home/hadoop/data/hadoopdata/datanode</value>
</property>
<property>
	<name>dfs.namenode.secondary.http-address</name>#此处与之前版本写法不一样
	<value>hadoop02:50090</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

yarn-site.xml中configuration添加配置
指定hadoop03为resourcemanager主节点

<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoop03</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

mapred-site.xml中configuration添加配置

<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
  • 1
  • 2
  • 3
  • 4

workers添加从节点

[hadoop@hadoop02 hadoop]$ cat workers 
hadoop01
hadoop02
hadoop03
  • 1
  • 2
  • 3
  • 4

(最新版本中没有slaves文件)

3.namenode格式化
执行命令:

hdfs namenode -format #新版本格式化命令
hadoop namenode -format #历史版本格式化命令
  • 1
  • 2

启动的命令:
/sbin:

start-dfs.sh
start-yarn.sh
  • 1
  • 2

不建议使用这种:

start-all.sh
stop-all.sh
  • 1
  • 2

4.验证
jps命令查看启动进程
此处要与之前计划的主机节点一致

[hadoop@hadoop01 sbin]$ jps
2450 Jps
1795 DataNode
2246 ResourceManager
1959 SecondaryNameNode
1691 NameNode
2350 NodeManager

hadoop@hadoop02 hadoop]$ jps
19169 Jps
18754 DataNode
18834 SecondaryNameNode
18957 NodeManager

[hadoop@hadoop03 sbin]$ jps
19730 NodeManager
19428 DataNode
19604 ResourceManager
20088 Jps
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

hdfs相关进程:NameNode、SecondaryNameNode、DataNode
yarn:相关进程ResourceManager、NodeManager

登录网址验证:
本地主机最好配置hosts,不用麻烦输入ip

192.168.31.112  hadoop01
192.168.31.227  hadoop02
192.168.31.180  hadoop03
  • 1
  • 2
  • 3

yarn
ResourceManager :http://hadoop03:8088/
hdfs
NameNode - http://hadoop01:9870/

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

闽ICP备14008679号