zoukankan      html  css  js  c++  java
  • CentOS7 离线搭建 CDH5.16.1

    1. 环境

    1. Centos 7.6
    2. JDK 1.8
    3. Scala 2.11.8
    4. 服务器3台

    2. 服务器搭建前环境准备

    1.所有节点关闭防火墙

    #查看防火墙状态
    firewall-cmd --state
    #停止firewall
    systemctl stop firewalld.service
    #禁止firewall开机启动
    systemctl disable firewalld.service
    

    2.所有节点修改主机名

    vim /etc/sysconfig/network
    vim /etc/hostname
    

    3.所有节点配置主机名与ip地址映射

    vim /etc/hosts
    

    4.所有节点关闭SELINUX

    修改配置文件/etc/selinux/config(重启生效),将SELINUX=enforcing 改为SELINUX=disabled

    5.所有节点重启

    reboot
    

    6.所有节点配置ssh免密登录

    • 生成公钥和私钥
      任意目录下 ssh-keygen -t rsa , 然后敲 3 下回车,就会在 ~/.ssh 下生成两个文件 id_rsa(私钥)id_rsa.pub(公钥)

    • 将公钥拷贝到要免密登录的目标机器上
      进入~/.ssh目录,拷贝公钥 ssh-copy-id cdh02

      注意:**ssh 不会携带 /etc/profile,但是会携带 ~/.bashrc,建议在 ~/.bashrc 内添加 source /etc/profile **

    7.所有节点安装JDK,配置环境变量

    8.所有节点安装Scala,配置环境变量

    3. 安装Mysql

    1.卸载系统自带的相关数据库

    rpm -qa | grep mysql
    rpm -qa | grep mariadb
    
    rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
    

    2.部署Mysql

    tar -zxvf mysql-5.7.25-el7-x86_64.tar.gz -C /opt/module/
    

    3.账号与权限

    #添加账号
    groupadd mysql
    useradd -g mysql -s /sbin/nologin mysql
    
    #创建data目录
    mkdir /opt/module/mysql-5.7.25-el7-x86_64/data
    
    #修改权限
    chown -R mysql:mysql /opt/module/mysql-5.7.25-el7-x86_64/
    

    4.初始化Mysql,获取root@localhost的初始密码

    cd  /opt/module/mysql-5.7.25-el7-x86_64
    
    ./bin/mysqld --initialize --user=mysql --basedir=/opt/module/mysql-5.7.25-el7-x86_64 --datadir=/opt/module/mysql-5.7.25-el7-x86_64/data
    

    5.配置环境变量

    vim  /etc/profile
    
    source /etc/profile
    

    6.设置开机启动

    #复制开机启动脚本到系统服务
    cp /opt/module/mysql-5.7.25-el7-x86_64/support-files/mysql.server /etc/rc.d/init.d/mysqld
    chown mysql:mysql /etc/rc.d/init.d/mysqld
    
    # 修改默认的"basedir"与"datadir"
    vim /etc/rc.d/init.d/mysqld
    basedir=/opt/module/mysql-5.7.25-el7-x86_64
    datadir=/opt/module/mysql-5.7.25-el7-x86_64/data
    
    #添加开机启动脚本
    chkconfig --add mysqld
    
    #3:带网络的多用户,也就是所谓的纯字符模式
    #5:图形界面的多用户模式
    chkconfig --level 35 mysqld on
    

    7.设置文件路径:log && pid && socket

    # 日志路径
    mkdir -p /var/log/mysqld
    touch /var/log/mysqld/mysqld.log
    chown -R mysql:mysql /var/log/mysqld/
    
    # pid路径
    mkdir -p /var/run/mysqld
    chown -R mysql:mysql /var/run/mysqld/
    
    # socker路径
    mkdir -p /var/lib/mysqld
    chown -R mysql:mysql /var/lib/mysqld/
    ln -s /var/lib/mysqld/mysql.sock /tmp/mysql.sock
    

    8.设置my.cnf文件

    # 注意"log-error","pid-file"与"socket"的路径
    mkdir -p /opt/module/mysql-5.7.25-el7-x86_64/etc
    vim  /opt/module/mysql-5.7.25-el7-x86_64/etc/my.cnf
    
    
    [mysqld]
    character-set-server=utf8
    max_connections = 3000
    log-error=/var/log/mysqld/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    socket=/var/lib/mysqld/mysql.sock
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    [mysql]
    default-character-set=utf8
    
    # 软链接
    ln -s /opt/module/mysql-5.7.25-el7-x86_64/etc/my.cnf /etc/my.cnf
    
    # 赋权
    chown -R mysql:mysql /opt/module/mysql-5.7.25-el7-x86_64/etc/
    

    9.启动Mysql

    # 使用初始化密码登陆
    mysql -uroot -p
    
    set password=password(‘123456‘);
    flush privileges;
    
    # 远程登陆权限
    grant all privileges on *.*  to  'root'@'%'  identified by '123456'  with grant option;
    flush privileges;
    
    # 查看账号
    select user, host, authentication_string from mysql.user;
    

    4.Cloudera Mnanger安装

    CM下载地址:http://archive.cloudera.com/cm5/cm/5/
    离线库下载地址:http://archive.cloudera.com/cdh5/parcels

    1.所有节点下载第三方依赖

    yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
    

    2.创建CM需要的数据库

    --集群监控数据库
    create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
    --hive数据库
    create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
    --oozie数据库
    create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
    --hue数据库
    create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    

    3.解压 cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz (在cdh01上)

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

    4.创建用户cloudera-scm(所有节点)

    useradd --system --home=/opt/module/cloudera-manager/cm-5.16.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
    
    # --system 创建一个系统账户
    # --home 指定用户登入时的主目录,替换系统默认值/home/<用户名>
    # --no-create-home 不要创建用户的主目录
    # --shell 用户的登录 shell 名
    # --comment 用户的描述信息
    

    注意:
    Cloudera Manager默认用户为cloudera-scm,创建具有此名称的用户是最简单的方法。 安装完成后,将自动使用此用户。

    5.配置CM Agent

    vim /opt/module/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini
    

    6.配置CM的数据库

    1.拷贝mysql jar文件到目录 /usr/share/java/
    mkdir /usr/share/java/
    cp /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java/
    
    #注意jar包名称要修改为mysql-connector-java.jar
    mv /usr/share/java/mysql-connector-java-5.1.27-bin.jar  /usr/share/java/mysql-connector-java.jar
    
    2.在mysql中创建cm库
    /opt/module/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hcdh01 -uroot -p123456 --scm-host cdh01 scm scm scm
    
    ## -h:Database host
    ## -u:Database username
    ## -p:Database Password
    ## --scm-host:SCM server's hostname
    

    7.分发cloudera-manager

    scp -r /opt/module/cloudera-manager/ cdh02:/opt/module/
    scp -r /opt/module/cloudera-manager/ cdh03:/opt/module/
    

    8.创建Parcel-repo 目录(cdh01)

    mkdir -p /opt/cloudera/parcel-repo
    chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
    
    cp /opt/software/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/
    
    cp /opt/software/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha /opt/cloudera/parcel-repo/
    
    cp /opt/software/manifest.json /opt/cloudera/parcel-repo/
    

    9.在Agent 节点(cdh01,cdh02,cdh03)创建目录/opt/cloudera/parcels

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

    10.分发Parcel-repo

    scp -r /opt/cloudera/ cdh02:/opt/
    scp -r /opt/cloudera/ cdh03:/opt/
    

    11.启动和关闭CM Server&Agent 服务

    服务节点:cdh01

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

    工作节点:cdh01,cdh02,cdh03

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

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

    12.访问http://xxx:7180,账号密码:admin

    5.安装CDH

    1.最终用户许可条款和条件

    2.部署版本

    3.指定集群服务的安装节点

    4.选择CDH版本

    5.集群安装,安装速度视网络情况而定


    报错1:主机运行状况不良!
    原因:CM的集群是Server-Agent模式的,那么必须有一个唯一的id来标识Server和Agent属于同一个集群,在Agent端就是使用cm_guid文件来记录id的;假设server端重新安装了一遍,重新构建集群,而agent没有重新安装,那么他们的id是一定不同的,就会造成上面的异常。
    解决:删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复

    rm -rfv /opt/module/cloudera-manager/cm-5.16.1/lib/cloudera-scm-agent/cm_guid
    

    报错2:分发parcel卡住

    机器的hosts文件内容不一致!有的配置没有localhost!
    把localhost这个域名添加回去:
    127.0.0.1 localhost
    

    6.检查主机正确性

    7.群集设置,安装服务(选择自定义服务)

    8.分配角色

    9.数据库设置

    10.审核更改

    11.首次运行

    12.服务安装完成

  • 相关阅读:
    在k8s中部署jenkins
    k8s CI/CD介绍
    k8s 构建jenkinsslave
    k8s 安全框架
    k8s RBAC介绍
    k8s 存储小结
    k8s 实施准备工作
    k8s 网络示例
    jenkins在kubernetes中动态创建代理
    k8s 鉴权 授权 准入控制
  • 原文地址:https://www.cnblogs.com/wuning/p/11699756.html
Copyright © 2011-2022 走看看