每天进步一点点 - CDH以及CM的搭建

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第10天,点击查看活动详情

1、序言

之前对于CDH还有CM的了解,仅仅是字面意思的了解,此次安装CDH是临时起意,所以安装的位置是在Linux服务器上重新开启的KVM虚拟机5台。

记录一下。

2、准备

安装版本以及下载地址:

JDK环境:
    版本:jdk-8u171-linux-x64.tar.gz
    地址:官网..
    
mysql:
    版本:mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
    地址:官网...
    
    jdbc连接包mysql-connector-java.jar: 
        http://dev.mysql.com/downloads/connector/j/
    

CM:
    版本:5.15.1
    地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz
        
CDH:
    版本:5.15.1
    地址:http://archive.cloudera.com/cdh5/parcels/5.15.1/
        三个文件:
            CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel
            CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1
            manifest.json
    
操作系统:
    版本:Centos7.5
    地址:http://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Everything-1804.iso
    
复制代码

系统环境

具体开设KVM的步骤在此就不补充了,详情见{Linux系统KVM虚拟化}
复制代码

机器分配

IP地址 主机名 说明 配置
192.168.0.111 pazi1 主节点 16G+50G
192.168.0.112 pazi2 从节点 4G+50G
192.168.0.113 pazi3 从节点 4G+50G
192.168.0.114 pazi4 从节点 4G+50G
192.168.0.115 pazi5 从节点 4G+50G

3、安装前环境搭建(所有节点)

  • yum源配置

    由于虚拟机都可以链接互联网,此处使用的是阿里云的yum在线yum源.

  • 网络配置:所有集群机器IP配置以及主机名host配置。

     配置文件:
          ip:  /etc/sysconfig/network-config/xxx
          host:/ect/hosts
    复制代码
  • ssh免密登陆:

    使用ssh免密配置时,需要系统里面已经安装了openssh依赖包;
        
    以下命令逐行执行:
            ssh-keygen -t rsa (一路回车即可)
            ssh-copy-id {hostname} (拷贝{hostname}的公钥到本地)
复制代码
  • 服务器防火墙关闭
    Centos6和7使用默认的防火墙不一样,6*使用的是iptables,7*使用的是firewalld。
    
    Centos6.* :
            临时关闭:service iptables stop
            开机禁用:chkconfig iptables off
    Centos7.* :
            临时关闭:systemctl stop firewalld
            开机禁用:systemctl disable firewalld
复制代码
  • SELinux关闭
    临时关闭:
        setenforce 0
    永久关闭:
        修改配置文件/etc/selinux/config(重启生效):
            将 SELINUX=enforcing 改为 SELINUX=disabled
        查看 SELINUX 状态:
            1)  /usr/sbin/sestatus –v
                SELinux status: enabled(enabled:开启;disabled:关闭)
            2) 使用命令:getenforce
复制代码
  • 安装JDK
    
    此处省略....
复制代码
  • 设置NTP
    服务器联网环境或者已经配置好本地yum源:
    
    安装:
        yum install ntp
    配置开机自启:
        chkconfig ntpd on
    检查是否成功:
        chkconfig --list ntpd (2-5 为 on 状态则成功)
    设置同步:
        // 此处设置的同步是同步与210.72.145.44-国家授时中心服务器
        // 一般的集群环境中同步的为主节点的时间
        ntpdate -u ntp.sjtu.edu.cn
    查看服务状态:
        service ntpd status
        
    
    配置同步服务器主节点时间:
        详情见{Linux常用操作}-->{NTP时间同步}
复制代码
  • 安装相应依赖包

    yum -y install zlib zlib-devel bzip2 bzip2-devel ncurses ncurses-devel readline readline-devel openssl* xz lzma xz-devel gdbm gdbm-devel tk tk-devel glib glib-devel glibc glibc-devel glibc-static gcc gcc-c++ numactl numactl-devel openssh* perl perl-devel gd gd-devel libaio* autoconf numactl libffi-devel libuuid-devel vim wget screen net-tool
复制代码

4、CM安装

解压安装 Cloudera Manager Server&Agent

# 此操作是所有节点操作

创建安装CM的文件夹,将下载的tar包解压.

[root@pazi1 ~]# mkdir /opt/cloudera-manager
[root@pazi1 ~]# tar -zxvf cloudera-manager*.tar.gz -C /opt/cloudera-manager  
复制代码

创建cloudera-scm用户

# 此操作是所有节点操作

[root@pazi1 ~]# useradd --system --home=/opt/cloudera-manager/cm-5.15.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm  
复制代码

配置CM Agent指向主节点

# 此操作是所有子节点操作

[root@pazi1 cloudera-manager]# vim /opt/cloudera-manager/cm-5.15.1/etc/cloudera-scm-agent/config.ini

将server_host改为主节点的主机名即可.
复制代码

配置 CM Server 的 数据库

# 初始脚本配置数据库scm_prepare_database.sh
* 在初始化之前,需要将链接mysql的驱动包复制到对应文件夹.
* 驱动包的名字一定要叫这个,否则后续初始化的时候会报错.
[root@pazi1 cloudera-manager]# cp mysql-connector-java-5.1.31-bin.jar /usr/share/java/mysql-connector-java.jar


# 此操作是在主节点上

* 执行下列脚本
[root@pazi1 cloudera-manager]# /opt/cloudera-manager/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql -hpazi1 -uroot -proot --scm-host pazi1 scmdbn scmdbu root
说明:
    这个脚本就是用来创建和配置CMS需要的数据库的脚本。
各参数是指:
    mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
    -hpazi1:数据库建立在cdh1主机上面,也就是主节点上面。
    -uroot:root身份运行mysql.
    -proot: root用户的密码   
    ## 下面这个配置之前遇到过坑,有时候需要填写主机的IP才可以.至于为啥,未知....
    --scm-host pazi1:CMS的主机,一般是和mysql安装的主机是在同一个主机上.
    最后三个参数是:数据库名,数据库用户名,数据库密码。
复制代码

创建Parcel目录

    主节点:
        [root@pazi1 ~]#  mkdir -p /opt/cloudera/parcel-repo
        [root@pazi1 ~]#  chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
        
        // 此处的`CDH-*.parcel.sha`文件是下载的`CDH-*.parcel.sha1`文件重命名得来的.
        将下载好的文件(CDH-*.parcel、CDH-*.parcel.sha、manifest.json)拷贝到该目录下。
    
    子节点:
        [root@pazi2 ~]#  mkdir -p /opt/cloudera/parcels
        [root@pazi2 ~]#  chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
复制代码

启动CM服务

主节点:
    [root@pazi1 ~]# /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server start
主节点以及子节点:
    [root@pazi2 ~]# /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent start

其余操作:
    关闭:
        将start修改为:stop
    查看状态:
        将start修改为:status

启动完毕之后:
    访问:http://pazi1:7180,若可以访问(用户名、密码:admin) ,则安装成功。

注意:
    Manager启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。
复制代码

5、CDH安装

1、访问http://192.168.0.111:7180,输入用户名和密码(admin/admin),点击“登陆”

clipboard.png

2、会先指出不同版本的不同功能

clipboard1.png

3、选择要安装CDH的主机。

配置主机:由于我们在各个节点都安装启动了agent,并且在中各个节点都在配置文件中指向pazi1是server节点,所以这里我们可以在“当前管理的主机”中看到三个主机,全部勾选并继续.

clipboard2.png

注意:如果cloudera-scm-agent没有设为开机启动,如果以上有重启这里可能会检测不到其他服务器。

4、选择安装CDH的版本,在这里我们要选择我们下载并且上传到Linux下的那个版本

clipboard3.png

下载安装配置的阶段会比较慢,需要耐心等待

clipboard4.png

5、检查主机

clipboard5.png

检查完毕后会出现两个警告,解决办法:

第一个警告直接在所有节点上执行

echo 10 > /proc/sys/vm/swappiness

第二个警告按照上面的说明,在所有节点上执行这两条命令

echo never > /sys/kernel/mm/transparent_hugepage/defrag >> /etc/rc.local

echo never > /sys/kernel/mm/transparent_hugepage/enabled >> /etc/rc.local

6、集群设置

选择需要安装的组件

clipboard6.png

分配组件节点关系

clipboard7.png

配置相关组件的数据库链接

clipboard8.png

配置相关组件的一些配置信息以及各种存储目录(默认即可)

也可以记录下来,后期或许会使用到。

clipboard9.png

开始安装各个组件,比较耗时并且容易出错,出错之后详见错误记录。

clipboard99.png

猜你喜欢

转载自juejin.im/post/7085343384789778468