Hadoop全分布式集群搭建详细步骤

本文详细介绍了Hadoop集群的搭建过程,包括虚拟机配置、防火墙设置、JDK与Hadoop安装、环境变量配置、Hadoop配置文件修改、免密登录设置及集群启动验证等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集群搭建的步骤有很多,并不是一成不变的标准顺序,我写的只是仅供大家的一个参考,希望能帮到大家,如果有不对的地方也希望大家留言指教。

首先要创建一个虚拟机然后将虚拟机打开

1.修改虚拟机IP地址和配置NAT模式,根据下面的命令和图片中红色框内容进行设置
IPADDR是本台虚拟机的IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
在这里插入图片描述
2.修改本机的IPV4
打开网络右键打开属性
在这里插入图片描述
点击更改适配器设置
在这里插入图片描述
双击打开IPv4进行设置
在这里插入图片描述
按照下图进行设置,设置完毕确认即可
在这里插入图片描述
点击你的虚拟机右键打开设置
在这里插入图片描述
点击网络适配器点击高级
在这里插入图片描述

将vi /etc/sysconfig/network-scripts/ifcfg-eth0 中的HWADDR改为下面的mac地址
在这里插入图片描述

3.连接Xshell
4.查看防火墙状态
service iptables status
在这里插入图片描述
发现有防火墙开启,然后需要将防火墙关闭
service iptables stop
在这里插入图片描述
然后再查看一下防火墙状态
在这里插入图片描述
在通过 chkconfig iptables off 命令将防火墙永久关闭
5.然后进入home目录
cd /home
再home目录下创建一个soft文件夹
mkdir soft
在进入soft目录
cd soft/
再soft目录下创建两个文件夹用于存放jdk和hadoop
mkdir JDK mkdir hadoop
6.连接winSCP将hadoop和jdk安装包传入新建的JDK和hadoop文件夹内
7.查看已安装的jdk
rpm -qa | grep jdk
在这里插入图片描述
将已安装的jdk卸载了
rpm -e --nodeps jdk版本号
在这里插入图片描述
8.解压jdk
进入 cd /home/soft/JDK jdk的压缩包存放目录
在这里插入图片描述
通过 tar -zvxf jdk-8u191-linux-x64.tar.gz 解压jdk
解压完毕后与通过ll查看 蓝色字体的 jdk1.8.0_191就是jdk解压后的目录
在这里插入图片描述
通过 mv jdk1.8.0_191/ jdk 将解压包名称修改为jdk 方便后边写路径
在这里插入图片描述
9.配置环境变量 ,在最下面配置环境变量,如果安装路径与我的不同记得修改记得修改环境变量的JAVA_HOME路径
vi /etc/profile

export JAVA_HOME=/home/soft/JDK/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述
写入后, 刷新profile使环境变量生效
source /etc/profile
查看jdk版本是否安装成功
java -version

10.然后进入hadoop压缩包存放地址解压hadoop
tar -zvxf hadoop-2.8.5.tar.gz
在这里插入图片描述
配置hadoop环境变量

export HADOOP_HOME=/home/soft/hadoop/hadoop-2.8.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在这里插入图片描述
再刷新profile使环境变量生效
source /etc/profile
11.接下来需要修改hadoop的配置文件,需要进入hadoop配置文件的存放地址
在这里插入图片描述
修改hadoop-env.sh
vi hadoop-env.sh
在这里插入图片描述
配置配置core-site.xml
vi core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/soft/tmp</value>
</property>
</configuration>

在这里插入图片描述

配置hdfs-site.xml
vi hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/soft/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/soft/data</value>
</property>
<property>
        <name>fs.checkpoint.dir</name>
        <value>file:///home/soft/cname</value>
</property>
<property>
        <name>fs.checkpoint.edits.dir</name>
        <value>file:///home/soft/cname</value>
</property>
<property>
   <name>dfs.http.address</name>
   <value>hadoop1:50070</value>
</property>
<property>
   <name>dfs.secondary.http.address</name>
   <value>hadoop2:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

在这里插入图片描述
在这里插入图片描述

配置yarn-site.xml
vi yarn-site.xml

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop1:8088</value>
</property>
</configuration>

在这里插入图片描述

配置slaves
三个虚拟机的主机名
在这里插入图片描述

创建一个名为mapred-site.xml的文件
touch mapred-site.xml
将mapred-site.xml.template的内容写入mapred-site.xml文件内
cat mapred-site.xml.template >> mapred-site.xml
然后再配置mapred-site.xml
vi mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
</configuration>


在这里插入图片描述

克隆两台虚拟机
先将虚拟机关闭,右键虚拟机管理里面的克隆虚拟机
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打开克隆后的hadoop2虚拟机在这里插入图片描述
删除 Auto eth1
在这里插入图片描述
修改ip地址和HWADDR vi /etc/sysconfig/network-scripts/ifcfg-eth0
在这里插入图片描述
修改主机名 vi /etc/sysconfig/network 修改完后需要重启虚拟机
在这里插入图片描述

然后打开第三台hadoop3虚拟机进行以上和hadoop2一样的操作

接下来对三台主机都进行主机映射配置
vi /etc/hosts

在这里插入图片描述

然后就是最后一步设置免密登陆就完成了
连接上三台虚拟机的XShell

  1. 首先进入root底下的.ssh目录
    cd /root/.ssh cd /root/.ssh
  2. 然后生成一个密钥(需要在三台虚拟机中都执行此命令,生成密钥)
    ssh-keygen -t rsa(三次回车)
  3. 然后创建authorized_keys文件
    touch authorized_keys
  4. 将id_rsa.pub的内容写入authorized_keys文件
    cat id_rsa.pub >> authorized_keys
  5. 将authorized_keys传到hadoop2的/root/.ssh下
    scp authorized_keys hadoop2:/root/.ssh/

在这里插入图片描述
6.然后在hadoop2下将将id_rsa.pub的内容写入authorized_keys文件
cat id_rsa.pub >> authorized_keys
7.再将authorized_keys文件传到hadoop3的/root/.ssh下
scp authorized_keys hadoop3:/root/.ssh/
8.然后在hadoop3下将将id_rsa.pub的内容写入authorized_keys文件
cat id_rsa.pub >> authorized_keys
9.再将authorized_keys文件传到hadoop1和hadoop2的/root/.ssh下覆盖之前的authorized_keys文件
scp authorized_keys hadoop1:/root/.ssh/
scp authorized_keys hadoop2:/root/.ssh/
10.在虚拟机上用ssh hadoop1或者ssh hadoop2或者ssh hadoop3进行测试,如果不需要输入密码则免密设置成功

接下来就可以进行格式化然后启动集群
格式化 hdfs namenode -format (只有第一次启动才会格式化)
启动 start-all.sh

网页验证:
http:192.168.80.100:50070
http:192.168.80.100:8088

在虚拟机上分别运行一下jps
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值