• Centos7 安装包方式(离线)安装Cloudera Manager和CDH


    Cloudera Manager 技术架构

    在这里插入图片描述

    • Agent:安装在每台主机上。该代理负责启动和停止的过程,拆包配置,触发装置和监控主机。
    • Management Service:由一组执行各种监控,警报和报告功能角色的服务。
    • Database:存储配置和监视信息。通常情况下,多个逻辑数据库在一个或多个数据库服务器上运行。例如,Cloudera的管理服务器和监控角色使用不同的逻辑数据库。
    • Cloudera Repository:软件由Cloudera 管理分布存储库。
    • Clients:是用于与服务器进行交互的接口:
    • Admin Console :基于Web的用户界面与管理员管理集群和Cloudera管理。
    • API :与开发人员创建自定义的Cloudera Manager应用程序的API。

    Cloudera Manager 四大功能

    1.管理:对集群进行管理,如添加、删除节点等操作。

    2.监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。

    3.诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。

    4.集成:对hadoop的多组件进行整合。

    CDH 介绍

    CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。

    环境介绍

    查看系统:cat /etc/redhat-release

    CentOS Linux release 7.7.1908 (Core)
    

    查看机器名称:hostname

    S0
    

    完整集群环境:

    IP 主机名
    192.168.3.9 S0
    192.168.3.18 S1
    192.168.3.161 S2
    192.168.3.136 S3

    基础环境配置

    SSH免密登录

    所有节点都需要执行 生成秘钥 然后发送到其他所有节点 实现ssh免密码登录

    如下是主节点的操作:

    yum -y install openssh-clients                 #安装ssh
    ssh-keygen -t rsa                              #一直按回车 生成秘钥
    ssh-copy-id 192.168.3.18	                   #发送到192.168.3.18节点   
    ssh-copy-id 192.168.3.161	                   #发送到192.168.3.161节点
    ssh-copy-id 192.168.3.136                      #发送到192.168.3.136节点                
    

    其他节点也如此操作,需修改发送到节点地址

    配置主机

    hostnamectl set-hostname S0
    

    S0为主机名称,具体的内容根据实际的IP和主机名自行修改

    设置网络

    vi /etc/sysconfig/network
    

    设置host

    vi /etc/hosts
    
    配置以下内容:
    192.168.3.9 S0
    192.168.3.18 S1
    192.168.3.161 S2
    192.168.3.163 S3
    

    具体的内容根据实际的IP和主机名自行修改

    将hosts文件拷贝到其他机器

    scp /etc/hosts root@192.168.3.18:/etc/
    scp /etc/hosts root@192.168.3.161:/etc/
    scp /etc/hosts root@192.168.3.136:/etc/
    

    关闭防火墙

    查看防火墙状态

    firewall-cmd --state
    

    停止firewall

    systemctl stop firewalld.service
    

    禁止firewall开机启动

    systemctl disable firewalld.service 
    

    关闭selinux

    查看SELinux状态

    /usr/sbin/sestatus -v 
    

    如果SELinux status参数为enable,即开启状态

    getenforce 也可以用这个命令检查

    临时关闭selinux,命令:setenforce 0

    永久关闭selinux,修改配置文件需要重启机器

    vi /etc/selinux/config
    
    #将SELINUX=enforcing改成SELINUX=disabled 
    

    将selinux 文件拷贝到其他机器

    scp /etc/sysconfig/selinux root@192.168.3.18:/etc/sysconfig/
    scp /etc/sysconfig/selinux root@192.168.3.161:/etc/sysconfig/
    scp /etc/sysconfig/selinux root@192.168.3.136:/etc/sysconfig/
    

    再次强调,重启各服务器

    安装JDK

    首先要准备java环境 安装jdk 设置JAVA_HOME环境变量

    /usr/java/jdk1.8.0_251-amd64
    

    注意: jdk要安装在/usr/java/ 里 ,否则Cloudera Manager找不到会报错

    也可选用rpm -i jdk-8u251-linux-x64.rpm 安装

    配置环境变量

    vi /etc/profile
    
    export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    

    重新加载profile使配置生效

    source /etc/profile
    

    环境变量配置完成,测试环境变量是否生效

    echo $JAVA_HOME
    java -version
    

    安装NTP

    yum install ntp -y
    

    设置开机启动

    chkconfig ntpd on
    

    设置时间同步

    ntpdate -u s2c.time.edu.cn
    

    查看服务状态

    ntpq -p
    

    安装数据库服务

    • 安装mysql

      wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
      yum -y install mysql57-community-release-el7-10.noarch.rpm
      yum -y install mysql-community-server
      
    • 设置开机启动

      systemctl enable mysqld.service
      
    • 启动服务并查看服务状态

      systemctl start  mysqld.service
      systemctl status mysqld.service
      
    • 查看初始密码

      grep "password" /var/log/mysqld.log
      

      在这里插入图片描述

    • 进入数据库

      mysql -uroot -p     # 回车后会提示输入密码,密码为上面的初始密码
      
    • 修改默认密码

      ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
      

      里有个问题,新密码设置的时候如果设置的过于简单会报错:
      在这里插入图片描述

      原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关

      如果不需要密码策略,在my.cnf文件中添加如下配置禁用即可,这样就可以设置简单密码了:

      vi /etc/my.cnf
      
      validate_password = off
      

      yum安装的默认在/etc文件夹下,修改完后记得需要重新启动MySQL服务

    • 设置远程登录

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1qaz@wsx' WITH GRANT OPTION;
      FLUSH PRIVILEGES;
      

      先设置刚才的密码可以远程登录,然后使用flush命令使配置立即生效。
      如果还不行可以尝试重启一下数据库
      在这里插入图片描述

    • 安装数据库驱动

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

    下载CM与CDH

    CM我选的是5,下载地址:http://archive.cloudera.com/cm5/cm/5/
    在这里插入图片描述

    CHD选择要与CM版本对应,下载地址:http://archive.cloudera.com/cdh5/parcels/5.16.2/
    在这里插入图片描述

    需要下载3个文件, 注意: 一定要修改sha1名称为sha

    将上述三个文件上传至主节点

    Cloudera Manager Server的安装

    在主节点进行以下配置,我的S0

    创建安装目录并解压安装介质

    mkdir /opt/cloudera-manager
    tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
    

    安装数据库驱动

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

    一定要这个名字(mysql-connector-java.jar),否则会报错Unable to find JDBC driver for database type: MySQL

    创建系统用户cloudera-scm

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

    创建server存储目录

    mkdir /var/lib/cloudera-scm-server
    chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
    

    创建hadoop安装包存储目录

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

    配置agent的server指向

    vi /opt/cloudera-manager/cm-5.16.2/etc/cloudera-scm-agent/config.ini
    #将server_host修改为cloudera manager server的主机名,对于本示例而言,也就是server主机。
    

    部署CDH离线安装包

    mkdir -p /opt/cloudera/parcel-repo;
    chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo;
    

    在这里插入图片描述

    将CDH相关文件上传至此目录下

    上面由于使用外部mysql,此时,需要进行指定:

    /opt/cloudera-manager/cm-5.16.2/share/cmf/schema/scm_prepare_database.sh mysql scm -hlocalhost -uroot -p1qaz@WSX --scm-host localhost scm scm 
    
    #格式:scm_prepare_database.sh 数据库类型、要创建数据库名称、数据库服务器地址、具有创建权限的数据库用户名、具有创建权限的数据库密码、cm server服务器地址、访问新创建数据的用户名、访问新创建数据的密码
    

    详情请参考:https://www.cnblogs.com/xiqing/p/9645724.html

    启动Cloudera Manager Server

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

    启动Cloudera Manager Agent

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

    在本地数据创建以下数据库,用户后续进去安装

    CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'root';
    CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'root';
    CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'root';
    CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'root';
    CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'root';
    CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'root';
    CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'root';
    CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'root';
    

    Cloudera Manager Agent的安装

    在除了server服务器外的其他的服务器都要执行以下步骤进行对agent的部署
    创建安装目录并解压安装介质

    mkdir /opt/cloudera-manager
    tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
    

    安装数据库驱动

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

    创建系统用户cloudera-scm

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

    创建server存储目录

    mkdir /var/lib/cloudera-scm-server
    chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
    

    创建hadoop安装包存储目录

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

    配置agent的server指向

    vi /opt/cloudera-manager/cm-5.16.2/etc/cloudera-scm-agent/config.ini
    #将server_host修改为cloudera manager server的主机名,对于本示例而言,也就是server主机。
    

    启动Cloudera Manager Agent

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

    浏览器访问ip:7180

    用户名:admin 密码:admin

    到此为止,cloudera manager就安装完成。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    问题解决

    一、启动服务报错 pstree: 未找到命令
    /opt/cm-5.16.2/etc/init.d/cloudera-scm-agent:行109: pstree: 未找到命令
    /opt/cm-5.16.2/etc/init.d/cloudera-scm-server:行109: pstree: 未找到命令
    原因:缺少psmisc工具
    解决方法:yum install -y psmisc

    二、HDFS namenode或datanode无法启动
    删除全部节点的dfs目录:rm -rf dfs
    在主节点以ROOT身份进行命名节点格式化:hadoop namenode -format
    之后对dfs目录进行重新赋权:chown hdfs:hadoop -R /dfs/

    三、hive客户端的hdfs权限认证问题

    Permission denied: user=user, access=READ_EXECUTE, inode="/user/root":root:supergroup:drwx------
    
    hadoop fs -chmod -R 777 /user
    
    vi /etc/profile
    

    添加:export HADOOP_USER_NAME=hdfs(hdfs为最高权限)

    source /etc/profile
    

    四、impala故障

    select count(*) from impala_100yi;
    Query: select count(*) from impala_100yi
    Query submitted at: 2019-02-14 14:07:33 (Coordinator: http://cdh004:25000)
    Query progress can be monitored at: http://cdh004:25000/query_plan?query_id=5248ba412c4dcffa:306f374700000000
    WARNINGS: TransmitData() to 172.15.106.223:27000 failed: Invalid argument: Client connection negotiation failed: client connection to 172.15.106.223:27000: unable to find SASL plugin: PLAIN
    

    问题处理

    yum install gcc python-devel cyrus-sasl* -y 
    

    然后重启集群的agent和集群服务

    五、变更cloudera-scm-server地址

    关闭全部cloudera-scm-agent节点

    /opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-agent stop
    

    关闭原server节点

    /opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-server stop
    

    更变全部节点的server指向

    vi /opt/cloudera-manager/cm-5.16.2/etc/cloudera-scm-agent/config.ini
    #将server_host修改为cloudera manager server的主机名,对于本示例而言,也就是server主机
    

    更改数据地址

    cd /opt/cloudera-manager/cm-5.16.2/etc/cloudera-scm-server
    

    在这里插入图片描述

    # Auto-generated by scm_prepare_database.sh on 2020年 07月 14日 星期二 18:07:20 CST
    #
    # For information describing how to configure the Cloudera Manager Server
    # to connect to databases, see the "Cloudera Manager Installation Guide."
    #
    com.cloudera.cmf.db.type=mysql
    com.cloudera.cmf.db.host=S0
    com.cloudera.cmf.db.name=scm
    com.cloudera.cmf.db.user=root
    com.cloudera.cmf.db.setupType=EXTERNAL
    com.cloudera.cmf.db.password=1qaz@wsx
    

    在变更后的server节点

    /opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-server restart
    /opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-agent restart
    

    启动全部cloudera-scm-agent节点

    /opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-agent start
    
  • 相关阅读:
    分析记录:文件不落地的恶意脚本攻击——傀儡进程盗号
    恶意宏学习备忘04——恶意宏调试记录
    恶意宏学习备忘03——手动清除文档宏
    恶意宏学习备忘02
    恶意宏学习备忘
    IRP小结 0x01 IRP & IO_STACK_LOCATION(结合WRK理解)
    文件防删除保护(miniifiter)
    初识虚拟化
    HYPERSPACE
    几个常用内核函数(《Windows内核情景分析》)
  • 原文地址:https://www.cnblogs.com/gmhappy/p/13457022.html
Copyright © 2020-2023  润新知