集群、服务器系统、环境版本:
内容 | 版本 |
---|---|
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 |
由于后面需要做高可用、扩展服务器数量、角色分配。下图为官方高可用角色分配推荐:官方角色推荐分配:
由于现在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
地址: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 //个人喜欢放这里
地址:https://archive.cloudera.com/cdh6/6.1.1/parcels/
下载清单:下载对应系统的centos下载el7 红框中的三个文件。
文件放入 /opt/cloudera/parcel-repo 下面
注意:这里*.sha有两个要求,否则无法找到本地parcels目录文件
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
#所有机器都需要修改
#从CDH6开始,不再支持单用户模式,安装必须使用root或具有sudo权限的用户安装。所以这里使用root安装
[root@localhost ~]# hostnamectl --static set-hostname node1#主机名
[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
所有机器都需要关闭
#查看防火墙的状态
[root@node1 ~]# firewall-cmd --state
#关闭防火墙
[root@node1 ~]# systemctl stop firewalld.service
#禁止开机启动防火墙
[root@node1 ~]# systemctl disable firewalld.service
所有机器都需要修改
[root@node1 ~]# vi /etc/sysconfig/selinux
#设置SELINUX为disabled
SELINUX=disabled
#设置完成这个时候需要重启
[root@node1 ~]# reboot
#重启完成之后查看状态 处于 disabled 就正确了
[root@node1 ~]# sestatus –v
SELinux status: disabled
所有节点
现在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.
所以机器都能连接外网的情况下:
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类似 查看是否配置成功 ……
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
#查看虚拟内存需求率
[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
使用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 #验证
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!
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)
任意节点:我选择的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
[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
如果数据库和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创建用户和数据库。如果您已经创建了数据库,请不要使用此选项。 |
#启动服务
systemctl start cloudera-scm-server
#查看服务的状态
systemctl status cloudera-scm-server
#查看系统日志
journalctl -xe
#默认日志存放地方
/var/log/cloudera-scm-server
1.访问地址并登陆
http://node1:7180
账号:admin
密码:admin
2.登陆成功之后继续
登录成功之后由于安装6.1.1的集群过去很久……所以使用5.13的操作步骤代替后续的操作步骤,后续操作步骤都是相同的或者类似
3.配置agent主机
因为使用离线安装(查看所有节点是否都被正常管理)
agent配置,会扫描到当前管理的集群机器,继续
4.选择CDH版本
选择CDH版本这里会显示你放在/opt/cloudera/parcel-repo/下的parcel包,若未显示,则检查.sha1是否名称未改为.sha,并注意文件用户权限为cloudera-scm,修改之后重启server服务和agent服务,重新登录web即可显示,然后继续
5.分发Parcel包
如果没有提前下载这一步可能失败或者下载很慢。
6.安装分发成功
7.检查主机
都为警告信息 按照步骤修改(或者按照 3、基础环境配置 配置),修改后点击“重新运行”就可以了
8.集群设置
按照需求安装选择即可,然后继续
9.数据库设置
按照前面文章中配置的数据库输入信息就行,最好使用主机名:端口号
eg. node1:13365 —> node1 为主机名 13365 为mysql数据库端口
10.角色分配
cloudera官方角色分配文档(CDH官方角色分配文档)
11.使用默认配置和等待安装
12.安装完成
现象
通过Cloudera WEB界面安装Hadoop过程中,在安装Parcel步骤时,一个节点分配激活失败,报错信息显示”主机运行状况不良”,如下图所示。
解决方法:
[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
现象
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
错误提示:
Cloudera Manager 正在获取安装锁
解决办法:
[root@localhost ~]# rm -rf /tmp/scm_prepare_node.*
[root@localhost ~]# rm -rf /tmp/.scm_prepare_node.lock