大数据学习-Hadoop-高可用(HA)集群搭建

Hadoop-高可用(HA)集群搭建

前言

  • test

基础准备

软件及环境准备

软件名称 版本 描述
VirtualBox或VMware 14
CentOS7 7.5
JDK 1.8
Hadoop 3.1.2 hadoop-3.1.2.tar.gz

机器节点规划

  • Hadoop五个节点HA规划
HostName IP NameNode DataNode ZooKeeper ZKFC JouaryNode
node1 192.168.233.101 * *
node2 192.168.233.102 * *
node3 192.168.233.103 * * *
node4 192.168.233.104 * * *
node5 192.168.233.105 * * *

注:ZooKeeper和JouaryNode是可以共享的

相关路径创建

  • 基础软件安装配置路径
路径 注释
/opt/basics 基础路径
/opt/basics/java/ JDK路径
/opt/bigdata/hadoop/ Hadoop路径
/opt/bigdata/zookeeper/ ZooKeeper安装路径

系统基础配置(root用户)

基本组件安装

  • 安装net-tools vim wge ntp 等基础工具

    1
    yum install -y net-tools vim* wget ntp telnet

    注:如果系统是最小化安装的,以上工具组件可能没有集成,需要另外安装

设置HostName和Hosts

  • 链接-CentOS7设置hostname和hosts

  • 根据规划将下面内容写入hosts

    192.168.233.101 node1
    192.168.233.102 node2
    192.168.233.103 node3
    192.168.233.104 node4
    192.168.233.105 node5

关闭SELINUX

  • 临时关闭

    1
    setenforce 0
  • 永久关闭

    1
    vim /etc/selinux/config

    SELINUX=disabled #将SELINUX的值由enforcing改为disabled

设置静态IP地址

关闭防火墙

配置免密登陆

  • 链接-配置免密登陆

    需要免密钥的两种场景:

    1. 管理脚本:远程管理其他节点启停服务时需要免密钥

    2. NameNode:搭建HA的时候,需要免密钥控制对方和自己

环境配置

JDK环境配置

ZooKeeper分布式集群搭建配置

Hadoop相关配置

安装及环境变量配置

  • 创建Hadoop路径

    1
    mkdir -p /opt/basics/hadoop/
  • 将事先准备好的hadoop-3.1.2.tar.gz文件上传至/opt/basics/hadoop路径

  • 执行解压命令

    1
    tar -xvzf hadoop-3.1.2.tar.gz
  • 配置环境变量,在末尾追加hadoop相关配置

    1
    vim ~/.bashrc

    HADOOP_HOME=/opt/basics/hadoop/hadoop-3.1.2
    HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
    PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    export HADOOP_HOME HADOOP_CONF_DIR YARN_CONF_DIR PATH

  • 使配置立即生效

    1
    source ~/.bashrc
  • 验证是否安装成功

    1
    hadoop version

Hadoop配置

  • 切换到hadoop路径下

    1
    cd $HADOOP_HOME/etc/hadoop

    注:本章节下文配置均在此目录中

    | 涉及文件 | 描述 |
    | ————- | ————————- |
    | hadoop-env.sh | |
    | core-site.xml | |
    | workers | DataNode节点信息 |
    | hdfs-site.xml | SecondaryNameNode相应内容 |
    | | |
    | | |

  • 编辑core-site.xml文件,配置NameNode相应内容

    1
    vi core-site.xml



    fs.defaultFS
    hdfs://node1:9000



    hadoop.tmp.dir
    /var/bigdata/hdfs/full



    io.file.buffer.size
    4096

  • 编辑workers文件,配置DataNode相应内容

    1
    vi workers

    node3

    node4

    node5

  • 编辑hdfs-site.xml文件,配置SecondaryNameNode相应内容

    1
    vi hdfs-site.xml



    dfs.replication
    3



    dfs.namenode.secondary.http-address
    node2:9001



    dfs.webhdfs.enabled
    true

格式化NameNode

  • 执行格式化NameNode

    1
    hdfs namenode -format
  • 启动hdfs

    1
    start-dfs.sh

访问hdfs

  • 访问下面地址

    1
    http://192.168.233.101:9870

    注:Hadoop从3.1.0开始hdfs默认访问端口从50070改为9870

------本文结束感谢您的阅读------
坚持原创技术分享,您的支持将鼓励我继续创作!
0%