zoukankan      html  css  js  c++  java
  • CDH5.16.1集群的搭建

    一.准备⼯工作

    1.离线部署主要分为三块:

    a.MySQL离线部署

    b.CM离线部署

    c.Parcel⽂文件离线源部署

    2.规划

     3.下载源:

    CM:

    Parcel

    1. CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel
    2. CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1
    3. manifest.json

    JDK

    • https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
    • 下载jdk-8u202-linux-x64.tar.gz
    • 准备好百度云,下载安装包:
    • 链接:https://pan.baidu.com/s/10s-NaFLfztKuWImZTiBMjA 密码:viqp

    在mysql的部署之前考虑到airflow支持不超过5.6的版本,所以就选择了5.6版本,你们具体用啥可以自行决定

    下载:

    • mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
    • MySQL jdbc jar mysql-connector-java-5.1.47.jar  

     具体可参考博客:https://www.cnblogs.com/xuziyu/p/10353968.html

    二.集群节点初始化

    1.当前笔记本或台式机配置hosts⽂文件

    2.设置所有节点的hosts⽂文件

    • 节点上的hosts配置的网址一定是内网的

    3.关闭所有节点的防⽕火墙及清空规则

    systemctl stop firewalld
    systemctl disable
    firewalld iptables -F

    4.关闭所有节点的selinux

    vi /etc/selinux/config
    将SELINUX=enforcing改为SELINUX=disabled
    设置后需要重启才能⽣生效

    5.设置所有节点的时区⼀致及时钟同步

    6.1.时区

    [root@test-hadoop01 ~]# date
    Wed Oct 30 16:54:21 CST 2019

    在所有的节点执行此命令看Time zone是否都是 Asia/Shanghai ,如果是就OK如果不是需要设置为 Asia/Shanghai

    #否则所有节点设置亚洲上海时区  均执行以下命令,以此来设置Asia/Shanghai时区

    timedatectl set-timezone Asia/Shanghai

    所有节点同步时间

    方式:在每天凌晨所有机器与test-hadoop01同步一次设置如下

    所有机器执行命令

    crontab -e

    添加脚本

    00 00 * * * /usr/sbin/ntpdate test-hadoop01

    然后所有节点执行

     /usr/sbin/ntpdate test-hadoop01

    7.部署集群的JDK

    mkdir /usr/java
    tar -xzvf jdk-8u45-linux-x64.tar.gz -C /usr/java/
    #切记必须修正所属⽤用户及⽤用户组
    chown -R root:root /usr/java/jdk1.8.0_45
    echo "export JAVA_HOME=/usr/java/jdk1.8.0_45" >> /etc/profile
    echo "export PATH=${JAVA_HOME}/bin:${PATH}" >> /etc/profile
    source /etc/profile
    which java
     注意:如果你的机器上本来就有java的环境看一下他是在什么目录之下
    
    如果家目录是 JAVA_HOME=/usr/java/jdk1.8.0_45这种形式的,那么没有什么需要修改的,如果你的java的家目录不是这样的,那么你要注意了
    
    比如我这次部署的过程中我的家目录就是/usr/local/java,但是我抱着侥幸心理并没有去修改他,然后后边部署spark的时候果然出了问题
    
    所以在你的Java的家目录不是/usr/java/jdk1.8.0_45这种形式的时候,一定要做一个软连接到/usr/java/default  目录下
    
    敲黑板划重点   血与泪的教训
    

    8.test-hadoop01节点离线部署MySQL5.6

     具体可参考博客:https://www.cnblogs.com/xuziyu/p/10353968.html

    9.创建CDH的元数据库和⽤用户、amon服务的数据库及⽤用户

    create database cmf DEFAULT CHARACTER SET utf8;
    create database amon DEFAULT CHARACTER SET utf8;
    grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
    grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
    flush privileges;

    10.test-hadoop01节点部署mysql jdbc jar

    mkdir -p /usr/share/java/
    
    cp mysql-connector-java.jar /usr/share/java/

    三.CDH部署

    1.离线部署cm server及agent

    1.1.所有节点创建⽬目录及解压

    mkdir /opt/cloudera-manager
    
    tar -zxvf cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C /opt/cloudera-manager/

    1.2.所有节点修改agent的配置,指向server的节点test-hadoop01

    sed -i "s/server_host=localhost/server_host=test-hadoop01/g" /opt/cloudera-manager/cm5.16.1/etc/cloudera-scm-agent/config.ini


    1.3.主节点修改server的配置:

    vi /opt/cloudera-manager/cm-5.16.1/etc/cloudera-scm-server/db.properties
    
    com.cloudera.cmf.db.type=mysql
    
    com.cloudera.cmf.db.host=test-hadoop01
    
    com.cloudera.cmf.db.name=cmf
    
    com.cloudera.cmf.db.user=cmf
    
    com.cloudera.cmf.db.password=123456
    
    com.cloudera.cmf.db.setupType=EXTERNAL


    1.4.所有节点创建⽤用户

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


    1.5.⽬目录修改⽤用户及⽤用户组

    chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager

    2.test-hadoop01节点部署离线parcel源

    2.1.部署离线parcel源

    $ mkdir -p /opt/cloudera/parcel-repo
    $ cp CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel  /opt/cloudera/parcel-repo/

    #切记cp时,重命名去掉1,不不然在部署过程CM认为如上⽂文件下载未完整,会持续下载

    $ cp CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.1 6.1-1.cdh5.16.1.p0.3-el7.parcel.sha
    
    $ cp manifest.json /opt/cloudera/parcel-repo/
    $cd /opt/cloudera/parcel-repo

    [root@test-hadoop01 parcel-repo]# ll total 3081664 -rw-r--r-- 1 root root 2127506677 May 9 18:04 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel -rw-r--r-- 1 root root 41 May 9 18:03 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 -rw-r--r-- 1 root root 841524318 May 9 18:03 cloudera-manager-centos7-cm5.16.1_x 86_64.tar.gz -rw-r--r-- 1 root root 185515842 Aug 10 2017 jdk-8u144-linux-x64.tar.gz -rw-r--r-- 1 root root 66538 May 9 18:03 manifest.json -rw-r--r-- 1 root root 989495 May 25 2017 mysql-connector-java.jar

    2.2.⽬目录修改⽤用户及⽤用户组

    $ chown -R cloudera-scm:cloudera-scm /opt/cloudera/

    3.所有节点创建软件安装⽬目录、⽤用户及⽤用户组权限

    mkdir -p /opt/cloudera/parcels chown -R cloudera-scm:cloudera-scm /opt/cloudera/

    4.test-hadoop01节点启动Server

    4.1.启动server

    /opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server start


    4.2.要确保test-hadoop01节点防⽕火墙放开7180端⼝

    4.3.等待1min,打开 http://hadoop001:7180 账号密码:admin/admin

    4.4.假如打不不开,去看server的log,根据错误仔细排查错误

    5.所有节点启动Agent

    /opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent start

    6.接下来,全部Web界⾯面操作

    http://hadoop001:7180/
    
    账号密码:admin/admin

    7.欢迎使⽤用Cloudera Manager--最终⽤用户许可条款与条件。勾选

     8.欢迎使⽤用Cloudera Manager--您想要部署哪个版本?选择Cloudera Express免费 版本

    9.感谢您选择Cloudera Manager和CDH

    10.为CDH集群安装指导主机。选择[当前管理理的主机],全部勾选

     11.选择存储库


    12.集群安装--正在安装选定Parcel

    • 假如本地parcel离线源配置正确,则"下载"阶段瞬间完成,其余阶段视节点数与内部⽹网络情况决定。

     13.检查主机正确性

    14.⾃自定义服务,选择部署Zookeeper、HDFS、Yarn服务

    15.⾃自定义⻆角⾊色分配(具体如何分配,可自行决定)

     16.数据库设置

     17.审改设置,默认即可

     18.⾸首次运⾏

     19.恭喜您!

     到这里简单的CDH集群就搭建成功了!!!

    搭建路上可能会遇到各种各样的问题,但是大坑我应经帮助各位避免了,剩下的靠你自己了!加油啊!

  • 相关阅读:
    Django之Form、CSRF、cookie和session
    Django之路由、模板和模型系统
    简约而不简单的Django
    剑指offer(10)矩形覆盖
    剑指offer(9)变态跳台阶
    剑指offer(8)跳台阶
    剑指offer(7)斐波那契数列
    剑指offer(6)旋转数组中的最小数字
    剑指offer(5)用两个栈实现队列
    剑指offer(4)重建二叉树
  • 原文地址:https://www.cnblogs.com/xuziyu/p/11756902.html
Copyright © 2011-2022 走看看