美文网首页
Ubuntu18.04安装CDH6.3.1(6.3.2)

Ubuntu18.04安装CDH6.3.1(6.3.2)

作者: john瀚 | 来源:发表于2020-03-30 12:09 被阅读0次

    环境准备

    全部以root用户操作。

    修改每个机器的hostname

    • vim /etc/hosts
    172.16.244.65   clickhouse1
    172.16.244.104  clickhouse2
    172.16.244.123  clickhouse3
    172.16.244.136  clickhouse4
    172.16.244.127  clickhouse5
    172.16.244.139  clickhouse6
    

    安装pssh

    pssh是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的。

    apt-get install pssh
    
    echo "alias pssh=parallel-ssh" >> ~/.bashrc && . ~/.bashrc
    echo "alias pscp=parallel-scp" >> ~/.bashrc && . ~/.bashrc
    echo "alias prsync=parallel-rsync" >> ~/.bashrc && . ~/.bashrc
    echo "alias pnuke=parallel-nuke" >> ~/.bashrc && . ~/.bashrc
    echo "alias pslurp=parallel-slurp" >> ~/.bashrc && . ~/.bashrc
    

    创建hosts.txt,
    vim ~/hosts.txt

    clickhouse1
    clickhouse2
    clickhouse3
    clickhouse4
    clickhouse5
    clickhouse6
    

    打通master机器到slave机器的ssh

    在clickhouse1上执行,并一路回车。

    ssh-keygen -t dsa
    

    把公钥拷贝到所有被管理机中

    ssh-copy-id -i clickhouse2
    ssh-copy-id -i clickhouse3
    ssh-copy-id -i clickhouse4
    ssh-copy-id -i clickhouse5
    ssh-copy-id -i clickhouse6
    

    测试ssh是否打通

    pssh -h host.txt -i "whoami"
    

    关闭每台机器的防火墙

    pssh -h host.txt -i "apt-get install ufw"
    pssh -h host.txt -i "ufw disable"
    

    安装ntp

    pssh -h host.txt -i "apt-get install ntp"
    pssh -h host.txt -i "systemctl enable ntp"
    

    编辑clickhouse1的文件 "/etc/ntp.conf"

    driftfile  /var/lib/ntp/drift
    pidfile   /var/run/ntpd.pid
    logfile /var/log/ntp.log
    restrict    default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    restrict 127.0.0.1
    server 127.127.1.0
    fudge  127.127.1.0 stratum 10
    server ntp.aliyun.com iburst minpoll 4 maxpoll 10
    restrict ntp.aliyun.com nomodify notrap nopeer noquery
    

    编辑clickhouse[2-6]的文件 "/etc/ntp.conf"

    添加:

    server clickhouse1 prefer
    

    开始安装

    添加仓库

    每台机器都需要执行下面的命令。

    pssh -h host.txt -i  "wget https://archive.cloudera.com/cm6/6.3.1/ubuntu1604/apt/archive.key"
    pssh -h host.txt -i  "apt-key add archive.key"
    pssh -h host.txt -i  "wget https://archive.cloudera.com/cm6/6.3.1/ubuntu1804/apt/cloudera-manager.list"
    pssh -h host.txt -i  "mv cloudera-manager.list /etc/apt/sources.list.d/"
    pssh -h host.txt -i  "apt-get update"
    

    下载安装包

    在线安装太慢选择先下载下来,下载这个地址下面的所有文件:

    https://archive.cloudera.com/cm6/6.3.1/ubuntu1804/apt/pool/contrib/e/enterprise/*
    # 文件列表
    cloudera-manager-agent_6.3.1~1466458.ubuntu1804_amd64.deb   2019-10-11 08:42    9.07MB
    cloudera-manager-daemons_6.3.1~1466458.ubuntu1804_all.deb   2019-10-11 08:42    1.15GB
    cloudera-manager-server-db-2_6.3.1~1466458.ubuntu1804_all.deb   2019-10-11 08:42    9.51KB
    cloudera-manager-server-db_6.3.1~1466458.ubuntu1804_all.deb 2019-10-11 08:42    1.08KB
    cloudera-manager-server_6.3.1~1466458.ubuntu1804_all.deb    2019-10-11 08:42    4.77KB
    

    然后放到每台机器的路径:/var/cache/apt/archives/ 下.
    我是先将上面的五个文件先上传到clickhouse1上,然后通过pssh在分发到其他机器上。分发命令:

    pscp -r -h host.txt /var/cache/apt/archives/cloudera-* /var/cache/apt/archives/ 
    

    下载parcels文件

    wget -c https://archive.cloudera.com/cdh6/6.3.2/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel
    wget -c https://archive.cloudera.com/cdh6/6.3.2/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha1
    wget -c https://archive.cloudera.com/cdh6/6.3.2/parcels/manifest.json
    

    将下载下来的CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha1 改为 CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha
    将下载好的这三个文件分别上传到每个服务器上的路径: /opt/cloudera/parcel-repo/

    # 每个机器先创建文件夹
    pssh -h host.txt -i "mkdir -p /opt/cloudera/parcel-repo"
    

    我是先将上面的五个文件先上传到clickhouse1上,然后通过pssh在分发到其他机器上。分发命令:

    pscp -r -h host.txt /opt/cloudera/parcel-repo/* /opt/cloudera/parcel-repo/
    

    安装JAVA

    pssh -h host.txt -i "apt-get install openjdk-8-jdk"
    

    安装Mysql

    安装在在clickhouse1下,涉及到数据的操作都在这下面执行,因为Cloudera Manager Server在clickhouse1下启动。

    apt-get install -yq mysql-server mysql-client libmysqlclient-dev libmysql-java
    
    vim /etc/mysql/mysql.conf.d/mysqld.cnf 
    去掉 
    bind-address = 127.0.0.1
    
    #初始化mysql 记得更改root密码
    sudo mysql_secure_installation
    
    #创建数据库并授权
    sudo mysql -h27.0.0.1 -uroot -p
    

    创建CDH依赖的数据以及用户

    -- 创建数据库
    -- Cloudera Manager Server
    CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- Activity Monitor
    CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- Reports Manager
    CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- Hue
    CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- Hive Metastore Server
    CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- Sentry Server
    CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- Cloudera Navigator Audit Server
    CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- Cloudera Navigator Metadata Server
    CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    -- Oozie
    CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
     
    #创建用户并授权
    GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm123456';
    GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon123456';
    GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman123456';
    GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue123456';
    GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive123456';
    GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry123456';
    GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav123456';
    GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms123456';
    GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie123456';
    

    设置Cloudera Manager数据库

    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm123456
    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql amon amon amon123456
    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql rman rman rman123456
    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql hue hue hue123456
    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql hive hive hive123456
    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql sentry sentry sentry123456
    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql nav nav nav123456
    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql navms navms navms123456
    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql oozie oozie oozie123456
    

    安装cloudera

    每个机器都需要执行。由于我们提前离线下载好了安装文件,并放入到了路径/var/cache/apt/archives/下,所以下面的命令跳过了下载执行很快。

    pssh -h host.txt -i "apt-get install -yq cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server"
    

    启动

    启动cloudera-scm-server

    在clickhouse1启动

    systemctl start cloudera-scm-server
    #查看启动日志,等待Jetty启动完成
    tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
    

    启动cloudera-scm-agent

    编辑每台机器的这个文件。
    vim /etc/cloudera-scm-agent/config.ini

    [General]
    # Hostname of the CM server.
    server_host=clickhouse1
    

    启动cloudera-scm-agent,每台机器都启动

    pssh -h host.txt -i "systemctl start cloudera-scm-agent"
    
    #查看启动日志,等待Jetty启动完成
    tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
    

    访问cloudera-manager

    • 浏览器输入http://clickhouse1:7180/
    • 用户/密码:admin/admin
    • 按照向导搭建集群。
    • 有问题查看日志解决

    相关文章

      网友评论

          本文标题:Ubuntu18.04安装CDH6.3.1(6.3.2)

          本文链接:https://www.haomeiwen.com/subject/xlukvctx.html