Centos7 安装包方式(离线)安装Cloudera Manager和CDH Cloudera Manager 技术架构 Cloudera Manager 四大功能 CDH 介绍 环境介绍 基础环境配置 安装数据库服务 下载CM与CDH Cloudera Manager Server的安装 Cloudera Manager Agent的安装 问题解决

Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

  • 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
    

    Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

  • 进入数据库

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

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

    里有个问题,新密码设置的时候如果设置的过于简单会报错:
    Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

    原因是因为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命令使配置立即生效。
    如果还不行可以尝试重启一下数据库
    Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

  • 安装数据库驱动

    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/
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

CHD选择要与CM版本对应,下载地址:http://archive.cloudera.com/cdh5/parcels/5.16.2/
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

需要下载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;

Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

将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就安装完成。

Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决
Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

问题解决

一、启动服务报错 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

Centos7 安装包方式(离线)安装Cloudera Manager和CDH
Cloudera Manager 技术架构
Cloudera Manager 四大功能
CDH 介绍
环境介绍
基础环境配置
安装数据库服务
下载CM与CDH
Cloudera Manager Server的安装
Cloudera Manager Agent的安装
问题解决

# 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