ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Hadoop完全分布式的搭建

2021-10-31 20:01:48  阅读:195  来源: 互联网

标签:opt 文件 hadoop Hadoop master slave1 分布式 root 搭建


其实完全分布式跟伪分布式的搭建方式基本相同,只有个别文件需要更改,那我们下面开始吧!

第一步还是配置IP地址,主机名,以及主机与IP地址的映射,教程在我上一篇的伪分布式搭建里面都有,在这里就不再叙述啦。

注:Hadoop完全分布式分为主从两个节点,主节点有一个,我这里将主节点的主机名命名为master,从节点有两个,分别定义为:slave1,slave2

第二步还是关闭防火墙,(记得三台虚拟机都要关闭哦!配置IP地址,主机名,以及主机与IP地址的映射也是三个设备都要操作,PS:可以先配置一个,然后使用scp命令拷贝到另外两个设备上)

第三步:还是将Hadoop与jdk文件解压到指定文件夹下,都是跟伪分布式相同的操作哈。(在master设备上完成)

#解压到指定目录
tar -zxvf /root/hadoop-2.7.3.tar.gz -C /opt 
tar -zxvf /root/jdk1.8.0_144.tar.gz -C /opt
 
#查看
ll /opt

第四步:SSH免密链接(在master设备上完成!!!):

# 1、生成密钥对
ssh-keygen -t rsa
 
# 2、将公钥文件导出传递给本机,注意公钥文件的路径,操作是需要输入root用户的密码
ssh-copy-id -i /root/.ssh/id_rsa.pub master

# 3、将公钥文件导出传递给两个从节点,注意公钥文件的路径,操作是需要输入root用户的密码
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
 
# 4、检验,用ssh命令连接本机(无需密码)
ssh master

ssh slave1 
#进入slave1之后,需要先exit退出,再进行检验slave2
ssh slave2

第五步:修改环境变量文件并验证是否配置成功(文件在/etc/profile)(在主节点master上面完成):

# 在文件末尾处添加
export JAVA_HOME=/opt/jdk1.8.0_144 #配置jdk环境
export HADOOP_HOME=/opt/hadoop-2.6.0 #配置hadoop环境 PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
# 保存退出
 
 
#刷新文件
source /etc/profile
 
# 查看hadoop与java是否生效,出现版本号,说明配置成功(若未查到命令,需要再次检查/etc/profile文件哦!!!)
 
hadoop version 
java -version
 
 

第九步:(与分布式的区别)将/etc/profile文件复制到slave1和slave2节点并使能生效(记得复制过去后需要source一下profile文件哦!!!):

scp /etc/profile root@slave1:/etc/   #可能需要输入slave1的密码
scp /etc/profile root@slave2:/etc/

#记得复制过去后需要source一下profile文件哦!!!

第十步:修改hadoop相关配置文件:(相较与伪分布式多了一个文件)(以下操作均在master设备上完成!!!):

        (1)、core-site.xml文件:(在<configuration></configuration>标签中插入)

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>  #master:主机名
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-2.6.0/tmp</value> #/opt/hadoop-2.6.0:hadoop解压缩路径
</property>

        (2)、hadoop-env.sh 文件:

export JAVA_HOME=/opt/jdk1.8.0_144  #jdk解压缩路径
 

        (3)、hdfs-site.xml文件:(在<configuration></configuration>标签中插入)

	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/opt/hadoop-2.6.0/dfs/name</value>  #/opt/hadoop-2.6.0:hadoop解压路径
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/opt/hadoop-2.6.0/dfs/data</value>  #/opt/hadoop-2.6.0:hadoop解压路径
	</property>
	<property>
		<name>dfs.namenode.checkpoint.dir</name>
		<value>/opt/hadoop-2.6.0/dfs/namesecondary</value>  #/opt/hadoop-2.6.0:hadoop解压路径
	</property>
	
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>master:50090</value> #master:主机名
	</property>
	 <property>
                <name>dfs.replication</name>
                <value>1</value> #因为是主从分布结构的,所以这里写1
     </property>

        (4)、mapred-site.xml 文件(mapred-site.xml 文件默认不不存在,先从模板复制出来)(在<configuration></configuration>标签中插入):

# 复制并改名
cp mapred-site.xml.template mapred-site.xml
 
#配置信息
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
 
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value> #master:主机名
</property>
 
 
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value> #master:主机名
</property>

        (5)、yarn-site.xml 文件:设置 yarn 资源管理器的主机名,设置 yarn 节点管理器辅助功能(在<configuration></configuration>标签中插入):

<property>
     <name>yarn.resourcemanager.hostname</name>
     <value>master</value> #master:主机名
</property>
<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>

        (6)、slaves文件:(与伪分布式不同的地方)

#在slaves文件中加入两个从节点的主机名即可
slave1
slave2

第十一步:将文件复制到slave1和slave2节点上:

scp -r /opt/hadoop-2.6.0 root@slave1:/opt/  #/opt/:为Hadoop的解压路径

scp -r /opt/hadoop-2.6.0 root@slave2:/opt/

scp -r /opt/jdk1.8.0_144 root@slave1:/opt/  #/opt/:为jdk的解压路径

scp -r /opt/jdk1.8.0_144 root@slave1:/opt/

第十二步:格式化:(注:格式化操作不能重复执行,如需重复执行,须将/opt/hadoop/dfs 目录下 的内容清空再执行格式化)

hadoop namenode -format

第十三步:启动hadoop,查看进程:

         主节点:

# 启动hadoop
start-all.sh
 
#jps查看进程:
jps
 
#有以下进程说明搭建hadoop成功

1875 SecondaryNameNode
2724 Jps
2167 ResourceManager
1544 NameNode
#(进程号可以不同,但进程不能说少)

        slave1:

#(进程号可以不同,但进程不能说少)
1908 Jps
1763 NodeManager
1669 DataNode

        slave2:

#(进程号可以不同,但进程不能说少)
1888 Jps
1737 NodeManager
1623 DataNode

标签:opt,文件,hadoop,Hadoop,master,slave1,分布式,root,搭建
来源: https://blog.csdn.net/m0_56929473/article/details/121067485

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有