AmosCloud

Library

Have a Question?

If you have any question you can ask below or enter what you are looking for!

【CDH实战02】基于CentOS7的CDH6.3.2完全分布式集群搭建【下】

写在前面

上一篇,我们从零开始搭建好了ClouderaManager的安装环境。
接下来,我们开始安装大数据生态组件,并对CDH的一些告警进行调试。

一、创建集群并安装HDFS服务

  • 安装步骤: 选择功能授权版本 ->> 创建集群 ->> 为集群添加服务

1. 版本选择

1.1 使用默认用户名密码登录CM

用户名:admin
密码:admin

file

1.2 登录成功来到环境界面-继续

file

1.3 接受许可条款-继续

file

1.4 根据需要选择版本-继续

  • 我们这里选择免费版
    免费版的CDH功能足够小规模集群的使用
    如需更大规模集群或Cloudera技术支持,可以考虑试用或购买企业版

file

2. 创建集群

2.1 欢迎页面-继续

file

2.2 设置集群名称-继续

  • 一个ClouderaManager集群可以管理多个CDH集群,在这里我们先创建一个CDH集群,未来可以随时添加新的主机到集群中

file

2.3 扫描需要添加到新集群的主机

file

已经被其他集群管理的主机会显式受管状态为"是",同一台主机不能同时加入两个集群。
卸载残留可能导致主机的受管状态为"是",需要清理残留。

2.4 设置CM安装使用的本地yum源和使用的Parcel版本

  • yum源为上一篇中使用apache http搭建的服务
  • Parcel中包含CDH所有组件的安装包,Parcel版本于CDH版本一一对应这里使用之前下载好的CDH-6.3.2-1.cdh6.3.2.p0.1605554

file

2.5 勾选为CDH集群各个主机安装JDK

  • Cloudera要求使用CDH发行版本对应的JDK版本

file

2.6 设置集群SSH连接使用的用户名和密码

  • 我们这里使用root用户进行安装。
  • CDH会在添加服务时自动为每一个服务单独创建用户。

file

2.7 自动安装jdk、cloudera-manager-daemons、cloudera-manager-agent

file

file

file

2.8 下载解压Parcels

file

file

file

file

2.9 性能测试和问题修复

file

file

file

file

2.9.1 交换分区阈值Linux swappiness参数(所有节点)

  • 问题描述
    Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 30。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响:

  • 解决方案:

    • 为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0(cloudera建议10以下)

    • 查看

      cd /usr/lib/tuned
      grep "vm.swappiness" * -R

file

  • 操作
    • 临时修改
      # 查看当前内核参数
      sysctl vm.swappiness
      # 临时修改
      sysctl vm.swappiness=10
      # 查看修改后内核参数
      sysctl vm.swappiness

file

  • 永久修改(重启后生效)
    sed -i s/"vm.swappiness = 30"/"vm.swappiness = 10"/g  /usr/lib/tuned/virtual-guest/tuned.conf

file

2.9.2 禁用透明大页(所有节点)

  • 问题描述
    已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响:

  • 解决方案:

    • 查看:
    • 查看透明大页的设置和启动状态
      cat /sys/kernel/mm/transparent_hugepage/defrag
      cat /sys/kernel/mm/transparent_hugepage/enabled

file

  • 操作:

    • 临时关闭

      echo never > /sys/kernel/mm/transparent_hugepage/defrag
      echo never > /sys/kernel/mm/transparent_hugepage/enabled
    • 永久关闭

    • 将临时关闭命令添加到/etc/rc.d/rc.local文件中,并赋予执行权限

      echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
      echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
      chmod +x /etc/rc.d/rc.local

file

  • 验证:
    cat /etc/rc.d/rc.local

file

2.10 重新检测,通过检测,继续

file

file

3. 安装服务

3.1 选择要安装的服务

  • CDH提供了几种预制的服务组合

file

  • 我们这里先自定义选择仅安装HDFS,继续

file

3.2 服务的集群规划

  • 我们在这里将CM相关服务全部安装在node00节点
  • HDFS的NameNode放在node01节点
  • HDFS的SecondaryNameNode放在node03节点
  • node01-node03安装DataNode
  • Balancer、HttpFS、NFS Gateway暂不安装

file

file

file

3.3 HDFS服务配置暂时使用默认配置

file

3.4 自动安装

file

file

3.5 完成安装,进入集群管理界面

file

file

4. 调试警告和错误

4.1 运行状况问题

  • 查看所有运行状况问题

file

4.1.1 Network Interface Speed

file

  • 问题分析
    由于当前使用虚拟机搭建集群,VMWare虚拟机中Linux系统会加载虚拟网卡如下

  • 查看网卡信息

    ifconfig

file

  • 问题解决
    修改所有主机网卡检测设置

file

将网络接口收集排除正则表达式修改为

(^lo$)|(^virbr0)

file

4.1.2 Erasure Coding Policy Verification Test

file

  • 问题分析
    纠删码策略警告是由于当前的HDFS集群DataNode节点数不满足当前所配置的纠删码策略需要的最小主机数

  • 纠删码-百度百科

  • 纠删码策略是HDFS集群提供的数据恢复的安全机制
    其中

    • RS-3-2-1024k策略需要至少5台DataNode节点
    • RS-6-3-1024k策略需要至少9台DataNode节点
    • RS-10-4-1024k策略需要至少14台DataNode节点
  • 问题解决
    这里我们的集群无法满足最低的5台DataNode节点要求,所以可以选择关闭纠删策略

file

file

  • 重启HDFS集群使配置生效

file

4.1.3 HDFS Canary

  • 问题分析
    在重启HDFS集群后,由于NameNode加载镜像时会进入安全模式,所以会出现创建临时文件失败的情况

  • 问题解决
    通常稍等片刻就可以自动回复

4.2 配置问题

  • 通常CDH提示的配置问题多数是内存参数问题
  • 根据自己集群的硬件配置进行调整即可

file

file

file

4.3 重启所有过期配置

file

5 结语

  • 至此 CDH6.3.2的从零搭建、HDFS服务安装、基本调试全部完成

file

  • 后续我会继续为每一个服务的安装、使用和优化更新更多文章,感谢您的阅读。