hadoop全分布模式搭建

本文详细介绍了一个包含三个节点的Hadoop集群搭建过程,包括文件准备、虚拟机创建、网络配置、SSH安装、JDK与Hadoop安装、环境变量配置、Hadoop文件配置及集群启动等步骤。

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

第一次写博客,有点小激动,这个集群只有三个节点,在网上找了一堆参考资料,配置了前前后后四天才搞清。
因为电脑各有异,建议多看几篇经验,结合来搭建。

1、文件准备

centos7 jdk1.8 hadoop3.1.3

这些文件官网上都有,自己寻找下载
下载Hadoop文件的时候,一定要注意,下载不带src的,src的是源代码包,和正常操作的不一样。。。。

2、创建3台虚拟机

如果选择典型,则只有一个终端界面,并且一直在root下,是管理员模式,个人认为这个比图形界面方便好多,找路径简单,也不用担心操作文件时权限不够,接下来的配置,每一台都要配
在这里插入图片描述
别的不用多想,点下一步就行,找到自己下载的镜像文件,然后按提示安装就行。
安装好之后进入界面,root,回车,输入密码,就可以操作了

3、规划

进入界面后,建议改一下名,方便知道自己在操作哪个节点
vi /etc/hostname

master 192.168.88.131 namenode datanode
slave1 192.168.88.132datanode
slave2 192.168.88.133 datanode

修改虚拟机IP,但是要根据自己电脑的网段修改,不能自己随便改
虚拟机网络设置》nat设置》设置为nat模式
在这里插入图片描述

4、网络配置

(1)打开虚拟机,#cd …
(2)输入 #cd /etc/sysconfig/network-scripts/
(3)输入 #vi ifcfg-ens33 打开网络配置文件ifcfg-ens33
(4)修改 ONBOOT=no 为
ONBOOT=yes
BOOTPROTO=static
(5)添加IPADDR=192.168.88.5(网段自己设置就行)
NETMASK=255.255.255.0(子网掩码)
(6)修改网关
#vi etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master//这个修改的是主机名
NETWORKING_IPV6=no
GATWAY=192.168.88.2//根据自己虚拟机的nat配置
(7)修改DNS
#vi /etc/resolv.conf
Nameserver 114.114.114.114

#ping www.baidu.com 有回应,说明配置成功
在这里插入图片描述

5、安装ssh(三台虚拟机都要整)

检查ssh是否存在
#rpm -qa | grep openssh
如果什么都没有显示就 #yum install openssh-clients
#yum install openssh-server
检查rsync是否存在
#rpm -qa | grep rsync
如果什么都没显示就#yum install rsync
1)开启系统ssh服务
#vi /etc/ssh/sshd_config
RSAAuthentication yes #启用RSA认证(需自己添加)
PubkeyAuthentication yes #启用公钥和私钥配对认证方式(去#即可)
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径**(不用管,文件里有)**
2)生成机器间通信的密钥
#ssh-keygen -t rsa
3)将生成的密钥写入sshd_condig指定公钥文件路径".ssh/authorized_keys"
#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
赋予authorized_keys
#chmod 600 ~/.ssh/authorized_keys
4)重启ssh服务使其生效
#service sshd restart
5)复制公钥到目标机器上(master操作就行)
#scp -r ~/.ssh/id_rsa.pub 远程用户名@远程服务器 ip:~/
例:#scp -r ~/.ssh/id_rsa.pub 192.168.88.129:~/
#scp -r ~/.ssh/id_rsa.pub 192.168.88.130:~/
这样在主节点上就可以免密操作从节点了

6、把所需文件放到虚拟机里(放到一个虚拟机里就行,到时候配置好之后再复制到其他虚拟机里,在没启动Hadoop之前,三台虚拟机平等,所需文件都一样)

1)这里推荐使用Xshell,在Xshell里新建一个会话,主机名就是虚拟机的IP,连接之后,输入root,然后输密码,就可以在xshell里操作虚拟机了,这步的前提是安装好ssh
在这里插入图片描述2)在虚拟机里下载lrzsz
#yum install lrzsz
#rz

会弹出会话框把需要的文件选中就行
在这里插入图片描述

7、安装jdk

叭叭了一堆,终于到重点了
1)解压文件
#tar -zxvf jdk-8u241-linux-x64.tar.gz
2)环境变量配置
#vi ~/.bashrc
export JAVA_HOME=/root/jdk(这行代码,哎,刚开始不知道这个直接用 which java就可以,按书上的整了半天也没安装好,后来csdn的博主救了我,每个人安装的位置是不同的,需要自己查找JAVA_HOME的位置)
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

4)使环境变量生效
#source ~/.bashrc
5)验证JDK配置生效
#java -version
在这里插入图片描述

8、安装hadoop

1)解压文件
#tar -zxvf hadoop-3.1.2-tar.gz
2)进行hadoop-env.sh配置
#vi hadoop/hadoop-env.sh
export JAVA_HOME=/root/jdk
3)配置路径
#vi /etc/profile


export HADOOP_HOME=/root/hadoop-3.1.3
export CLASSPATH=.:$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

关闭文件后 source etc/profile 这一步必须有,要不然还是找不到hadoop

9、配置hadoop文件

这些文件每个机器是略有不同的,主节点IP啥的,还有文件储存位置,不能直接复制粘贴,需要根据自己的情况稍微修改一下
1)core-site.xml

<configuration>

        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://192.168.88.131:8020</value>**//这个是主节点的ip**
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/root/hadoop-3.1.3/dfs</value>
                <description>A base for other temporary directories.</description>
        </property>
</configuration>

2)hdfs-site.xml

<configuration>

        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <property>
                <name>dfs.blocksize</name>
                <value>268435456</value>
        </property>
        <property>
                <name>dfs.namenode.handler.count</name>
                <value>100</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/root/hadoop-3.1.3/dfs/name</value>**//这个文件夹需要自己创建**
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/root/hadoop-3.1.3/dfs/data</value**>//这个文件夹需要自己创建**
        </property>
</configuration>

3)yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>192.168.88.131:8032</value>**//主节点IP**
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>192.168.88.131:8030</value>**//主节点IP**
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>192.168.88.131:8031</value>**//主节点IP**
        </property>

</configuration>

4)mapred-site.xml (通用,不用改)

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

10、修改start-dfs.sh stop-dfs.sh start-yarn.sh stop-yarn.sh文件

这些文件都在sbin下

start-dfs.sh stop-dfs.sh中添加
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh stop-yarn.sh中添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

11、格式化

第一次启动的时候需要,启动一次之后就不用了

#hdfs namenode -format

12、启动集群

在sbin下输
#./start-dfs.sh

在这里插入图片描述

13、jps验证

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值