Hadoop分布式集群搭建

文章目录

  • 准备工作
    • 静态IP设置
    • 修改主机名
    • 关闭防火墙
    • 同步时间
    • 安装JDK
      • 上传jdk安装包并解压
      • 配置环境变量
    • 配置从节点虚拟机
      • 克隆虚拟机
      • 设置IP地址
      • 设置主机名
    • 配置hosts文件
    • 配置免密登录
  • 集群搭建
    • 安装hadoop
      • 上传hadoop安装包并解压
      • 配置环境变量
    • 配置Hadoop文件
      • hadoop-env.sh
      • core-site.xml
      • hdfs-site.xml
      • mapred-site.xml
      • yarn-site.xml
      • workers
    • 分发hadoop到从节点虚拟机
  • 集群启动
    • 格式化namenode
    • 启动Hadoop集群
    • 检查虚拟机进程
    • 访问Web页面
      • HDFS
      • YARN
  • 集群重置
    • 停止集群
    • 删除所有节点产生的数据文件
    • 重新格式化namenode
    • 启动集群

准备工作

准备工作:集群部署的前提,每台虚拟机都需要完成。

静态IP设置

# 1.编辑网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33

# 需要的内容修改如下:
BOOTPROTO=static # 修改成static
IPADDR=192.168.225.100 # 根据自己的网段自定义IP地址
GATEWAY=192.168.225.2 # 根据自己的网段填写对应的网关地址
NETMASK=255.255.255.0 # 子网掩码
DNS1=192.168.225.2 # 同网关地址保持一致即可
DNS2=223.6.6.6 # 使用阿里巴巴的公共DNS

# 2.关闭NetworkManager,并取消开机自启
systemctl stop NetworkManager
systemctl disable NetworkManager

# 3.重启网络服务
systemctl restart network

# 4.ping测试网络
ping www.baidu.com

# 5.使用shell工具连接虚拟机

修改主机名

本文三台虚拟机分别设置为:master、node1、node2

hostnamectl set-hostname master 
# 修改完后需要重新连接虚拟机

在这里插入图片描述

关闭防火墙

# 暂时关闭防火墙
systemctl stop firewalld
# 查看防火墙状态
systemctl status firewalld
# 取消防火墙自启
systemctl disable firewalld

在这里插入图片描述

同步时间

# 调整时区
timedatectl set-timezone Asia/Shanghai
# 安装ntpdate
yum install ntpdate
# 同步时间
ntpdate ntp.aliyun.com

在这里插入图片描述

安装JDK

上传jdk安装包并解压

在这里插入图片描述

# 解压安装包
tar -zxvf jdk-8u171-linux-x64.tar.gz
# 修改名称
mv jdk1.8.0_171/ java

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

配置环境变量

# 编辑profile文件
vi /etc/profile

# 在文件的末尾添加
export JAVA_HOME=/usr/local/soft/java # 修改为自己的JAVA路径
export PATH=$PATH:$JAVA_HOME/bin

重新加载环境变量

source /etc/profile

验证是否配置成功

java -version

在这里插入图片描述

配置从节点虚拟机

克隆虚拟机

快照备份当前虚拟机再克隆俩台虚拟机

在这里插入图片描述

设置IP地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33

# node1 只需要修改IPADDR 这里推荐设置成连续IP 
IPADDR=192.168.225.101 

# node2 一样的操作设置
IPADDR=192.168.225.102

# 重启网络
systemctl restart network

设置主机名

# node1
hostnamectl set-hostname node1

# node2
hostnamectl set-hostname node2

# 修改完成后重新连接虚拟机

配置hosts文件

# 三台虚拟机都需要如下操作
vi /etc/hosts

# 添加IP和主机名
192.168.225.100 master
192.168.225.101 node1
192.168.225.102 node2

在这里插入图片描述

配置免密登录

# 只需要在master虚拟机上配置主节点到从节点即可
# 1.生成密钥
ssh-keygen -t rsa
# 2.配置免密登录
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2

# 3.测试免密登录 不需要输入密码直接切换过去则配置成功
# 从master分别登录node1、node2
ssh node1
ssh node2

集群搭建

安装hadoop

上传hadoop安装包并解压

在这里插入图片描述

cd /usr/local/soft/
# 解压安装包
tar -zxvf hadoop-3.1.1.tar.gz 
# 修改名称
mv hadoop-3.1.1.tar.gz hadoop

配置环境变量

vi /etc/profile

# 增加以下配置
export HADOOP_HOME=/usr/local/soft/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

# 重新加载环境变量
source /etc/profile

配置Hadoop文件

# 先切换到配置文件所在目录
cd /usr/local/soft/hadoop/etc/hadoop/

hadoop-env.sh

vi hadoop-env.sh 

# 在文件末尾添加以下配置
export JAVA_HOME=/usr/local/soft/java #java路径
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

core-site.xml

vi core-site.xml

# 在中插入以下内容
    
        fs.defaultFS
        hdfs://master:9000
    

    
        hadoop.tmp.dir
        /usr/local/soft/hadoop/data # hadoop路径
    

    
        fs.trash.interval
        1440
    

hdfs-site.xml

vi hdfs-site.xml

# 在中插入以下内容
    
        dfs.replication
        1
    

    
        dfs.permissions
        false
    

mapred-site.xml

vi mapred-site.xml

# 在中插入以下内容
    
        mapreduce.framework.name
        yarn
    

      
        mapreduce.jobhistory.address  
        master:10020  
      

      
        mapreduce.jobhistory.webapp.address  
        master:19888  
     

    
        yarn.app.mapreduce.am.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    

    
        mapreduce.map.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    

    
        mapreduce.reduce.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    

yarn-site.xml

vi yarn-site.xml

# 在中插入以下内容
    
        yarn.resourcemanager.hostname
        master
    

    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    

    
        yarn.log-aggregation-enable
        true
    

    
        yarn.log-aggregation.retain-seconds
        604800
    

    
        yarn.nodemanager.vmem-check-enabled
        false
    

    
        yarn.nodemanager.pmem-check-enabled
        false
    

workers

vi workers

# 添加如下
node1
node2

分发hadoop到从节点虚拟机

# 先回到soft目录
cd /usr/local/soft/

# 分发到node1
scp -r hadoop node1:`pwd`

# 分发到node2
scp -r hadoop node2:`pwd`

# 顺便将环境变量文件分发过去省去配置步骤
cd /etc/
scp -r profile node1:`pwd`
scp -r profile node2:`pwd`

# 分发完成后node1和node2都需要重新加载环境变量
source /etc/profile

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

集群启动

格式化namenode

# 只需要在第一次启动时执行
hdfs namenode -format

在这里插入图片描述

启动Hadoop集群

start-all.sh

在这里插入图片描述

检查虚拟机进程

master

在这里插入图片描述

node1

在这里插入图片描述

node2

在这里插入图片描述

访问Web页面

HDFS

网页输入http://192.168.225.100:9870

在这里插入图片描述

YARN

网页输入http://192.168.225.100:8088

在这里插入图片描述

集群重置

如果需要重置Hadoop集群

停止集群

stop-all.sh

删除所有节点产生的数据文件

# 三台虚拟机都需要执行
cd /usr/local/soft/hadoop
rm -rf data/

重新格式化namenode

hdfs namenode -format

启动集群

start-all.sh

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/53f7b0d6e1.html