Hadoop完全分布式部署

目录

Hadoop完全分布式

Hadoop完全分布式,集群,Hadoop的守护进程(NameNode,DataNode,SecondaryNameNode,JobTracker,TaskTracker)全部运行在集群里。

部署准备

jdk-8u231-linux-x64.tar.gz
hadoop-3.2.1.tar.gz

以下一共是4个节点,一个NameNode,三个DataNode。

192.168.200.88 weekeight (NameNode)
192.168.200.81 weekone (DataNode)
192.168.200.82 weektwo (DataNode)
192.168.200.83 weekthree (DataNode)

首先设置4个节点的hosts,在/etc/hosts文件里添加4个节点的IP地址与主机名
在这里插入图片描述
使用工具Xshell连接4台虚拟机,可以点开工具里的发送键输入到所有会话来同步四台机器的命令。
在这里插入图片描述

jdk配置

软件包都在opt目录里

在这里插入图片描述

ln -s jdk1.8.0_231 jdk   #感觉文件名字太长可以创建一个软链接容易记忆

在这里插入图片描述

vim /etc/profile                 #编辑系统配置文件
export JAVA_HOME=/opt/jdk        #在文件最后添加配置
export PATH=$PATH:$JAVA_HOME/bin 

网上好多都配置了classpath其实早在jdk1.5官方就已经说明不必配置classpath
在这里插入图片描述

source /etc/profile  #配置后需要执行一下才能生效,使用jps命令验证成功

ssh实现主从节点之间的免密登陆

ssh 127.0.0.1          #使用ssh连接本地让其产生一个/root/.ssh文件夹

关闭4台命令的同步,设置NameNode

ssh-keygen -t rsa  #使用此命令一直回车,密钥及公钥就存在/root/.ssh里

在这里插入图片描述

cd /root/.ssh			
cat id_rsa.pub >> authorized_keys    #授权密钥

在这里插入图片描述
使用scp命令将NameNode的密钥传递给其他三个节点

cd /root/.ssh
scp id_rsa.pub  weekone:`pwd`/weekeight.pub
scp id_rsa.pub  weektwo:`pwd`/weekeight.pub
scp id_rsa.pub  weekthree:`pwd`/weekeight.pub

同步one,two,three三台机器的命令(除去weekeight),将传递来的weekeight.pub追加到authorized_keys里

cd /root/.ssh
cat weekeight.pub >> authorized_keys

关闭同步命令,在weekeight上进行测试

ssh weekone   #ssh连接weekone无需密码
exit          #退出weekone
ssh weektwo
exit
ssh weektwo
exit

Hadoop环境变量

开启4台机器命令同步
cd opt
tar -zxvf hadoop-3.2.1.tar.gz		#同jdk配置一样,解压压缩包
ln -s hadoop-3.2.1 hadoop			#创建软链接
vim /etc/profile                    #配置环境变量
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME=/sbin
source /etc/profile					#执行文件,命令行输入hadoop验证配置成功

在这里插入图片描述

配置Hadoop相关文件

说明:此处配置可以参考官网的默认配置来配置
Hadoop配置文件全部在 /opt/hadoop/etc/hadoop
本文所出现的weekeight可换成自己的hostname
配置文件在/opt/hadoop/etc/hadoop下
相关文件配置时开启机器命令同步

首先配置DataNode启动文件workers

cd /opt/hadoop/etc/hadoop
vim workers                #Hadoop3.0以上的是workers,2.0可能是slaves
weekone
weektwo
weekthree

在这里插入图片描述

hadoop-env.sh
vim hadoop-env.sh			#在此文件再次配置Java的路径

在这里插入图片描述

core-site.xml

core-site.xml的全部默认配置项,可进行参考来配置
在文件的最后的configuration标签里添加一下配置
1.指定HDFS的的路径地址
2.hadoop的工作目录,存放hadoop进程的临时文件

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://weekeight:9000</value>
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/var/hadoop</value>
</property>

在这里插入图片描述

hdfssite.xml

hdfssite.xml的全部默认配置项,可进行参考来配置
1.指定副本数(默认为3)
2.指定namenode当前数据的目录(路径需为hadoop.tmp.dir配置的目录下)
3.指定datanode当前数据的目录(同上)
4.namenode将监听的地址和基本端口(3.0以后的端口都是9870,之前版本大多50070)

<property>
        <name>dfs.replication</name>
        <value>2</value>
</property>
<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/var/hadoop/dfs/name</value>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/var/hadoop/dfs/data</value>
</property>
<property>
        <name>dfs.namenode.http-address</name>
        <value>weekeight:9870</value>
</property>

在这里插入图片描述

mapred-site.xml

mapred-site.xml的全部默认配置项,可进行参考来配置
1.执行MapReduce时官方默认的为local(本地)

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

在这里插入图片描述

yarn-site.xml

yarn-site.xml的全部默认配置项,可进行参考来配置

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>

在这里插入图片描述

启动Hadoop

所有的配置都已经配置完了,我们剩下的步骤只剩格式化,启动,验证。
这里把命令同步关了,只操作weekeight一台机器。

格式化,出现图中字样格式化成功。

hdfs namenode -format			#格式化

在这里插入图片描述

start-dfs.sh      #启动,启动后使用jps验证

在这里插入图片描述
启动时出现错误,参考Hadoop单点安装FAQ
在这里插入图片描述
使用jps查看当前进程
在这里插入图片描述

也可以在网站上打开weekeight:9870(此处为自己设置的),查看自己的节点数对不对,如果发现0节点,查看datanode的日志显示datanode连接不上namenode,可能是你的防火墙没关。
在这里插入图片描述
在这里插入图片描述
到此处表示Hadoop完全分布式部署成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

week@eight

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值