title: Cloudera Manager的安装
tags: CM Cloudera Manager cdh
一、Linux系统的安装
安装Linux CentOS 7.1系统
-
设置网络
- 配置IP与主机之间的映射,命令如下:
vi /etc/hosts
10.187.113.41 cdh01
10.187.113.42 cdh02
10.187.113.43 cdh03
10.187.113.44 cdh04
10.187.113.45 cdh05- 禁用IPv6
echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf -
增加普通用户
useradd hadoop(增加用户)
passwd hadoop(修改用户密码) -
配置普通用户的sudo权限
vi /etc/sudoers
hadoop ALL=(root)NOPASSWD:ALL -
关闭防火墙
centos6.5关闭防火墙service iptables stop (暂时关闭)
chkconfig iptables off(永久性关闭)centos7关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动 -
禁用Selinux
vi /etc/sysconfig/selinux
SELINUX=disabled -
设置文件打开数量和用户最大进程数
查看文件打开数量
ulimit -a
查看用户最大进程数ulimit -u
vi /etc/security/limits.conf
增加以下内容:soft nofile 65535
hard nofile 65535
soft nproc 32000
hard nproc 32000 -
yum源更换和添加
-
更换yum 源为163,请执行以下命令
cd /etc/yum.repos.d
yum install -y wget (下载资源命令)
rename .repo .repo.bak *
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache
yum install lrzsz -
添加cloudera-manager.repo源 【所有节点都要】
cd /etc/yum.repos.d/
vi cloudera-manager.repo 添加以下内容后保存退出[cloudera-manager]
name=Cloudera Manager
baseurl=https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5/
gpgkey =https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/RPM-GPG-KEY-cloudera
gpgcheck = 1
-
-
卸载CentOS自带的jdk
sudo rpm -qa|grep jdk 或 sudo rpm -qa|grep java
sudo rpm -e --nodeps xxx yyy zzz 安装jdk
安装jdk命令:rpm -ivh jdk-8u151-linux-x64.rpm
jdk下载地址:jdk-8u151-linux-x64.rpm设置将 /proc/sys/vm/swappiness 设置为 0 (修改swap空间的swappiness,降低对硬盘的缓存 )
(root用户)输入:echo "vm.swappiness=0" >> /etc/sysctl.conf )
-
集群时间同步
rpm -qa |grep ntpd
>>没有安装则需要安装此服务 >>yum install ntp
-
去掉这个注释,将地址改成网段地址
restrict 10.187.113.41mask 255.255.255.0 nomodify notrap
注释掉这几个
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 10.187.113.41 prefer
server 127.127.1.0
fudge 127.127.1.0 stratum 10 -
配置boot时间和系统时间同步
vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes -
客户机配置(从节点)
注释掉这几个
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 10.187.114.41 -
启动ntpd服务器(主+从)
centos7systemctl start ntpd.service
systemctl status ntpd.servicecentos6.5
service ntpd start
service ntpd status
配置免密登录
配置主机之间的免密ssh登陆(每个节点都要配置、密钥自身也要拷贝)
假如 cdh01 要登陆 cdh02
在cdh01上操作:
首先生成密钥对,命令如下:
ssh-keygen
(提示时,直接回车即可)
将生产的秘钥copy到mini2上,命令如下
ssh-copy-id cdh02
如果出现 ssh-copy-id: command not found 需要执行该命令yum -y install openssh-clients
二、cdh安装
1.安装mysql(需要root权限)并创建CDH相关的表【只需要在 cdh01节点安装】
- 查看CentOS自带mysql是否已安装。
输入:sudo yum list installed | grep mysql
- 若有自带安装的mysql,如何卸载CentOS系统自带mysql数据库?
输入:sudo yum -y remove mysql-libs.x86_64
,若有多个依赖文件则依次卸载。
当结果显示为Complete!即卸载完毕。 - 使用离线的RPM包安装mysql
-
解压安装包
tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
-
安装顺序
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.20-1.el7.x86_64.rpm -
启动Mysql服务
systemctl start mysqld.service
-
修改管理员密码
安装好mysql的初始密码,需要进行重置,进入msyql将密码修改为你自己的,我这里将密码修改成rootgrep 'temporary password' /var/log/mysqld.log
如果修改密码过于简单就会报错Your password does not satisfy the current policy requirements
做如下修改mysql -uroot
mysql>use mysql;
mysql>set global validate_password_policy=0;
mysql>set global validate_password_length=1;
mysql>set password for 'root'@'%'=password('root');
mysql> flush privileges; -
修改mysql的访问权限
输入:mysql -uroot -proot
mysql> grant all privileges on . to 'root'@'%' identified by 'root';
mysql> flush privileges; -
创建表cdh相关默认库(也可以后创建)
输入命令;mysql -uroot -proot
进入mysql,执行以下sql建库语句mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> create database reports DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> create database navigatoraudit DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> create database navigatormetadata DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-
2.在主节点【cdh01】Cloudera Manager Server ,以下方式随便选择一种【建议选择离线安装】
在线安装sudo yum install cloudera-manager-daemons cloudera-manager-server
-
离线安装
资源下载地址:https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/
上传三个server的资源包到mini1节点上
cloudera-manager-server-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm
cloudera-manager-server-db-2-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm
cloudera-manager-daemons-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm安装
yum install -y postgresql-server(我这里是安装server-db的时候缺少这个依赖然后用yum安装的)
rpm -ivh cloudera-manager-daemons-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-db-2-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm
3. 拷贝mysql的连接驱动【mysql-connector-java-5.1.40.jar】到该目录下 /usr/share/cmf/lib
4. 在主节点【cdh01】初始化CM5的数据库
/usr/share/cmf/schema/scm_prepare_database.sh mysql -h localhost -uroot -proot --scm-host localhost scm root root
5. 上传CHD5大数据服务组件资源包
下载地址:http://archive.cloudera.com/cdh5/parcels/latest/
cd /opt/cloudera/parcel-repo
上传:CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel和CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha以及manifest.json 这个目录下 /opt/cloudera/parcel-repo
使用 chmod -R guo+wr xxx 给上述三个文件配置可写可读的权限
6. 主节点【cdh01】上启动Cloudera Manager Server
systectl start cloudera-scm-server
7. 使用netstat-nltp
命令查看【cdh01】端口7180 是否启动成功,如果出现这个端口可以使用浏览器访问http://cdh01:7180 (windows下hosts做主机映射)
8. 在节点【cdh01,cdh02,cdh03,cdh04,cdh05】Cloudera Manager agent ,以下方式随便选择一种【建议选择离线安装】
-
在线安装
sudo yum install cloudera-manager-agent cloudera-manager-daemons
-
离线安装
上传两个server的资源包到mini1节点上
资源下载地址:https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/
cloudera-manager-agent-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm
cloudera-manager-daemons-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm安装顺序
rpm -ivh cloudera-manager-daemons-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-5.11.0-1.cm5110.p0.101.el7.x86_64.rpm
9. 修改agent所在的节点【cdh01,cdh02,cdh03,cdh04,cdh05】配置文件config.ini内容
sudo vi /etc/cloudera-scm-agent/config.ini
server_host=cdh01 (这里我是以cdh01作为server节点)
10. 启动Cloudera Manager
在从节点【cdh01,cdh02,cdh03,cdh04,cdh05】上启动Cloudera Manager Agent
sudo service cloudera-scm-agent start
三、Clouder Manager Server和agent 安装过程异常情况处理
-
已启用“透明大页面”,它可能会导致重大的性能问题。版本为“CentOS release 7.1 (Final)”且版本为“2.6.32-279.el7.x86_64”的 Kernel 已将 enabled 设置为“[always] never”,并将 defrag 设置为“[always] never”。请运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会设置它
解决方案:echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never >> /etc/rc.local -
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:
解决方案:echo 0 > /proc/sys/vm/swappiness
sysctl vm/swappiness
echo 'vm.swappiness = 0'>/etc/sysctl.conf
sysctl -p -
异常3
pstree: 未找到命令
解决方案yum install -y psmisc
-
找不到jdk
输入:sudo vi /etc/sudoers ,在sudoers最后面添加以下内容
Defaults env_keep+=JAVA_HOME
输入:sudo vi /etc/default/bigtop-utils 在 bigtop-utils 文件中添加以下内容
export JAVA_HOME=/usr/java/latest
然后执行以下命令
source /etc/default/bigtop-utilssource /etc/default/bigtop-utils
- 异常
如果出现agent主机不良状况Error, CM server guid updated, expected 85587073-270d-43d9-a44a-e213d9f7e45b, received 4c1402a5-8364-4598-a382-0c760710e897
尝试运行以下命令
rm -rf /var/lib/cloudera-scm-agent/cm_guid
之后重启agent
service cloudera-scm-agent restart
四、Cloudera Manager首次启动
1. 登录Cloudera Manager的管理界面
cdh01:7180
账号:admin
密码:admin
2. 用户许可条件
3.选择部署版本
4.为集群安装指定主机
5. 群集安装
主机检查没有问题再进行下一步