- 2018年9月7日 截至到今天,CDH已经更新到6.0.0了。
本文介绍的CDH的安装是在本机上搭建的三个虚拟机中的,我的物理机配置如下:
通常说的CDH主要分为两个部分:CDH 和 CDH Manager。CDH主要就是包含了Hadoop等的一些大数据组件的安装包,而CDH Manager就是管理和监控这些的一个系统。
2 基础环境配置
JDK的安装
虚拟机安装成功后,
配置JDK环境,CDH对JDK有严格的要求,在CentOS中,必须放在/usr/java/ 目录下面;
防火墙关闭
使用systemctl stop firewalld.service指令检查防火墙状态;
使用systemctl disable firewalld.service指令关闭防火墙开机启动;
NTP 服务的安装
具体的思路为:主节点安装了NTP服务,然后作为NTP服务器,对所有的从节点提供时间同步服务。具体的安装流程如下:
在所有的节点上安装NTP服务:
sudo yum install ntp –y;
配置开机启动:
sudo systemctl enable ntpd.service;
# 或者
sudo chkconfig ntpd on;
#(现在新的开机启动走的是第一条指令了。)
最好重启机器,检查是否生效:
sudo reboot;
systemctl status ntpd.service
也可以通过指令检查是否设置成功:
chkconfig –list ntpd ;
#如果2-5都是on,则成功配置了。
从节点配置,如果从节点也能联网的话,把所有的节点的时区设置为同一个即可,具体设置指令为:
查看当前的时区信息:
[bigdata@mini00 ~]$ timedatectl status
Local time: Sun 2017-07-23 14:45:23 CST
Universal time: Sun 2017-07-23 06:45:23 UTC
RTC time: Sun 2017-07-23 06:45:23
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
设置亚洲上海时区:
sudo timedatectl set-timezone Asia/Shanghai
安装包的下载
此次安装是基于CDH5.10.0版本。
CDH Manager的下载地址如下:
http://archive.cloudera.com/cm5/cm/5/
CDH 的下载地址如下:
http://archive.cloudera.com/cdh5/parcels/5.10.0/
具体如下图所示:
以上的配置和CDH没有关系的,是CentOS7的基本环境的配置
CDH 安装环境配置
复制虚拟机
重新打开虚拟机的时候,都选择我已经复制该虚拟机,这样的话,VMare会为该虚拟机重新生成一个网卡,不然的话,会依然使用以前的网卡,造成IP冲突。
修改域名
#查看域名
hostnamectl
#修改域名
hostnamectl set-hostname cdh01
注销当前用户之后,新域名即可生效。
设置IP
[bigdata234@cdh03 ~]$ sudo vi /etc/hosts
[sudo] password for bigdata234:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.225.131 cdh01
192.168.225.132 cdh02
192.168.225.133 cdh03
免密登陆
确定cdh01为主节点,在主节点生成密钥后,拷贝到从节点上。从节点不需要生成密钥拷贝到主节点,此处注意陷入了死循环中。
Mysql的安装
此时的mysql的安装只安装在主节点上。
参考另外一篇文章
上传已经下载的文件,然后拷贝到各个节点上
文件解压
每个节点上都解压CM,解压的路径是/opt/ 下;
tar -zxvf cloudera-manager-centos7-cm5.11.0_x86_64.tar.gz -C /opt/
解压的结果如下:
[root@cdh01 opt]# tree -L 2
.
├── cloudera
│ ├── csd
│ └── parcel-repo
└── cm-5.11.0
├── etc
├── lib
├── lib64
├── log
├── run
├── sbin
└── share
11 directories, 0 files
在所有节点上配置主机的名称
vi cm-5.11.0/etc/cloudera-scm-agent/config.ini
如下:
server_host=cdh01
创建用户
至于为什么要创建用户,不能使用当前的root或者别的用户,CDH的官网有说明。
三个节点上面都创建用户:cloudera-scm 。
useradd --system --home-dir /opt/cm-5.11.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
用户创建后,修改目录的用户权限:
chown -R cloudera-scm:cloudera-scm /opt/cloudera/
chown -R cloudera-scm:cloudera-scm /opt/cm-5.11.0/
建立数据库
首先,在每个节点,都将驱动拷贝到CM的目录下面:
cp mysql-connector-java-5.1.43-bin.jar /opt/cm-5.11.0/share/cmf/lib/
其次,在主节点执行脚本,创建数据库,该脚本是CM自带的,
/opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p密码 --scm-host localhost scm scm cm库的密码
安装CDH
文件拷贝
只在 主节点 拷贝,从节点在安装的时候会自动完成复制的。
(1)、将CDH的parcel文件、sha1文件和JSON文件拷贝到/opt/cloudera/parcel-repo/目录下面;
(2)、将sha1文件修改为sha文件;
(3)、
创建HIVE数据库、集群监控数据库、HUE、OOZIE数据库
/**hive数据库**/
DROP DATABASE IF EXISTS hive;
CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON hive.* TO 'hive'@"%" IDENTIFIED BY "hivepassword";
/**集群监控数据库**/
DROP DATABASE IF EXISTS amon;
CREATE DATABASE amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@"%" IDENTIFIED BY "amonpassword";
/**hue数据库**/
DROP DATABASE IF EXISTS hue;
CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@"%" IDENTIFIED BY "huepassword";
/**oozie数据库**/
DROP DATABASE IF EXISTS oozie;
CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'ooziepassword';
GRANT ALL ON cmf.* TO 'cmf'@'%' IDENTIFIED BY 'cmfpassword';
启动
主节点:
sudo /opt/cm-5.11.0/etc/init.d/cloudera-scm-server start
sudo /opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start
从节点:
sudo /opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start
相应的重启,暂停,分别为restart,stop。
错误日志的位置:
/opt/cm-5.11.0/log/cloudera-scm-agent
CM启动日志在文件/opt/cm-5.11.0/log/cloudera-scm-server/cloudera-scm-server.log
中;
....
2018-09-08 15:05:18,543 INFO WebServerImpl:org.mortbay.log: jetty-6.1.26.cloudera.4
2018-09-08 15:05:18,647 INFO WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180
2018-09-08 15:05:18,648 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.
.....
7180端口已经启动
相关网址
欢迎界面
http://192.168.225.131:7180/cmf/express-wizard/wizard
出现主机运行不良的原因是没有删除主机以前生成的cm_guid导致的,可以参考文章:https://blog.csdn.net/u011031430/article/details/74057601
删除重新安装
如果安装错误了,删除重新安装,按照以下步骤:
1 删除全部的从节点上的文件包括,cloudrea和cm-xxx,重新解压;2‘
2 为新的文件夹修改用户组;1’
3 修改config文件,使其的服务节点都是cdh01;2‘
4 删除CM数据库;drop database cm; 2’
5 创建CM数据库;2'
6 从节点上,拷贝数据库驱动到cmf/lib下;
7 主节点,清空cloudera下的文件,只保留csd和paracel-repo文件夹;
8 主节点,删除rm -f /opt/cloudera-manager/cm-5.11.1/lib/cloudera-scm-agent/cm_guid
,重启主节点的agent(restart)
9 重启,首先启动主节点的管理;再启动从节点的agent;
安装的过程中出现错误:
/opt/cm-5.11.0/lib64/cmf/service/client/deploy-cc.sh: line 115: perl: command not found
是因为perl没有安装:
yum install -y perl
,安装完后,重试即可;
Command aborted because of exception: Command timed-out after 90 seconds
一般是内存太少了导致的,对于主节点要求至少5GB,从节点要求至少2GB
可以多试几次,说不定就通过了。