部署CDH集群环境准备

Posted zhangzhide

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署CDH集群环境准备相关的知识,希望对你有一定的参考价值。

1、系统centOS7以上

2、配置免密登陆

3、ntp时钟同步

四、系统调优

  1、配置主机名并写入host文件,并将hosts文件同步到各节点;

  2、关闭防火墙和selinux;

  3、关闭dns反向查寻,优化登陆时间,如果不关登陆会很慢,会有一个dns反向查寻的时间;

    sed -i ‘[email protected]#UseDNS [email protected] [email protected]‘ /etc/ssh/sshd_config

  4、关闭GSSAPI身份验证

    sed -i ‘[email protected]^GSSAPIAuthentication [email protected] [email protected]‘ /etc/ssh/sshd_config

  GSSAPIAuthentication  当这个参数开启( GSSAPIAuthentication  yes )的时候,通过SSH登陆服务器时候会有些会很慢!这是由于服务器端启用了GSSAPI。登陆的时候客户端需要对服务器端的IP地                址进行反解析,如果服务器的IP地址没有配置PTR记录,那么就容易在这里卡住了。

  5、关闭透明大页

    (vir-3.5.2) [[email protected] ~]# uname -r   #查看内核版本
    3.10.0-862.el7.x86_64
    (vir-3.5.2) [[email protected] ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
    [always] madvise never   #查看透明大页状态,打开状态
    (vir-3.5.2) [[email protected] ~]# cat /etc/default/grub | grep GRUB_CMDLINE_LINUX
    GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0 console=tty0 panic=5 net.ifnames=0 biosdevname=0"
    (vir-3.5.2) [[email protected] ~]# vim /etc/default/grub

    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed ‘s, release .*$,,g‘ /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL="serial console"
    GRUB_TERMINAL_OUTPUT="serial console"
    GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0 console=tty0 panic=5 net.ifnames=0 biosdevname=0 transparent_hugepage=never"    #加上标红的配置
    GRUB_DISABLE_RECOVERY="true"
    GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"

    (vir-3.5.2) [[email protected] ~]# grub2-mkconfig -o /boot/grub2/grub.cfg  #加载配置文件

    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-c28d40cbc8e3adcb4e32d9779a77b39e
    Found initrd image: /boot/initramfs-0-rescue-c28d40cbc8e3adcb4e32d9779a77b39e.img
    done

    (vir-3.5.2) [[email protected] ~]# reboot  #重启配置才能生效;

    (vir-3.5.2) [[email protected] ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

    always madvise [never]  #重启后查看状态为关闭状态

  6、关闭碎片整理

    THP压缩会降低Hadoop的性能。所以,禁用碎片整理是一个很好的做法。

    (vir-3.5.2) [[email protected] ~]# vim /etc/rc.d/rc.local

    #!/bin/bash

    touch /var/lock/subsys/local
    /usr/local/qcloud/irq/net_smp_affinity.sh >/tmp/net_affinity.log 2>&1
    /usr/local/qcloud/rps/set_rps.sh >/tmp/setRps.log 2>&1
    /usr/local/qcloud/gpu/nv_gpu_conf.sh >/tmp/nv_gpu_conf.log 2>&1

    #在该文件加上该配置即可
    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    fi

    if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    fi

    (vir-3.5.2) [[email protected] ~]# ll /etc/rc.d/rc.local   #查看该文件是否有执行权限,如果没有需要加执行权限;
    -rwxr-xr-x 1 root root 943 Jun 30 00:59 /etc/rc.d/rc.local

  7、修改Linux内核参数

    (vir-3.5.2) [[email protected] ~]# vim /etc/sysctl.conf   ##编辑该文件,并加入一下配置;

    fs.aio-max-nr=1048576

    net.core.rmem_default=262144

    net.core.wmem_default=262144
    net.core.rmem_max=16777216
    net.core.wmem_max=16777216
    net.ipv4.tcp_rmem=4096 262144 16777216
    net.ipv4.tcp_wmem=4096 262144 16777216

    (vir-3.5.2) [[email protected] ~]# sysctl -p   #加载配置文件使其生效

fs.aio-max-nr = 1048576       ##最大并发I/O请求数
net.core.rmem_default = 262144   ##操作系统接收缓冲区的默认大小
net.core.wmem_default = 262144  ##操作系统发送缓冲区的默认大小
net.core.rmem_max = 16777216   ##操作系统接收缓冲区最大值
net.core.wmem_max = 16777216  ##操作系统发送缓冲区最大值
net.ipv4.tcp_rmem = 4096 262144 16777216  ##接收窗口尺寸的最小,默认,最大值
net.ipv4.tcp_wmem = 4096 262144 16777216  ##发送窗口尺寸的最小,默认,最大值

8、增加文件限制

  (vir-3.5.2) [[email protected] ~]# ulimit -Sn   #软限制(由于我这是云主机,应该是腾讯云已经做了优化的,标准原生镜像应该是1024)

    100001
    (vir-3.5.2) [[email protected] ~]# ulimit -Hn   #硬限制 (原生镜像应该是4096)
    100002

    如果其他人不是我这样的配置就得手动自己改了,方法如下:

    vim /etc/security/limits.conf

    (vir-3.5.2) [[email protected] ~]# tail -8 /etc/security/limits.conf

    * soft nofile 1048576  ##表示用户和组,如果是"*",则表示所有用户或组进行限制。
    * hard nofile 1048576  ##表示软限制还是硬限制,当进程使用的资源超过软限制时系统日志会有警告产生,当进程使用的资源达到硬限制时,则无法继续使用更多的限制,甚至有的程序会直接抛出异常,比如mysql程序。
    * soft nproc 1048576  ##表示限制的资源类型
    * hard nproc 1048576 ##如nofile表示打开文件描述符的最大数目,memlock表示最大锁定内存地址空间(KB),nporc表示最大数量的进程,as表示地址空间的限制(KB),cpu表示最大CPU时间(分钟)等等。
    * soft memlock unlimited  ##表示限制的最大值,也就是我们针对某个参数配置的具体数值。比如"* soft nofile 1048576",表示任何用户对于文件句柄数的软限制最大打开文件描述符是1048576。
    * hard memlock unlimited

    (vir-3.5.2) [[email protected] ~]# tail -2 /etc/security/limits.d/20-nproc.conf

    * soft nproc 1048576
    root soft nproc unlimited 

    ##"/etc/security/limits.conf" 配置文件可限制文件打开数,系统进程等资源,在该文件配置中写的最大用户进程数是受"/etc/security/limits.d/90-nproc.conf"配置上限影响的。

  一般系统普通用户进程数满了都是修改/etc/security/limits.d/90-nproc.conf文件。

  9、禁用swap

    swapon -s  #查看swap状态

    swapoff -a  #关闭swap
    swapon -s  #打开swap
    free -h        #确认swap是否为0

未完待续。。。。。。。。。。。

以上是关于部署CDH集群环境准备的主要内容,如果未能解决你的问题,请参考以下文章

CDH5部署三部曲之一:准备工作

Cloudera Manager环境准备

Cloudera Manager环境准备

基于centos7部署hadoop集群的准备环境部署

部署k8s ssl集群实践1:基础环境准备

搭建5个节点的hadoop集群环境(CDH5)