• 5.6.10 HDFS DN 节点扩容


    #1 规划
    当前 NN(namenode)节点:
    10.99.0.6 node01
    10.99.0.14 node02
    
    扩容 DN(datanode)节点:
    10.99.0.31 node04
    
    部署前要求:新扩容的 DN 机器需要与当前 HDFS 集群机器时间同步。
    
    #2 新增扩容机器准备磁盘和创建目录
    一键部署主控机中:
    查看部署包中 tdsql_full_install_ansible/group_vars/all 文件 HDFS 目录
      vim /data/tdsql_full_install_ansible/group_vars/all

    新增 DN 机器上:
    在新增 DN 机器上创建好目录,注意只是创建/data1 目录,不是创建/data1/hdfs。
    
    # mkdir –p /data1
    
    首先用 lsblk 查看磁盘信息
    # lsblk
    
    格式化为 xfs 文件系统(这里以 sdg 盘为例)
    # mkfs.xfs -f /dev/sdg
    
    修改/etc/fstab 文件,设置自动挂载到指定路径
    /dev/sdg /data1 xfs defaults 0 0
    
    挂载磁盘
    # mount -a
    用 df -hT 命令可以看到挂载成功
    # df –hT
    
    创建目录:
    # mkdir –p /data1/hdfs
    # chown -R tdsql:users /data1/hdfs
    
    
    #3. 新增 DN 机器设置主机名和配置环境变量
    新增 DN 机器:
    hostnamectl set-hostname node04
    
    所有的 HDFS 机器:
    vim /etc/hosts
    # BEGIN hdfs1 local host
    10.99.0.6 node01
    10.99.0.14 node02
    10.99.0.16 node03
    10.99.0.31 node04
    # END hdfs4 local host
    
    标红的地方是新增 DN 机器的 IP 地址,原有的 HDFS 集群机器有的内容最后添加标红内容,新增的 DN 机器直接复制以上内容到 hosts 文件。
    
    新增 DN 机器:
    /etc/profile 文件最后加上一键部署主控机/tdsql_full_install_ansible/roles/hdfs/files/profile_add 内容:
    # vim /etc/profile
    # BEGIN hadoop_env
    export JAVA_HOME=/data/home/tdsql/jdk1.8.0_51
    export CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export HADOOP_HOME=/data/home/tdsql/hadoop-3.0.3
    export HADOOP_PID_DIR=/data/hadoop/pids
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export YARN_HOME=$HADOOP_HOME
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export HDFS_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    # END hadoop_env
    
    使其生效
    # source /etc/profile
    
    #4. 传 jdk 包和 hadoop 安装包
    新增的 DN 机器:
    创建目录: mkdir -p /data/home/tdsql
    传包:
      rsync -avP /data/home/tdsql/jdk1.8.0_51 10.99.0.31:/data/home/tdsql/
      rsync -avP /data/home/tdsql/hadoop-3.0.3 10.99.0.31:/data/home/tdsql/
    修改权限:
      chown -R tdsql:users /data/home/tdsql
    
    原 HDFS 集群中 DN 机器上:
    查看原 DN 是什么用户启动的:
      ps –ef|grep datanode
      
    #5. 启动 datanode 进程和验证
    新增的 DN 机器:
     su – tdsql
     cd /data/home/tdsql/hadoop-3.0.3/sbin/ 
       ./hadoop-daemon.sh start datanode

    验证 datanode 进程是否已经起来
      jps
    显示所有的 DN
     hdfs dfsadmin –report


    #6. 配置 DN balance
    到其中一个 NN 节点上执行限制速度
      hdfs dfsadmin -setBalancerBandwidth 102428800
    
    后台进行跑 balance 进程
      nohup hdfs balancer &




  • 相关阅读:
    C#前端画表
    JavaScript中遍历获取Json中属性值
    【数据库】Redis(5)--Redis发布订阅
    【java框架】SpringBoot(9) -- Springboot中如何优雅的进行字段校验
    【开发工具】-- IDEA集成Git在实际项目中的运用
    【Java代码之美】 -- Java必会的工具库,减少代码量的利器
    【java框架】SpringMVC(4) -- JSON相关的数据返回
    聊聊基于jdk实现的spi如何与spring整合实现依赖注入
    聊聊springcloud项目同时存在多个注册中心客户端采坑记
    feign请求返回值反序列LocalDateTime异常记录
  • 原文地址:https://www.cnblogs.com/cqdba/p/15899307.html
Copyright © 2020-2023  润新知