本文章纯手写,亲测有效,搭建过程参考公司冉大佬手写文档,尊重原创,若有参照或转载请注明出处!

一、集群准备

安装包资源提供:https://pan.baidu.com/s/1W2p1kZNSfSZcsKKGVbGWqg

提取码:9vud

文件包含如下内容

CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1
cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz
jdk-8u251-linux-x64.tar.gz
manifest.json
mysql-connector-java-5.1.38.jar

若在自己本地创建虚拟机,请参考:
https://blog.csdn.net/weixin_42487460/article/details/106128573

 

1. 连接工具同时发送指令

使用xshell、MobaXterm或其他连接工具都可以同时发送指令到不同的会话,减少配置时间,如下所示
在这里插入图片描述
 

2. 修改基础配置

静态ip

192.168.56.10
192.168.56.11
192.168.56.12

修改主机名

hostnamectl set-hostname cdh01
hostnamectl set-hostname cdh02
hostnamectl set-hostname cdh03

确保网络畅通

systemctl restart network
ping www.baidu.com

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

#查看防火墙状态(显示为not running)
firewall-cmd --state

 

3. 集群规划

IP主机名角色
192.168.56.10cdh01主节点(NN)+DN
192.168.56.11cdh02备用主节点(NN)+DN
192.168.56.12cdh03子节点(DN)

 

4. 创建非root用户

操作节点:

192.168.56.10
192.168.56.11
192.168.56.12

操作用户:root

添加非root用户并设置密码

useradd bigdata
passwd bigdata

 

5. 配置ip地址和主机名映射关系

操作节点:

192.168.56.10
192.168.56.11
192.168.56.12

操作用户:root

修改/etc/host,末尾添加ip 和主机名

vi /etc/hosts

192.168.56.10 cdh01
192.168.56.11 cdh02
192.168.56.12 cdh03

 

6. 设置swap交换空间

操作节点:所有节点cdh01,cdh02,cdh03

操作用户:root

修改/etc/sysctl.conf ,在末尾添加

vm.swappiness=0

 

7. 关闭大页面压缩

操作节点:所有节点

操作用户:root

  1. 修改/etc/rc.local ,在末尾添加

    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    
  2. 修改rc.local开机启动的权限

    chmod +x /etc/rc.d/rc.local
    
  3. 重启生效

    reboot
    

 

8. SeLinux 设置

操作节点:所有节点

操作用户:root

修改/etc/selinux/config ,将SELINUX=enforcing改为SELINUX=disabled

如下图所示

在这里插入图片描述

 

9. 免密登陆

操作节点:所有节点

操作用户:root

  1. 生成公私钥

    回车即可

    ssh-keygen -t rsa -P ''
    
  2. 拷贝私钥给集群中的每个虚拟机(本身和其他两个虚拟机,实际拷贝次数九次)

    ssh-copy-id cdh01
    ssh-copy-id cdh02
    ssh-copy-id cdh03
    

    验证是否实现

    ssh root@cdh02
    

    如下所示

在这里插入图片描述

 

10. 时间同步

操作节点:针对节点执行

操作用户:root

  1. 安装ntp(操作节点:所有节点

    yum -y install ntp
    
  2. 修改 /etc/ntp.conf (操作节点:cdh01

    # 释放注释内容
    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    
    # 注释内容
    #server 0.centos.pool.ntp.org iburst
    #server 1.centos.pool.ntp.org iburst
    #server 2.centos.pool.ntp.org iburst
    #server 3.centos.pool.ntp.org iburst
    
    # 新增内容(添加默认的一个内部时钟数据,使用它为局域网用户提供服务)
    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
    

    如下图所示

在这里插入图片描述

  1. 修改配置 /etc/sysconfig/ntpd (操作节点:cdh01

    末尾添加如下内容(让硬件时间与系统时间一起同步)

    SYNC_HWCLOCK=yes
    
  2. 重新启动ntpd(操作节点:cdh01

    systemctl restart ntpd
    
  3. 同步cdh02和cdh03与cdh01时间一致,如下命令分别在cdh02和cdh03节点上执行(操作节点:cdh02,cdh03

    如果出现,端口已经在运行,请执行systemctl stop ntpd,再执行如下指令

    ntpdate cdh01
    

    同步完,使用date查看时间是否同步

  4. 为了防止时间在后面出现错误,我们设置定时同步,每十分钟同步一次时间,若对时间十分严格可以设置一秒同步一次(操作节点:所有节点

    contrab -e
    
    */10 * * * * /usr/sbin/ntpdate cdh01 &>/dev/null
    

     
     

11. 创建目录用于上传安装包

操作节点:cdh01

操作用户:root

为方便安装和提高效率,我们可以只对一个机器进行安装,然后将安装好的文件直接发送到另外两台指定相同的目录即可。

创建一个目录用于上传下载的安装包用于安装,规范并方便查找

mkdir /root/packages

在这里上传所有需要的安装包,如下图所示,所有安装包均放置在cdh01节点上,安装好cdh01即可使用scp远程发送到剩余节点相同目录

如下图所示
在这里插入图片描述
 
 

12. 配置JDK

操作节点:所有节点

操作用户:root

  1. 卸载系统原有JDK命令(操作节点:所有节点):

    for x in $(rpm -qa | grep java); do rpm -e --nodeps $x; done
    
  2. 解压重命名

    #创建本地存放目录(操作节点:所有节点)
    mkdir /usr/local/soft
    
    #解压并重命名(操作节点:cdh01 )
    tar -zxvf /root/packages/jdk-8u251-linux-x64.tar.gz -C /usr/local/soft
    mv /usr/local/soft/jdk1.8.0_251/ /usr/local/soft/jdk180
    
  3. 发送至从节点(操作节点:cdh01

    scp -r /usr/local/soft/jdk180/ root@cdh02:/usr/local/soft/jdk180/
    scp -r /usr/local/soft/jdk180/ root@cdh03:/usr/local/soft/jdk180/
    
  4. 配置环境变量(操作节点:所有节点

    vi /etc/profile

    添加如下内容

    #JAVA_HOME
    export JAVA_HOME=/usr/local/soft/jdk180
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 
    export PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH
    
  5. 激活(操作节点:所有节点

    source /etc/profile
    
  6. 验证配置是否成功

    java -version
    

 

13. 安装所需要的编译环境(可跳过)

操作节点:所有节点

操作用户:root

yum install -y  make* gcc* ncurses-devel* gcc-c++* perl* psmisc

 

14. 安装mysql

操作节点:cdh01

操作用户:root

最新版本的linux开始,默认mariadb,而mariable 与mysql冲突,检查是否安装,若已安装,卸载mariable,具体操作顺序进行如下步骤:

# 检查是否自带mariadb并卸载
rpm -qa | grep mariable
rpm -e --nodeps xxxx

#检查是否自带mysql并卸载
rpm -qa | grep mysql
rpm -e --nodeps xxx


#下载weget
yum install -y wget
#下载mysql(这里版本为5.6.51,如果有要求可以更改)
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-server -y

#赋权
chown -R root:root /var/lib/mysql

#重启msyql服务
service mysqld restart

# 登录
mysql -uroot -p  #登录无需密码,直接enter键回车
#使用数据库
use mysql;
#更新密码
update user set password=password('1234') where user='root';
#远程登陆
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "1234";
flush privileges;

# 退出
exit

#修改配置
vi /etc/my.cnf
	在socket下面一行添加 character-set-server=utf8   并且注意utf8不能带杠,容易出错

#重启msyql服务
service mysqld restart

#登录验证
mysql -uroot -p1234

etc/my.cnf 添加内容如下图所示

在这里插入图片描述

 
 

二、CM+CDH安装

 

1. 解压cloudera

操作节点:cdh01

操作用户:root

  1. 解压

    tar -zxvf packages/cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz -C /opt/
    
  2. 移动CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel 和  manifest.json

    /opt/cloudera/parcel-repo目录

    移动CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1

    /opt/cloudera/parcel-repo目录,并重命名为CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha

    mv /root/packages/CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel /opt/cloudera/parcel-repo/
    mv /root/packages/manifest.json /opt/cloudera/parcel-repo/
    mv /root/packages/CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha
    

 

2. 配置clouera

操作节点:cdh01

操作用户:root

修改配置文件

vi /opt/cm-5.9.0/etc/cloudera-scm-agent/config.ini

#修改文件中内容,将如下localhost改为主机名
server_host=cdh01

 

3. 创建Cloudera Manager所需要的数据库

操作节点:cdh01

操作用户:root

  1. 将MySQL的驱动拷贝至/opt/cm-5.9.0/share/cmf/lib/

    cp /root/packages/mysql-connector-java-5.1.38.jar /opt/cm-5.9.0/share/cmf/lib/
    
  2. 执行如下命令

    /opt/cm-5.9.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -P3306 -uroot -p1234 --scm-host localhost scm scm scm
    

在这里插入图片描述

  1. 分发其他节点

    scp -r /opt/cm-5.9.0/ root@cdh02:/opt/cm-5.9.0
    scp -r /opt/cm-5.9.0/ root@cdh03:/opt/cm-5.9.0
    

 

4. 创建服务所需的CDH用户

操作节点:所有节点

操作用户:root

执行如下命令:

useradd --system --home=/opt/cm-5.9.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

 

5. 启动Cloudera Manager

操作节点:针对节点操作

操作用户:root

  1. 主节点cdh01上启动server端和agent端(操作节点:cdh01)

    #启动server端
    /opt/cm-5.9.0/etc/init.d/cloudera-scm-server start
    
    #启动agent端
    /opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start
    
  2. 子节点启动agent端(操作节点:chd02,cdh03)

    #启动agent端
    /opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start
    

 
 

三、Web页面登陆并配置基本服务

  1. 访问地址:主节点ip地址,端口7180(启动后需要等待几分钟)

    http://192.168.56.10:7180/
    

 

  1. 接受条款并继续

在这里插入图片描述
 

  1. 选择免费版本并继续

在这里插入图片描述

  1. 继续

     

  2. 勾选全部节点并继续,如果出现未能检测到所有节点,重新开启所在节点的服务,并刷新网页,如果仍未开启,检查防火墙是否关闭

在这里插入图片描述

 

  1. 选择存储库并继续

在这里插入图片描述

 

  1. 等待安装分配,时间较长,完成后点击继续

在这里插入图片描述

 

  1. 检查主机正确性,根据报错提示调整,并点击完成

在这里插入图片描述
 

  1. 选择自定义服务,勾选需要安装的内容,首次为安全可先安装基础内容:hdfs、yarn、zookeeper

在这里插入图片描述

 

  1. 根据自己的需求自定义分配,zookeeper集群管理者需要全部勾选

在这里插入图片描述
 

  1. 审核更改,按需求更改目录,如下所示,点击继续

在这里插入图片描述

  1. 继续
     

  2. 配置完成
    在这里插入图片描述

  3. 首次加载主界面较慢,耐心等待
    在这里插入图片描述

  4. 主机界面可查看,各节点资源使用情况

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐