Hadoop3.1.3 集群环境搭建

Hadoop3.1.3 集群环境搭建

1 集群环境配置

主机名HDFSYARNIP地址说明
hadoop0DataNode、NameNodeNodeManager192.168.108.10主节点(master)
hadoop1DataNodeNodeManager、ResourceManager192.168.108.11子节点
hadoop2DataNode、Secondary NameNodeNodeManager192.168.108.12子节点

2 master节点配置

注意:其他节点的配置除了IP地址和主机名不同外,其他基本相同,请根据需求调整。

2.1 更改IP地址

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
 
BOOTPROTO="static"
IPADDR="192.168.108.10"
NETMASK="255.255.255.0"
# 注意网关的IP地址
GATEWAY="192.168.108.2"
 
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="7fde8d7c-1922-485f-8865-0197d7b0726f"
DEVICE="ens33"
ONBOOT="yes"
 
# 默认可以不配置,如果连接不上网络,可以配置DNS
DNS1="8.8.8.8"
DNS2="114.114.144.114"

2.2 修改主机名

# 修改主机名
hostnamectl set-hostname hadoop0

# 查看主机名
hostname

2.3 修改hosts文件

# 编辑hosts文件
vim /etc/hosts

# 在最后添加
192.168.108.10	hadoop0
192.168.108.11	hadoop1
192.168.108.12	hadoop2

# 具体内容如下
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.108.10  hadoop0
192.168.108.11	hadoop1
192.168.108.12	hadoop2

# 查看是否配置成功,ping能够连通说明配置成功
ping hadoop0

2.4 关闭防火墙

# 开机禁用防火墙
systemctl disable firewalld.service

# 关闭防火墙
systemctl stop firewalld.service

2.5 禁用selinux

# 编辑配置文件
vim /etc/selinux/config

# 配置内容如下

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

2.6 配置免密登录

(1)在每台主机上生成密钥文件

# 进入存储密钥的目录
cd /root/.ssh

# 删除旧密钥
rm -rf *

# 生成密钥文件,多次点击“enter”即可,会生成“id_rsa”和“id_rsa.pub”两个文件
# ssh7.0之后关闭了dsa密码验证,需要rsa来生成秘钥
ssh-keygen -t rsa

# 生成"authorized_keys"文件
cat id_rsa.pub >>authorized_keys

(2)复制公钥

ssh-copy-id命令的作用是将公共密钥填充到远程主机的authorized_keys文件中。

# 进入存储密钥的目录
cd /root/.ssh

# 在hadoop0主机的公钥复制到hadoop1和hadoop2
ssh-copy-id hadoop1
ssh-copy-id hadoop2

# 在hadoop1主机的公钥复制到hadoop0和hadoop2
ssh-copy-id hadoop0
ssh-copy-id hadoop2

# 在hadoop2主机的公钥复制到hadoop0和hadoop1
ssh-copy-id hadoop0
ssh-copy-id hadoop1

3 master节点安装jdk

jdk的版本是1.8(jdk-8u144-linux-x64.tar.gz)

3.1 解压jdk文件

# 将文件复制到"/usr/local"目录下
cp jdk-8u144-linux-x64.tar.gz /opt

# 进入"/opt"
cd /opt

# 解压jdk
tar -xzvf jdk-8u144-linux-x64.tar.gz

3.2 配置环境变量

# 编辑"/etc/profile"
vim /etc/profile

# 在文件最后一行添加如下内容
export JAVA_HOME=/opt/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

# 使环境变量生效
source /etc/profile

# 查看jdk版本号
java -version

4 master节点安装Hadoop

Hadoop的版本是3.1.3(hadoop-3.1.3.tar.gz )

4.1 下载Hadoop

# 官网下载地址
https://hadoop.apache.org/release.html

# Haoop下载地址
https://archive.apache.org/dist/hadoop/common/

4.2 解压Hadoop

# 将文件复制到"/usr/local"目录下
cp hadoop-3.1.3.tar.gz /opt/

# 进入"/opt"
cd /opt

# 解压jdk
tar -xzvf hadoop-3.1.3.tar.gz

4.3 配置环境变量

# 编辑"/etc/profile"
vim /etc/profile

# 在文件最后添加Haddop环境变量,并添加Hadoop的账号变量
export HADOOP_HOME=/opt/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

# 使环境变量生效
source /etc/profile

# 查看hadoop版本
hadoop version

5 master节点配置Hadoop

进入“/opt/hadoop-3.1.3/etc/hadoop”目录下,修改下面的配置文件和相关参数。

5.1 配置hadoop-env.sh

作用:主要用于定义hadoop运行环境相关配置信息

# 修改"/opt/hadoop-3.1.3/etc/hadoop"目录下的hadoop-env.sh文件
vim /opt/hadoop-3.1.3/etc/hadoop/hadoop-env.sh

# 修改第37行如下
JAVA_HOME=/opt/jdk1.8.0_144

5.2 配置core-site.xml

作用:配置集群全局参数,系统级别参数

<configuration>
    <!-- 设置Hadoop文件系统 -->
    <property>
        <name>fs.defaultFS</name>
        <!-- HDFS的默认地址、端口、访问地址 -->
        <value>hdfs://hadoop0:9000</value>
    </property>
    
    <!-- 配置hadoop临时目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-3.1.3/tmp</value>
    </property>
</configuration>

5.3 配置hdfs-site.xml

作用:配置HDFS相关配置参数

<configuration>
    <!-- 设置HDFS副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>

    <!-- Secondary namenode的访问地址和端口 -->
    <!-- Secondary namenode作用是HDFS的一个检查点帮助NameNode更好的工作,它不能替代和备份NameNode。 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop2:50090</value>
    </property>

    <!-- 指定namenode的访问地址和端口 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop0:50070</value>
    </property>

    <!-- HDFS文件权限,默认是false表示关闭 -->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>

    <!-- 文件块大小,默认128M -->
    <property>
        <name>dfs.blocksize</name>
        <value>134217728</value>
    </property>
</configuration>

5.4 配置yarn-site.xml

作用:配置资源管理调度相关信息

<configuration>
    <!-- YARN集群调度管理者 -->
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>hadoop1</value>
    </property>
    
    <!-- NodeManager上运行的附属服务 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    <!-- 配置环境变量 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME,HADOOP_HOME,PATH</value>
    </property>
    <property>
        <!-- 开启日志聚合功能 -->
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    
    <property>
        <!-- 在虚拟机中如果报错,可以配置关闭内存检测功能 -->
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>

</configuration>

5.5 配置mapred-site.xml

作用:配置MapReduce相关参数,如果不使用MapReduce可以不配置。

<configuration>
    <!-- 设置MapReduce运行时框架,默认是local本地运行,YARN表示新的框架,classic表示经典mapreduce框架 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    
    <!-- 配置JobHistory Server -->
    <!-- 配置MapReduce JobHistory Server地址,默认端口10020 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop1:10020</value>
    </property>

    <!-- 配置MapReduce JobHistory Server web地址,默认端口19888 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop1:19888</value>
    </property>
</configuration>

5.6 配置workers

hadoop0
hadoop1
hadoop2

6 Node节点数据复制

将master节点文件复制到Node节点上。

# 复制profile
scp /etc/profile  hadoop1:/etc/
scp /etc/profile  hadoop2:/etc/

# 复制hosts
scp /etc/hosts hadoop1:/etc/
scp /etc/hosts hadoop2:/etc/

# 复制jdk
scp -r /opt/jdk1.8.0_144 hadoop1:/opt/
scp -r /opt/jdk1.8.0_144 hadoop2:/opt/

# 复制Hadoop
scp -r /opt/hadoop-3.1.3 hadoop1:/opt/
scp -r /opt/hadoop-3.1.3 hadoop2:/opt/

7 启动Hadoop

(1)正常启动hadoop

# 1 格式化节点,没有报错说明格式化成功
hadoop namenode -format

# 2 启动hadoop
start-all.sh

(2)启动失败后重启

# 停止hadoop
stop-all.sh

# 进入Hadoop的安装目录
cd /opt/hadoop-3.1.3

# 删除data和logs旧数据
rm -rf data/  logs/

# 重新格式化和启动即可
hadoop namenode -format
start-all.sh

(3)查看Hadoop启动

# 在浏览器中输入以下IP地址
http://192.168.108.10:50070/

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值