菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)

CDH6.1.1离线安装笔记

  • 1、概述
  • 2、安装包准备
    • 2.1、下载JDK
    • 2.2、下载CM安装包
    • 2.3、下载CDH安装包(parcel)
    • 2.4、下载mysql驱动
  • 3、基础环境配置准备
    • 3.1、配置主机名
    • 3.2、配置hosts解析
    • 3.3、关闭防火墙
    • 3.4、设置selinux
    • 3.5、设置ssh无密码登录
    • 3.6、时间同步
    • 3.7、禁用透明大页面压缩
    • 3.8、优化交换分区
    • 3.9、安装jdk
  • 4、Cloudera Manager安装
    • 4.1、mysql安装
    • 4.2、创建数据库
    • 4.3、构建本地仓库
    • 4.4、安装 CM Server 和 Agent
    • 4.5、建立CM的数据库
    • 4.6、启动CM服务
    • 4.7、访问和应用部署
  • 5、安问题和错误集合
    • 5.1、Cloudera 安装Parcel提示主机运行状况不良
    • 5.2、yum安装cloudera-manage-* No such file or directory
    • 5.3、Cloudera Manager 安装锁的问题

1、概述

集群、服务器系统、环境版本:

内容 版本
CentOS 7.6
JDK JDK-8u181
CDH 6.1.1

CDH5.16.1和CDH6.1.1支持的java版本:同时做一个比较 文档地址

JDK CDH5.16.1 CDH6.1.1
JDK7 1.7u55, 1.7u67, 1.7u75, 1.7u80 不支持
JDK8 1.8u31, 1.8u74, 1.8u91, 1.8u102, 1.8u111, 1.8u121, 1.8u131, 1.8u144, 1.8u162, 1.8u181 1.8u31, 1.8u74, 1.8u91, 1.8u102, 1.8u111, 1.8u121, 1.8u131, 1.8u141, 1.8u162, 1.8u181
OpenJDK 1.8u181(CDH5.16之前的版本不支持OpenJDK) 1.8u181(CDH6.0貌似也不支持)

这里有一个坑,没有把java安装到默认路径/usr/java 下面的问题,然后启动server的时候没有启动成功,没有日志
使用 systemctl status cloudera-scm-server 找不到问题所在,但是在 journalctl -xe 系统日志中发现了问题,提示:如下

Unable to find a compatible version of Java on this host, 
either because JAVA_HOME has not been set or because a  
compatible version of Java is not installed.

由于服务器暂时到了四台,所以使用4台机器做了前期准备工作。各服务器配置如下:

服务器名 CPU 内存 内网IP 描述
node1 8 64 192.168.100.200 Utility Hosts
node2 8 64 192.168.100.201 Master Hosts 1
node3 8 64 192.168.100.202 Master Hosts 2
node4 8 64 192.168.100.203 Gateway Hosts

由于后面需要做高可用、扩展服务器数量、角色分配。下图为官方高可用角色分配推荐:官方角色推荐分配:
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第1张图片

2、安装包准备

2.1、下载JDK

由于现在Oracle官网下载需要登录,所以我直接使用了cloudera官方提供的。 也可以直接去Oracle官网下载。看个人爱好。

Cloudera提供的jdk:
https://archive.cloudera.com/cm6/6.1.1/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
Oracle官网1.8各大版本:
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

2.2、下载CM安装包

地址:https://archive.cloudera.com/cm6/6.1.1/redhat7/yum/RPMS/x86_64/
下载清单: (其中:enterprise-debuginfo-6.1.1-853290.el7.x86_64.rpm 不用下载)

https://archive.cloudera.com/cm6/6.1.1/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-6.1.1-853290.el7.x86_64.rpm
https://archive.cloudera.com/cm6/6.1.1/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-6.1.1-853290.el7.x86_64.rpm
https://archive.cloudera.com/cm6/6.1.1/redhat7/yum/RPMS/x86_64/cloudera-manager-server-6.1.1-853290.el7.x86_64.rpm
https://archive.cloudera.com/cm6/6.1.1/redhat7/yum/RPMS/x86_64/cloudera-manager-server-db-2-6.1.1-853290.el7.x86_64.rpm
https://archive.cloudera.com/cm6/6.1.1/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

还需要一个文件:
https://archive.cloudera.com/cm6/6.1.1/allkeys.asc

下载放入主节点: /opt/cloudera-manager   //个人喜欢放这里 

2.3、下载CDH安装包(parcel)

地址:https://archive.cloudera.com/cdh6/6.1.1/parcels/
下载清单:下载对应系统的centos下载el7 红框中的三个文件。

菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第2张图片
文件放入 /opt/cloudera/parcel-repo 下面

  • 注意:这里*.sha有两个要求,否则无法找到本地parcels目录文件
    • 1、/opt/cloudera/parcel-repo 的目录及子目录的权限为clouldera-scm
    • 2、CDH-6.1.1-1.cdh6.1.1.p0.875250-el7.parcel.sha中的hash码,必须与manifest.json中的码一致
    • 3、*.sha256 重命名为 *.sha
    • 4、可以使用 sha1sum CDH-6.1.1-1.cdh6.1.1.p0.875250-el7.parcel | awk ‘{ print $1 }’ > CDH-6.1.1-1.cdh6.1.1.p0.875250-el7.parcel.sha 来生成hash值

2.4、下载mysql驱动

https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz
CDH默认的位置、默认驱动名字都有强制要求。默认位置 /usr/share/java/ 默认驱动名 mysql-connector-java.jar

解压  tar  -zxvf  mysql-connector-java-5.1.47.tar.gz
把解压出来的 mysql-connector-java-5.1.47.bin.jar 重命名 mysql-connector-java.jar 放入 /usr/share/java/ 目录

cp mysql-connector-java-5.1.47.bin.jar /usr/share/java/mysql-connector-java.jar

3、基础环境配置准备

3.1、配置主机名

#所有机器都需要修改
#从CDH6开始,不再支持单用户模式,安装必须使用root或具有sudo权限的用户安装。所以这里使用root安装
[root@localhost ~]# hostnamectl --static set-hostname node1#主机名

3.2、配置hosts解析

[root@node1 ~]# vi /etc/hosts
#添加如下内容  所有机器都需要添加
192.168.100.200 node1
192.168.100.201 node2
192.168.100.202 node3
192.168.100.203 node4

3.3、关闭防火墙

所有机器都需要关闭

#查看防火墙的状态
[root@node1 ~]# firewall-cmd --state
#关闭防火墙
[root@node1 ~]# systemctl stop firewalld.service
#禁止开机启动防火墙
[root@node1 ~]# systemctl disable firewalld.service 

3.4、设置selinux

所有机器都需要修改

[root@node1 ~]# vi /etc/sysconfig/selinux
#设置SELINUX为disabled
SELINUX=disabled

#设置完成这个时候需要重启
[root@node1 ~]# reboot
#重启完成之后查看状态 处于 disabled 就正确了
[root@node1 ~]# sestatus –v
SELinux status:                 disabled

3.5、设置ssh无密码登录

所有节点
现在node1节点上执行:

[root@node1 ~]# ssh-keygen -t rsa   #一路回车到完成
[root@node1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1  #将公钥拷贝到本机的authorized_keys上

再在其他节点分别执行以下命令:

[root@node2 ~]# ssh-keygen -t rsa   #一路回车到完成
[root@node2 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1  #注意此处不变,将公钥拷贝到node1的authorized_keys上

再在node1上,将authorized_keys 分发到其他节点服务器:

[root@node1 ~]# scp ~/.ssh/authorized_keys root@node2:~/.ssh/
[root@node1 ~]# scp ~/.ssh/authorized_keys root@node3:~/.ssh/
[root@node1 ~]# scp ~/.ssh/authorized_keys root@node4:~/.ssh/

完成以上操作就可以使用无密码登录

[root@node1 ~]# ssh node2
Last login: Thu Jul  4 15:05:12 2019 from node1
[root@node2 ~]# logout  #退出命令
Connection to node2 closed.

3.6、时间同步

所以机器都能连接外网的情况下:

echo "$((RANDOM%60)) $((RANDOM%24)) * * * /usr/sbin/ntpdate time1.aliyun.com" >> /var/spool/cron/root

机器在内网情况下使用NTP服务器
第一步 所有节点都需要

# 查看具体时间时区
timedatectl
# 查看具所有时区
timedatectl list-timezones
# 设置时区
timedatectl set-timezone  Asia/Shanghai
# 检查ntp服务是否安装:
rpm -qa | grep ntp
# 首先安装ntp:
yum install ntp

第二步 配置主节点

#同步时间  或者使用aliyun的时间
[root@node1 ~]# ntpdate -u 1.cn.pool.ntp.org 
[root@node1 ~]# vi /etc/ntp.conf
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#设置对内网主机提供NTP服务。我的集群网关是192.168.100.254
restrict 192.168.100.254 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#注释掉centos默认的对时服务器
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#指定上层对时的外部服务器,
server 120.25.115.20  perfer #阿里云时间服务器 ntp1.aliyun.com
server 202.112.10.36 #国家受时中心
server 210.72.145.44 # 1.cn.pool.ntp.org
server 59.124.196.83 # 0.asia.pool.ntp.org

#修改上层服务器对本机的权限
restrict 120.25.115.20 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 210.72.145.44 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery

#外部时间服务器不可用时,设置以本地时间作为时间服务
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

配置硬件时间(synchronization)

[root@node1 ~]# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"

配置文件修改完成,保存退出,启动服务和设置开机运行。

# 安装完毕之后,启动服务
systemctl start ntpd.service
# 设置开机自启动
systemctl enable ntpd.service
# 查看服务连接和监听
netstat -tlunp | grep ntp
# 查看网络中的NTP服务器同时显示客户端和每个服务器的关系
ntpq -p
# 查看时间同步状态
ntpstat

第三步 配置slaver节点

[root@node2 ~]# vi /etc/ntp.conf 
#restrict 192.168.100.254 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#对时服务器,配置成ntp-server的机器
server 192.168.100.200
restrict 192.168.100.200 nomodify notrap noquery

server  127.127.1.0   # local clock
fudge   127.127.1.0 stratum 10

#同步硬件时间
[root@node2 ~]# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"

配置完成启动ntp服务

# 安装完毕之后,启动服务
systemctl start ntpd.service
# 设置开机自启动
systemctl enable ntpd.service

#手动同步时间
ntpdate -u 192.168.100.200

#后面操作和master类似 查看是否配置成功 ……

3.7、禁用透明大页面压缩

CDH后期需要配置,也可以后期做配置,下图为CDH抛出的警告:
在这里插入图片描述

[root@node1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@node1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@node1 ~]# vi /etc/rc.local
#添加到 rc.local中
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

 给与可执行权限
[root@node1 ~]# chmod +x /etc/rc.d/rc.local

3.8、优化交换分区

在这里插入图片描述

#查看虚拟内存需求率
[root@node1 ~]# cat /proc/sys/vm/swappiness
#一般情况下默认60
60
为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0(cloudera建议10以下)
[root@node1 ~]# sysctl -w vm.swappiness=0
[root@node1 ~]# echo "vm.swappiness = 0" >> /etc/sysctl.conf

3.9、安装jdk

使用rpm安装下载好的jdk软件

查看系统已经安装的jdk:
[root@node1 ~]# rpm -qa|grep jdk
卸载 和 rpm 选择一种方式 yum解决依赖关系而rpm可以忽略依赖关系 看情况选择
[root@node1 ~]# yum remove java* 
[root@node1 ~]# rpm -e --nodeps xxxx  # 卸载xxx为jdk的名字
[root@node1 ~]# cd /opt/cloudera-manager #我放置jdk的位置

安装jdk  网速好也可以使用yum在线安装
[root@node1 cloudera-manager]# rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

默认安装路径 自定义安装路径也要在 /usr/java 下面 否则后面CDH找不到
/usr/java/jdk1.8.0_181-cloudera

修改环境变量
[root@node1 /]# vi /etc/profile
#在文件末尾添加
JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
JRE_HOME=/usr/java/jdk1.8.0_181-cloudera/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/bin/dt.jar:$JAVA_HOME/bin/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

保存退出
[root@node1 /]# source /etc/profile
[root@node1 /]# java -version #验证

4、Cloudera Manager安装

4.1、mysql安装

cloudera官方的安装方式:官方文档:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
systemctl start mysqld
systemctl enable mysqld

推荐配置:也可以自己进行安装,也可以使用安装好的。 /etc/my.cnf 配置文件地址

[mysqld]
log-error=/var/log/mysqld.log
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
symbolic-links = 0

key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1

max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M

#log_bin should be on a disk with enough free space.
#Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your
#system and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log

#In later versions of MySQL, if you enable the binary log and do not set
#a server_id, MySQL will not start. The server_id must be unique within
#the replicating group.
server_id=1

binlog_format = mixed

read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M

# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit  = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M

[mysqld_safe]
pid-file=/var/run/mysqld/mysqld.pid

sql_mode=STRICT_ALL_TABLES

初始化数据库

[root@node4 /]# /usr/bin/mysql_secure_installation
[...]
Enter current password for root (enter for none):
OK, successfully used password, moving on...
[...]
Set root password? [Y/n] Y                        #输入Y
New password:                                     #设置密码
Re-enter new password:                            #再次设置密码
Remove anonymous users? [Y/n] Y                   #输入Y
[...]
Disallow root login remotely? [Y/n] N             #输入N
[...]
Remove test database and access to it [Y/n] Y     #输入Y
[...]
Reload privilege tables now? [Y/n] Y              #输入Y
All done!

4.2、创建数据库

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm@123456';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon@123456';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue@123456';
GRANT ALL ON metastore.* TO 'metastore'@'%' IDENTIFIED BY 'metastore@123456';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry@123456';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie@123456';
GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive@123456';

FLUSH PRIVILEGES;

这个时候可能会遇到mysql密码策略问题: 修改mysql密码策略:
validate_password_policy 取值:

Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

默认是1,即MEDIUM ,所以刚开始设置的密码必须符合长度,且包含数字、大写或者小写字母,特殊字符。

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file    |       |
| validate_password_length             | 6     |
| validate_password_mixed_case_count   | 2     |
| validate_password_number_count       | 1     |
| validate_password_policy             | MEDIUM|
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          8 |
+----------------------------+
1 row in set (0.00 sec)

4.3、构建本地仓库

任意节点:我选择的master节点

[root@node1 /]# yum -y install httpd createrepo
[root@node1 /]# systemctl start httpd && systemctl enable httpd

然后将 cloudera-manager 下的目录移动到httpd的html目录下
[root@node1 /]# cp -R /opt/cloudera-manager/* /var/www/html/cloudera-manager/cm6/
[root@node1 /]# cd /var/www/html/cloudera-manager/cm6/
[root@node1 cm6]# createrepo .
然后就可以通过浏览器访问了:默认端口80
http://node1/cloudera-manager/cm6/

同样的道理配置CDH的包
[root@node1 /]# cp -R /opt/cloudera/parcel-repo/* /var/www/html/cloudera-manager/cdh6/
[root@node1 /]# cd /var/www/html/cloudera-manager/cdh6/
[root@node1 cm6]# createrepo .
访问地址:
http://node1/cloudera-manager/cdh6/

构建yum源(所有服务器都需要)

[root@node1 ~]# vi /etc/yum.repos.d/cloudera-repo.repo
[root@node2 ~]# vi /etc/yum.repos.d/cloudera-repo.repo
[root@node3 ~]# vi /etc/yum.repos.d/cloudera-repo.repo
[root@node4 ~]# vi /etc/yum.repos.d/cloudera-repo.repo

[cloudera-repo]
name=cloudera-repo
baseurl=http://node1/cloudera-manager/cm6/
enabled=1
gpgcheck=0

所有主机都执行
[root@node1 ~]# yum clean all
[root@node1 ~]# yum makecache

4.4、安装 CM Server 和 Agent

  • 主节点
[root@node1 ~]# yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
  • 从节点
[root@node2 ~]# yum install cloudera-manager-daemons cloudera-manager-agent
[root@node3 ~]# yum install cloudera-manager-daemons cloudera-manager-agent
[root@node4 ~]# yum install cloudera-manager-daemons cloudera-manager-agent

4.5、建立CM的数据库

如果数据库和CM在一台服务器上:官网文档:

[root@node1 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
Enter SCM password: #输入SCM的密码
JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_181-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!

#输出上面这样表示成功了

如果数据库和CM不在一台服务器上:(而且端口还不是默认的3306)

这里注意 -P 和 -p 前者是端口,后者是密码 下面有相应官方文档说明
[root@node1 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h node4 -P 13306  --scm-host node1 scm scm
Enter database password:
JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_181-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!
选项 描述
-? | --help 显示帮助。
  --config-path Cloudera Manager Server配置文件的路径。默认是的/etc/cloudera-scm-server。
-f | --force 如果指定,则在发生错误时脚本不会停止。
-h | -host 安装数据库的主机IP地址或者主机名。默认使用localhost
-p | -password 数据库应用程序的管理员密码。与…一起使用-u选项。默认为无密码。不要在它们之间留一个空格-p 和密码(例如, -pscm@123456)。如果您不希望密码在屏幕上可见或存储在命令历史记录中,请使用-p选项而不指定密码,系统会提示您输入密码。
-P | -port 用于连接数据库的端口号。对于MariaDB,默认端口为3306,对于MySQL为3306,对于PostgreSQL为5432,对于Oracle为1521。此选项仅用于远程连接。
  --scm-host 安装Cloudera Manager Server的主机名。如果Cloudera Manager Server和数据库安装在同一主机上,请不要使用此选项或-h 选项。
  --scm-password-script 一个执行其脚本的脚本 stdout 提供用户SCM的密码(用于数据库)。
-u | --user 数据库应用程序的管理员用户名。与…一起使用-p选项。不要在它们之间留一个空格 -u 和用户名(例如, -uroot)。如果提供此选项,脚本将为Cloudera Manager Server创建用户和数据库。如果您已经创建了数据库,请不要使用此选项。

4.6、启动CM服务

#启动服务
systemctl start cloudera-scm-server
#查看服务的状态
systemctl status cloudera-scm-server
#查看系统日志
journalctl -xe 
#默认日志存放地方
/var/log/cloudera-scm-server

4.7、访问和应用部署

1.访问地址并登陆
http://node1:7180
账号:admin
密码:admin
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第3张图片
2.登陆成功之后继续
登录成功之后由于安装6.1.1的集群过去很久……所以使用5.13的操作步骤代替后续的操作步骤,后续操作步骤都是相同的或者类似
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第4张图片
3.配置agent主机
因为使用离线安装(查看所有节点是否都被正常管理)
agent配置,会扫描到当前管理的集群机器,继续
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第5张图片
4.选择CDH版本
选择CDH版本这里会显示你放在/opt/cloudera/parcel-repo/下的parcel包,若未显示,则检查.sha1是否名称未改为.sha,并注意文件用户权限为cloudera-scm,修改之后重启server服务和agent服务,重新登录web即可显示,然后继续菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第6张图片
5.分发Parcel包
如果没有提前下载这一步可能失败或者下载很慢。
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第7张图片
6.安装分发成功
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第8张图片
7.检查主机
都为警告信息 按照步骤修改(或者按照 3、基础环境配置 配置),修改后点击“重新运行”就可以了
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第9张图片
8.集群设置
按照需求安装选择即可,然后继续
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第10张图片
9.数据库设置
按照前面文章中配置的数据库输入信息就行,最好使用主机名:端口号
eg. node1:13365 —> node1 为主机名 13365 为mysql数据库端口
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第11张图片
10.角色分配
cloudera官方角色分配文档(CDH官方角色分配文档)
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第12张图片
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第13张图片
11.使用默认配置和等待安装
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第14张图片
12.安装完成
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第15张图片
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第16张图片
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第17张图片

5、安问题和错误集合

5.1、Cloudera 安装Parcel提示主机运行状况不良

现象
通过Cloudera WEB界面安装Hadoop过程中,在安装Parcel步骤时,一个节点分配激活失败,报错信息显示”主机运行状况不良”,如下图所示。
菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记)_第18张图片
解决方法:

[root@localhost ~]# cd /var/lib/cloudera-scm-agent/
[root@localhost ~]# ls
cm_guid  response.avro  uuid 
[root@localhost ~]# rm -rf cm_guid 
[root@localhost ~]# systemctl restart cloudera-scm-agent

5.2、yum安装cloudera-manage-* No such file or directory

现象

error reading information on service cloudera-scm-agent: No such file or directory
error: %preun(cloudera-manager-agent-6.1.1-853290.el7.x86_64) scriptlet failed, exit status 1
Error in PREUN scriptlet in rpm package cloudera-manager-agent
Erasing    : cloudera-manager-daemons-6.1.1-853290.el7.x86_64                                                          1/2 
cloudera-manager-agent-6.1.1-853290.el7.x86_64 was supposed to be removed but is not!
  Verifying  : cloudera-manager-agent-6.1.1-853290.el7.x86_64                                                            1/2 
  Verifying  : cloudera-manager-daemons-6.1.1-853290.el7.x86_64                                                          2/2 
Removed:
  cloudera-manager-daemons.x86_64 6.1.1-853290.el7.x86_64                                                                         
Failed:
  cloudera-manager-agent.x86_64 6.1.1-853290.el7.x86_64 

解决办法:

[root@localhost ~]# yum --setopt=tsflags=noscripts remove cloudera-manager-daemons-6.1.1-853290.el7.x86_64

5.3、Cloudera Manager 安装锁的问题

错误提示:
  Cloudera Manager 正在获取安装锁
解决办法:

[root@localhost ~]# rm -rf /tmp/scm_prepare_node.*
[root@localhost ~]# rm -rf  /tmp/.scm_prepare_node.lock     

你可能感兴趣的:(菜狗centos7.6安装CDH6.1.1离线集群安装步骤和遇到的各种坑(笔记))