hadoop-3.3.0集群环境搭建

本文详细介绍了如何配置一个三节点的Hadoop集群,包括设置IP地址、关闭防火墙、修改主机名、配置hosts文件、安装JDK和Hadoop、配置环境变量及Hadoop相关配置文件、实现SSH免密登录等步骤。最后,文章还涵盖了集群的初始化和启动过程。
# 1. 配置三台机器的IP地址

master 10.43.80.80
slave1 10.43.80.81
slave2 10.43.80.82

# 2. 关闭三台机器防火墙
systemctl stop firewalld.service

# 3. 修改主机名
对应IP地址,修改对应的主机名
master 10.43.80.80
slave1 10.43.80.81
slave2 10.43.80.82

执行命令
hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2


# 4. 增加IP和主机名的映射关系
vi /etc/hosts

10.43.80.80 master
10.43.80.81 slave1
10.43.80.82 slave2

# 5. 重启服务器使得配置生效
reboot
# 1. 安装jdk
此处省略.....

# 2. 安装hadoop
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

上传至master服务器,解压项目
cd /usr/local/tools
tar -zxvf hadoop-3.3.0.tar.gz

# 3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/usr/local/tools/hadoop-3.3.0
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile
hadoop version

# 4. 设置配置文件
cd /usr/local/tools/hadoop-3.3.0/etc/hadoop

4.1. 文件:workers (之前文件名称叫做slave)
vi workers

# localhost
slave1
slave2

4.2. 文件:core-site.xml
vi core-site.xml

<configuration>
        <!-- 指定临时文件目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/tools/hadoop-3.3.0/tmp/</value>
        </property>
        <!-- 配置HDFS的NameNode所在节点服务器 -->
        <property>
                <name>fs.default.name</name>
                <value>hdfs://10.43.80.80:9000</value>
        </property>
</configuration>

cd /usr/local/tools/hadoop-3.3.0
mkdir tmp

4.3. 文件:hdfs-site.xml
vi hdfs-site.xml

<configuration>
        <!-- 指定HDFS副本的数量 -->
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <!-- 指定Hadoop辅助名称节点主机配置 -->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>10.43.80.80:50090</value>
        </property>
        <!-- namenode节点数据保存的位置 -->
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/tools/hadoop-3.3.0/tmp/dfs/name</value>
        </property>
        <!-- datanode节点数据保存的位置 -->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/tools/hadoop-3.3.0/tmp/dfs/data</value>
        </property>
</configuration>

4.4. 文件:mapred-site.xml
vi mapred-site.xml

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

4.5. 文件:yarn-site.xml
vi yarn-site.xml

<configuration>
        <!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

5. 配置jdk环境
在hadoop-env.sh启动脚本中,添加jdk路径
vi /usr/local/tools/hadoop-3.3.0/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/tools/jdk-11.0.12

6. 修改脚本用户信息
cd /usr/local/tools/hadoop-3.3.0/sbin

6.1. 在start-dfs.sh和stop-dfs.sh脚本中添加如下信息
    HDFS_DATANODE_USER=root
    HDFS_DATANODE_SECURE_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
6.2. 在start-yarn.sh和stop-yarn.sh脚本中添加如下信息
    YARN_RESOURCEMANAGER_USER=root
    HDFS_DATANODE_SECURE_USER=yarn
    YARN_NODEMANAGER_USER=root


7. 同步部署包
将master上面设置好的项目包hadoop-3.3.0同步至slave1和slave2

scp -rp /usr/local/hadoop slave1:/usr/local/hadoop
scp -rp /usr/local/hadoop slave2:/usr/local/hadoop
# 1. ssh免密登录

1.1. 三台机器分别生成公钥
cd ~

ssh-keygen
回车
回车
回车


1.2. 集成三台服务器公钥,并分发 (在master操作)
将其他两台的公钥拷贝到authorized_keys中,效果如下所示
cp id_rsa.pub ~/.ssh/authorized_keys
vi authorized_keys
xxxxx root@master
xxxxx root@slave1
xxxxx root@slave2

分发文件
scp -rp authorized_keys slave1:~/.ssh/
scp -rp authorized_keys slave2:~/.ssh/


1.3. 验证
[root@master ~]# ssh slave2
Last login: Tue Sep  7 06:55:59 2021 from slave1
[root@slave2 ~]# ssh master
Last login: Mon Sep  6 22:56:56 2021 from slave1
[root@master ~]# ssh slave1
Last login: Tue Sep  7 06:56:51 2021 from master
# 1. 初始化 (在master执行,只执行一次,slave不需要执行)
hdfs namenode -format
 

# 2. 启动hadoop (在master执行命令)
./start-dfs.sh
./start-yarn.sh

效果如下所示
[root@master sbin]# jps
    100995 NameNode
    101827 Jps
    101222 SecondaryNameNode
    101480 ResourceManager

[root@slave1 hadoop-3.3.0]# jps
    3204 Jps
    3048 DataNode
    3144 NodeManager

[root@slave2 hadoop-3.3.0]# jps
    2754 DataNode
    2850 NodeManager
    2910 Jps

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值