美文网首页linux
CentOS 7 CDH 6.3.1 Cloudera Mana

CentOS 7 CDH 6.3.1 Cloudera Mana

作者: iDOKER | 来源:发表于2020-03-12 20:35 被阅读0次

    CDH 6.3.1 / Cloudera Manager6.3.1 CentOS 7 企业级离线安装 EZ 版

    FileInfo
    Filename - CDH 安装 EZ 版
    Version - v1.2.2003(2020/03/02 ~ 2020/03/05)
    Author - iDOKER
    Email - shadowdoker@gmail.com
    DescriptionKey - CDH install quick version

    考虑到复制方便,就不开启禁止复制了,但:文章未经授权禁止转载

    本文约定

    在文中将有以下提示符对重点进行标注说明,请注意文中提示。

    ️ - 文中出现此标记,代表重要提示,指需要格外注意的地方

    • 文中出现此标记,代表可选配置,建议配置,但不必要
      ✅ - 文中出现此标记,代表检查项目,需要检查对应的配置文件
      ❗️ - 文中出现此标记,代表该操作不可随意修改,如更改此步操作,请预先测试

    CDH 简单介绍

    Cloudera Distribution including Apache Hadoop - CDH 为 Cloudera 的开源 Apache Hadoop 发行版,面向 Hadoop 企业级部署。
    Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于 Web 的用户界面,支持大多数 Hadoop 组件,包括 HDFS、MapReduce、Hive、Pig、Hbase、Zookeeper、Sqoop,简化了大数据平台的安装和使用难度。
    除此 Apache Hadoop 发行版本之外,还有如下发行版:

    • Cloudera’s Distribution Including Apache Hadoop(CDH)「本文采用」
    • Hortonworks Data Platform (HDP)
    • MapR
    • EMR

    组件介绍

    Cloudera Manager 是用于管理 CDH 集群的端到端应用程序,统一管理和安装。CDH 除了可以通过 CM 安装也可以通过 YUM、TAR、RPM 安装。主要由如下几部分组成:

    • Server:Cloudera Manager 的核心。主要用于管理 web server 和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。
    • agent:安装在每台主机上。它负责启动和停止进程,部署配置,触发安装和监控主机。
    • Database:存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的 Cloudera 管理器服务和监视,后台程序使用不同的逻辑数据库。
    • Parcel(Cloudera Repository):由 Cloudera 提供的软件分发库。
    • Clients:提供了一个与 Server 交互的接口。

    节点介绍

    NAME NUMBER 描述
    Server 1 CM 中 Manager 节点
    Agent 1+N CM 中 其余 Node 节点

    软件包准备

    各节点需要安装:

    • JDK 1.8.0_161「1.8 即可,小版本皆可」
    • jdk-8u161-linux-x64.tar.gz

    Server节点需要安装:

    • MySQL 5.7.25
    • mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar
    • MySQL驱动
    • mysql-connector-java-5.1.47.jar

    CDH 安装需准备:

    • CDH安装包
    • cm6.3.1-redhat7.tar.gz
    • 需要其中的
    • cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
    • cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
    • cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
    • 对应高版本的文件 allkeys.asc
    • parcel包
    • CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
    • CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
    • manifest.json

    ALL 所有节点

    • ❗️关闭并禁止开机自启如下服务:系统防火墙(Firewalldiptables)、NetworkManager
    systemctl stop firewalld
    systemctl stop iptables
    systemctl stop NetworkManager
    
    systemctl disable firewalld
    systemctl disable iptables
    systemctl disable NetworkManager
    
    • ❗️关闭并禁用 SELinux
    sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    
    • ❗️永久修改各节点的 Hostname 必须防止变回默认
    hostnamectl set-hostname $HOSTNAME
    
    • ❗️添加服务器之间本地域名解析 /etc/hosts
    vi /etc/hosts
    # incloud itself
    # 192.168.10.1 localhost localhost.localhost
    
    • ❗️配置仅使用物理内存,所有主机都需要
    echo "vm.swappiness=0" >>/etc/sysctl.conf && sysctl -p
    
    • ❗️禁用透明页压缩,所有主机都需要
    echo "never" >/sys/kernel/mm/transparent_hugepage/defrag
    echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
    chmod +x /etc/rc.local
    echo "never" >/sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.local
    echo "never" >/sys/kernel/mm/transparent_hugepage/enabled" >>/etc/rc.local
    tail ‐2 /sys/kernel/mm/transparent_hugepage/defrag
    tail ‐2 /sys/kernel/mm/transparent_hugepage/enabled
    tail ‐2 /etc/rc.local
    

    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    echo never > /sys/kernel/mm/transparent_hugepage/enabled

    • ❗️️ 配置个节点时间同步,确保各个节点时间误差最大不得高于 2s
    yum -y install ntp
    

    server

    # 管理节点使用本地时钟源,执行以下语句即可
    cat <<EOF>/etc/ntp.conf
    driftfile /var/lib/ntp/drift
    restrict default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    restrict 127.0.0.1
    restrict -6 ::1
    server 127.127.1.0 iburst
    includefile /etc/ntp/crypto/pw
    keys /etc/ntp/keys
    EOF
    

    agent

    # 其他节点的时钟源为管理节点,执行以下语句即可
    cat <<EOF>/etc/ntp.conf
    driftfile /var/lib/ntp/drift
    restrict default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    restrict 127.0.0.1
    restrict -6 ::1
    server node1  iburst
    includefile /etc/ntp/crypto/pw
    keys /etc/ntp/keys
    EOF
    

    强制设置时间,写入硬件时钟

    # 修改各节点时间,时间为当前时间
    date -s "2020-04-16 23:11:07"
    # 写入硬件时钟
    hwclock -w
    

    启动服务,并设置开机自启动

    # 各节点启动服务
    systemctl start ntpd && systemctl enable ntpd
    
    • 配置 Java 运行环境,建议安装 JDK 1.8.0_161(亦可选择安装 CDH 时,选择安装 CDH 自带的 Oracle JDK)
    # JDK 安装路径
    mkdir -p /usr/local/java
    

    若操作系统安装有 OpenJDK 则移除系统原有的 JDK

    # 各节点都需要进行
    # 查找JDK
    rpm -aq|grep java
    rpm -aq|grep jdk
    # 卸载JDK
    yum -y remove [上述查找结果的包名]
    

    安装 Oracle JDK 1.8

    # 在各节点上进行安装
    # 创建java目录
    mkdir /usr/java/
    # 上传jdk目录下jdk-8u161-linux-x64.tar.gz到/usr/java目录 并解压
    cd /usr/java/
    tar -zxvf jdk-8u161-linux-x64.tar.gz
    # ️ 修改 jdk 所属用户用户组
    chown root:root jdk-8u161-linux-x64
    # 配置环境变量
    vi /etc/profile
    # 在后面追加下面三行
    export JAVA_HOME=/usr/java/jdk1.8.0_161
    export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=${JAVA_HOME}/bin:${PATH}
    # 最后刷新环境变量
    source /etc/profile
    # 查看 Java 是否安装成功
    java -version
    

    Server 节点

    若操作系统安装有 mariadb 则手工移除mariadb数据库
    ️ 亦可不移除,在安装 mysql 是会自动处理

      rpm -qa | grep mariadb
    # 结果应为 mariadb-libs-5.5.56-2.el7.x86_64
    # 卸载
      rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    

    安装 MySql 服务

    # 在 server 上安装 mysql 服务
    # 上传repo目录下mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar安装包到 /home/cdh/ 目录 并解压
      tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar
    # 进入解压目录 安装 mysql
      yum install net-tools
      rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm mysql-community-client-5.7.25-1.el7.x86_64.rpm mysql-community-common-5.7.25-1.el7.x86_64.rpm mysql-community-libs-5.7.25-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
    

    启动 mysql 服务,设置自启动

    # 在 server上启动 mysql 服务,并设置自启动
      systemctl start mysqld
      systemctl enable mysqld
    

    初始化 mysql 数据库

    # 在node1 上初始化mysql
    # 获得初始密码
      grep 'temporary password' /var/log/mysqld.log
    # 使用初始密码登录
      mysql -u root -p
    # 修改初始密码
      # show variables like 'validate_password%';# 查看密码验证策略
      set global validate_password_policy=0;# 设置密码验证策略为低
      set global validate_password_mixed_case_count=0;# 设置密码至少要包含的大小写字母个数
      set global validate_password_number_count=0;# 设置密码至少要包含的数字个数
      set global validate_password_special_char_count=0;# 设置密码至少要包含的特殊字符个数
      set global validate_password_length=3; # 设置密码最小长度为3
      ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
      grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;
      grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
      flush privileges;
      quit;
    
    • 配置 mysql jdbc 驱动
    # 在各节点上执行
    # 上传 repo 目录下 mysql 连接 mysql-connector-java-5.1.47.jar 到 /usr/share/java
      ️ mkdir -p /usr/share/java
    # 重命名
      ️ mv mysql-connector-java-5.1.47.jar mysql-connector-java.jar
    # 授权
      ️ chmod 777 mysql-connector-java.jar
    
    • 安装 daemons agent server
      yum -y install cloudera-manager-agent cloudera-manager-daemons cloudera-manager-server
    
    • 初始化 CM 相关数据库
      ##执行数据库脚本
      cd /opt/cloudera/cm/schema
      ./scm_prepare_database.sh mysql -uroot -p scm scm scm
    
    • 修改 agent 配置文件
    vi /etc/cloudera-scm-agent/config.ini
    server_host=$SERVERHOSTNAME
    

    Agent 节点

    • 安装 daemons agent
    yum -y install cloudera-manager-agent cloudera-manager-daemo
    
    • 修改 agent 配置文件
    vi /etc/cloudera-scm-agent/config.ini
    server_host=$SERVERHOSTNAME
    

    开始启动服务

    server

    systemctl start cloudera-scm-server
    systemctl enable cloudera-scm-server
    systemctl start cloudera-scm-agent
    systemctl enable cloudera-scm-agent
    

    agent

    systemctl start cloudera-scm-agent
    systemctl enable cloudera-scm-agent
    

    网页操作

    http://server:7180
    默认用户名为 admin
    默认密码为 admin

    附录

    组件建表语句

    mysql -uroot -p123456
    
      ##给scm授权
      grant all privileges on *.* to 'scm'@'localhost' identified by 'scm' with grant option;
      grant all privileges on *.* to 'scm'@'%' identified by 'scm' with grant option;
    
      ##创建hive数据库
      create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
      ##给hive授权
      grant all privileges on *.* to 'hive'@'localhost' identified by 'hive' with grant option;
      grant all privileges on *.* to 'hive'@'%' identified by 'hive' with grant option;
    
      ##创建oozie数据库
      create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
      ##给oozie授权
      grant all privileges on *.* to 'oozie'@'localhost' identified by 'oozie' with grant option;
      grant all privileges on *.* to 'oozie'@'%' identified by 'oozie' with grant option;
    
      ##创建hue数据库
      create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
      ##给hub授权
      grant all privileges on *.* to 'hue'@'localhost' identified by 'hue' with grant option;
      grant all privileges on *.* to 'hue'@'%' identified by 'hue' with grant option;
    
      ##刷新权限
      flush privileges;
    
      ##退出
      quit;
    

    附录结束

    版本修订记录

    版本号 修订日期 修订人 备注
    v1.1.2003 2020-03-02 nuo 创建文档
    v1.2.2003 2020-03-18 nuo agent 配置勘误

    相关文章

      网友评论

        本文标题:CentOS 7 CDH 6.3.1 Cloudera Mana

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