基础环境
- 软件环境
NO | 软件名称 | 版本 |
---|---|---|
1 | 操作系统 | centos7 64位 |
2 | jdk | jdk-8u181-linux-x64.tar.gz |
3 | cloudera manager | cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz |
4 | cdh | CDH-5.15.1-1.cdh5.15.1.p0.4-el7 |
5 | 数据库 | mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar |
6 | jdbc | mysql-connector-java-5.1.43.jar |
- 配置规划
NO | 机器名称 | IP | 配置 | 用途 |
---|---|---|---|---|
1 | master | 10.2.47.1 | 16C/32G/500G | master,cm,mysqldb |
2 | slave1 | 10.2.47.2 | 16C/32G/500G | slave |
3 | slave2 | 10.2.47.3 | 16C/32G/500G | slave |
4 | slave3 | 10.2.47.4 | 16C/32G/500G | slave |
5 | slave4 | 10.2.47.5 | 16C/32G/500G | slave |
- 软件资源
- jdk
- CM
- cdh包
下载地址:manifest.json
下载地址:CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1
下载地址:CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel
- jdbc连接jar包
基础环境配置
- jdk安装配置
- 卸载系统自带jdk
rpm -qa | grep java [[email protected] ~]# rpm -qa | grep java python-javapackages-3.4.1-5.el7.noarch java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64 tzdata-java-2014b-1.el7.noarch javapackages-tools-3.4.1-5.el7.noarch java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64 删除全部,noarch可不删除 [[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64 [[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64
- 安装jdk
[[email protected] soft]# tar -zxvf jdk-8u181-linux-x64.tar.gz [[email protected] soft]# mv jdk1.8.0_181 jdk 配置环境变量 [[email protected] soft]# vim /etc/profile export JAVA_HOME=/soft/jdk export PATH=.:$JAVA_HOME/bin:$PATH
- 安装mysql
安装前先卸载mariadb # rpm -qa | grep mariadb # rpm -e -nodeps mariadb-libs-5.5.35-3.el7.x86_64 [[email protected] soft]#tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 按common–>libs–>client–>server->devel的顺序安装: # rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm # rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm # rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm # rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm # rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm # rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm 启动数据库 # systemctl start mysqld 查看状态: # systemctl status mysqld 修改mysql初始密码 1、先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验,在[mysqld]下加入一行: skip-grant-tables 2、重启MySQL #service mysqld restart 3、免密码登录MySQL。 #mysql 4、mysql客户端执行如下命令,修改root密码 mysql> use mysql; mysql> UPDATE user SET authentication_string = password('your-password') WHERE host = 'localhost' AND user = 'root'; mysql> select host,user, authentication_string, password_expired from user; mysql> update user set password_expired='N' where password_expired='Y' //密码不过期 mysql> update user set host='%' where user='root' and host='localhost'; //远程可访问 mysql> flush privileges; //刷新 mysql> exit;//退出 5、修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL(这一步非常重要,不执行可能导致严重的安全问题) #service mysqld restart //重启 Mysql 后期会出现 == 初始化数据库错误 ==: 在这个环节,出现的问题较多,但总的来说,是与数据库参数配置,和帐号权限配置有关。 如后面 在执行scm_prepare_database.sh脚本时,出现的错误: java.sql.SQLException: Your password does not satisfy the current policy requirements 一般是由密码策略级别问题引发: 可以通过 my.cnf 配置文件关闭 validate_password 插件。 通过修改/etc/my.cnf 目录下配置文件,修改设置密码策略的级别,只需要在[mysqld]下添加一行 validate_password = off 编辑完配置文件后,重启mysqld服务即可生效。
- mysql卸载
rpm -qa | grep -i mysql [[email protected] local]# rpm -e MySQL-server-5.6.17-1.el6.i686 [[email protected] local]# rpm -e MySQL-client-5.6.17-1.el6.i686 c)删除mysql服务 [[email protected] local]# chkconfig --list | grep -i mysql [[email protected] local]# chkconfig --del mysql d)删除分散mysql文件夹 [[email protected] local]# whereis mysql 或者 find / -name mysql mysql: /usr/lib/mysql /usr/share/mysql 清空相关mysql的所有目录以及文件 rm -rf /usr/lib/mysql rm -rf /usr/share/mysql rm -rf /usr/my.cnf
- 源码安装mysql
下载mysql源码mysql-5.5.17.tar.gz http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.22.tar.gz/from/http://cdn.mysql.com/
yum方式安装相关依赖包 yum -y install cmake bison git ncurses-devel gcc gcc-c++
-创建一个用户名为mysql的用户并加入mysql用户组
# groupadd mysql
# useradd -g mysql mysql
解压mysql-5.6.38.tar.gz,并且创建mysql安装目录和数据库文件存放目录
# tar zxvf mysql-5.6.38.tar.gz
# mkdir /usr/local/mysql
# mkdir /usr/local/mysql/data
# cd mysql-5.6.38/
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DENABLE_DOWNLOADS=1
进入/mysql目录执行
make && make install
修改目录属主权限
# chown -R mysql:mysql /usr/local/mysql/data/
# chown -R mysql:mysql /usr/local/mysql/
创建MySQL Server系统表
# cd /usr/local/mysql/
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
配置启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
添加配置文件vim /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
#忘记密码时可取消注释,无密码登陆
#skip-grant-tables
添加环境变量
vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=.:$MYSQL_HOME/bin:$PATH
source /etc/profile
设置开机启动:
chkconfig mysqld on
启动服务:
service mysqld start
设置初始密码
1、使用空的初始密码登录mysql账号:
mysql-uroot -p
2、修改root密码:
mysql> update user set Password=password("123456") where User='root';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)
mysql> select Host,User,password from user where user='root';
+-----------------------+------+-------------------------------------------+
| Host | User | password |
+-----------------------+------+-------------------------------------------+
| localhost | root | *5626ED34B75C6C508BA2A3D0A4F6E4C58823138C |
| localhost.localdomain | root | *5626ED34B75C6C508BA2A3D0A4F6E4C58823138C |
| 127.0.0.1 | root | *5626ED34B75C6C508BA2A3D0A4F6E4C58823138C |
| ::1 | root | *5626ED34B75C6C508BA2A3D0A4F6E4C58823138C |
+-----------------------+------+-------------------------------------------+
4 rows in set (0.00 sec)
- 修改机器名称
方法1:hostnamectl set-hostname master
方法2:vi /etc/hostname
master
:wq
[[email protected] ~]# reboot
- 配置hosts
#vim /etc/hosts
10.2.47.1 master
10.2.47.2 slave1
10.2.47.3 slave2
10.2.47.4 slave3
10.2.47.5 slave4
- 设置防火墙(所有节点)
# firewall-cmd --state(查询防火墙状态)
#systemctl stop firewalld.service (关闭防火墙)
#systemctl start firewalld.service (开启防火墙)
#systemctl disable firewalld.service (禁止firewall开机启动)
//禁止开机启动
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
设置防火墙策略,在所有节点执行下面脚本(执行前要启动防火墙)(可省略)
//集群机器间可以相互访问
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.1' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.2' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.3' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.4' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.5' port protocol='tcp' port='0-65535' accept"
//设置可以访问的端口
firewall-cmd --permanent --add-port=0-65535/tcp
firewall-cmd --reload
- 配置ssh免密登录
#cd~ //进入到 根目录
# ssh-keygen -t rsa
一路回车,生成无密码的密钥对。
# cp id_rsa.pub authorized_key
# ssh-copy-id -i slave1
# ssh-copy-id -i slave2
# ssh-copy-id -i slave3
# ssh-copy-id -i slave4
- 关闭selinux(所有节点)
关闭linux SELINUX安全内核
# setenforce 0 (临时生效)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)
# vi /etc/selinux/config
内容增加:
SELINUX=disabled
# reboot
查看SELINUX 是否关闭:
#sestatus
- 修改内核参数(所有节点)
1.设置swappiness,控制运行时内存的相对权重,Cloudera 建议将 swappiness 设置为 10:
//查看swappiness
# cat /proc/sys/vm/swappiness
//永久性修改,执行下面两条命令
# sysctl -w vm.swappiness=10
# echo vm.swappiness = 10 >> /etc/sysctl.conf
2.关闭透明大页面:
自CentOS6版本开始引入了Transparent Huge Pages(THP),从CentOS7版本开始,该特性默认就会启用。尽管THP的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭THP,否则可能会导致性能出现下降。
首先查看透明大页是否启用,[always] never表示已启用,always [never]表示已禁用:
# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
以上状态就说明是启用的。
临时关闭(重启机器会变回默认开启状态):
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
#echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久关闭:
//编辑/etc/rc.d/rc.local
# vi /etc/rc.d/rc.local
//在文件后添加下面内容:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
保存退出,然后赋予rc.local文件执行权限:
#chmod +x /etc/rc.d/rc.local
3.修改文件句柄数:
修改系统文件句柄数限制:
//查看文件句柄数,显示1024,显然太小
# ulimit -n
1024
//修改限制
#vi /etc/security/limits.conf
//在文件后加入下面内容:
* soft nofile 100000
* hard nofile 100000
修改后需要重启机器。
- 其他安装与配置
# yum -y install psmisc MySQL-python at bc bind-libs bind-utils cups-client cups-libs cyrus-sasl-gssapi cyrus-sasl-plain ed fuse fuse-libs httpd httpd-tools keyutils-libs-devel krb5-devel libcom_err-devel libselinux-devel libsepol-devel libverto-devel mailcap noarch mailx mod_ssl openssl-devel pcre-devel postgresql-libs python-psycopg2 redhat-lsb-core redhat-lsb-submod-security x86_64 spax time zlib-devel
#yum install -y python-lxml
#yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel
# chmod +x /etc/rc.d/rc.local
# yum -y install rpcbind
# systemctl start rpcbind
# echo "systemctl start rpcbind" >> /etc/rc.d/rc.local
可能出现问题如下:
Loaded plugins: fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
证明源有问题,只需把源更新成mirror.gree.com即可
- 配置NTF服务
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体建设过程如下:所有节点安装相关组件:
# yum install ntp ntpdate -y
NTP服务端(主节点):
1. 查找时间同步服务器http://www.pool.ntp.org/zone/asia:
打开网址,内容如下:
2. 编辑 /etc/ntp.conf:
# vi /etc/ntp.conf
//在文件中输入上面网页内容:
server 10.2.8.44
server 10.2.47.1
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
3.启动ntp服务
# systemctl start ntpd
4. 配置开机启动:
# systemctl enable ntpd.service
注意:如果ntpd 开机启动失效,有可能是因为安装了chronyd 并且是开机自启状态,所以导致ntpd开机自启失败。
# 查看 chronyd设置状态
# systemctl status chronyd
表示没问题
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Sat 2018-10-13 11:00:50 CST; 43s ago
Main PID: 1163 (code=killed, signal=KILL)
Oct 13 10:30:33 master chronyd[1163]: Linux kernel major=3 minor=10 patch=0
Oct 13 10:30:33 master chronyd[1163]: hz=100 shift_hz=7 freq_scale=1.00000000 nomin...l=2
Oct 13 10:31:33 master systemd[1]: Started NTP client/server.
以面表明,chronyd显示为开机关闭状态。
将chronyd设为禁用状态:
# systemctl disable chronyd.service
此时,NTP的服务开机自启动完成!
5. 检查是否设置成功:
# ntpq -p
//更新时间
[[email protected] ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.2.8.44 10.4.20.100 4 u 113 256 377 1.136 3.295 1.089
master .INIT. 16 u - 1024 0 0.000 0.000 0.000
#timedatectl
[[email protected] ~]# timedatectl
Local time: Sat 2018-10-13 14:00:35 CST
Universal time: Sat 2018-10-13 06:00:35 UTC
RTC time: Sat 2018-10-13 06:00:35
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
NTP客户端(所有从节点):
6. 远程客户端时间同步测试
# date
# ntpdate 10.2.47.1
10.2.47.1是NTP服务端IP,显示如下信息,测试成功:
[[email protected] ~]# date
Sat Oct 13 14:00:50 CST 2018
[[email protected] ~]# ntpdate 10.2.47.1
13 Oct 14:01:08 ntpdate[5973]: adjust time server 10.2.47.1 offset -0.192486 sec
7. 客户端设置计划任务,每30分钟同步时间
#crontab -e
//加入内容:
0-59/30 * * * * /usr/sbin/ntpdate 10.2.47.1 && /sbin/hwclock -w
8. 设置定时任务开机启动
//设置开机启动
# systemctl enable crond.service
//查看状态
# systemctl status crond
安装CM
- 传包、解压
在主节点上下载相关软件包,这里将软件包下载到/soft目录下。
将CM解压到/opt/目录
[[email protected] soft]# tar -zxvf cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz -C /opt/
#ls /opt/
[[email protected] opt]# ls
cloudera cm-5.15.1 rh
- 创建数据库
在主节点上:
# mysql -h127.0.0.1 -uroot -p //加参数-h127.0.0.1 指定本机方式,否则可能不允许执行grant
Enter password: \\输入数据库密码
//在MariaDB [(none)]>命令状态输入下面脚本:
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all privileges on *.* to [email protected] identified by 'root' with grant option;
grant all on *.* to root@"%" Identified by "root";
flush privileges;
exit;
//复制Mysql JDBC包到/opt/cm-5.15.1/share/cmf/lib/目录
[[email protected] soft]# cp mysql-connector-java-5.1.43.jar /opt/cm-5.15.1/share/cmf/lib/
[[email protected] soft]# /opt/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql cm -h10.2.47.1 -uroot -pa464999578 --scm-host 10.2.47.1 scm scm scm
- 创建用户
在所有节点上执行:
[[email protected] ~]# useradd --system --home=/opt/cm-5.15.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
- 制作本地yum源
在主节点上:
//进入软件包目录
[[email protected] ~]# cd /soft/
//拷贝三个文件到/opt/cloudera/parcel-repo/目录
[[email protected] soft]# cp CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/
//进入/opt/cloudera/parcel-repo/目录
#cd /opt/cloudera/parcel-repo/
//修改文件名
[[email protected] parcel-repo]# mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha
此时/opt/cloudera/parcel-repo/目录下文件:
[[email protected] parcel-repo]# ls
CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel manifest.json
CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha
- 拷贝jar包
在所有节点上:
//如果没有/usr/share/java/目录,则创建
# cp mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar
在主节点上:
//将mysql JDBC jar 包拷贝到 /opt/cm-5.15.1/share/cmf/lib/ 目录
[[email protected] soft]# cp mysql-connector-java-5.1.43.jar /opt/cm-5.15.1/share/cmf/lib/
- 修改cloudera-scm-agent配置
在主节点上,修改/opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini文件:
//将config.ini server_host=localhost 内容改为server_host=10.2.47.1
# sed -i "s/server_host=localhost/server_host=10.2.47.1/" /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini
在主节点上:
//将cm-5.15.1 打包,并复制到其他节点
#cd /opt
#tar czf cm-5.15.1.tar.gz cm-5.15.1/
//复制到其他节点
[[email protected] opt]# scp cm-5.15.1.tar.gz [email protected]:/opt/
[[email protected] opt]# scp cm-5.15.1.tar.gz [email protected]:/opt/
[[email protected] opt]# scp cm-5.15.1.tar.gz [email protected]:/opt/
[[email protected] opt]# scp cm-5.15.1.tar.gz [email protected]:/opt/
在所有从节点上解压:
//将cm-5.15.1 包解压
#cd opt
#tar -xzvf cm-5.15.1.tar.gz
//解压后删除
#rm -rf cm-5.15.1.tar.gz
- 启动CM Server和Agent
在主节点上,启动cloudera-scm-server:
[[email protected] opt]# /opt/cm-5.15.1/etc/init.d/cloudera-scm-server start
启动过程较慢,可通过/opt/cm-5.15.1/log/cloudera-scm-server日志,查看启动过程。
在所有节点上,启动cloudera-scm-agent:
[root@master opt]# /opt/cm-5.15.1/etc/init.d/cloudera-scm-agent start
- 访问CM
地址:http://master:7180 http://10.2.47.1:7180
账号:admin
密码:admin
显示如下:
安装CDH
- 登录后界面接受协议:
- 选择CM版本,本文选择Cloudera Express免费版。
- 指定主机
在搜索主机名和IP地址框输入slave[1-4],这里输入的内容支持正则表达式。输入后点【搜索】按钮,出现机器列表:
选择“当前管理的主机“选择项卡,点【继续】
- 选择CDH版本
这里需要选择制作本地源时的版本,如果选择别的版本的就会去官网下载,那样安装速度会很慢。
点【继续】按钮,进入安装界面
- 检查主机
在搜索主机名和IP地址框输入slave[1-4],这里输入的内容支持正则表达式。输入后点【搜索】按钮,出现机器列表,点击继续
- 出现cdh5.15.1新版无法显示,此时我们需要做httpd服务
安装http和启动http服务
#rpm -qa |grep httpd
#yum install -y httpd
#chkconfig httpd on
#service httpd start
创建parcels文件夹
#mkdir /var/www/html/parcels
#cd /var/www/html/parcels
# cp CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha manifest.json /var/www/html/parcels
在网页中输入 http://10.2.47.1/parcels
- 出现找不到存储包,解决如下:
点击使用parcel 更多选项更改远程parcel存储库URL
http://10.2.47.1/parcels/
安装
- 出现“主机运行状态不良”错误
解决方案如下
遇到节点“主机运行状态不良”的提示,解决办法是删除故障节点Agent服务cm_guid文件:
#rm -rf /opt/cm-5.13.1/lib/cloudera-scm-agent/cm_guid
重新启动故障节点Agent服务:
#/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent restart
重启故障节点Agent服务后,故障消失:
注:出现故障原因是,因为我之前在故障节点启动过cloudera-scm-agent服务。
- 检查主机,全部通过
- 选择安装的服务,全部安装
- 角色分配
- 数据库设置
指定的数据库名称,与原来创建的数据库(hive,monitor,oozie,hue)保持一致,并输入对应的数据库用户名和密码,为了简便这里用的是root账号名和密码。
测试连接,Hue 测试报错:Unable to verify database connection:
原因是缺少Mysql mysql-community-libs-compat 安装包,安装后,问题解决:
//进入安装包所在目标
# cd /data/mysql/
# rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
测试成功,继续
- 集群设置,默认配置,直接点击继续
- 开始安装
- 安装spark显示找不到JAVA_HOME,解决方案如下:
#mkdir -p /usr/java
#ln -s /soft/jdk /usr/java/default
刷新问题解决。
- 出现hive数据库驱动找不到,解决方案如下:
因为缺少mysql驱动
[[email protected] soft]# cp /soft/mysql-connector-java-5.1.43.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/hive/lib/
问题解决。
- 出现oozie数据库驱动找不到,解决方案如下:
因为缺少mysql驱动
[[email protected] soft]# cp /soft/mysql-connector-java-5.1.43.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/oozie/lib/
[[email protected] soft]# cp /soft/mysql-connector-java-5.1.43.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/oozie/libext/
- 安装完成
第一次安装完成后,会出现一些配置的警告信息。这些可以根据提示信息更改。
- 警告处理
发现节点有异常信息,显示所有主机,发现节点运行状态不良,按照 主机->所有主机->进入节点查看:
选择“配置“页签,拉到页面底部,修改”主机时钟偏差阈值“,设为”从不“,点【保存更改】,异常消失。
- 未能连接到 Host Monitor
解决方案:
后台tail -f /opt/cm-5.15.1/log/cloudera-scm-server/cloudera-scm-server.log 日志报错信息:
com.cloudera.cmon.MgmtServiceLocatorException: Could not find a HOST_MONITORING nozzle from SCM.
此问题原因:有些网上说是由文件句柄数限制引起,所以按照网上说明进行了修改:
在主节点上,修改/opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini文件:
//查看文件句柄数,显示1024,显然太小
# ulimit -n
1024
//修改限制
#vi /etc/security/limits.conf
//在文件后加入下面内容:
* soft nofile 100000
* hard nofile 100000
此步骤需要重启机器生效,可以设置完后再重启。