软件准备
- jdk-8u121-linux-x64.rpm
- cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz
- CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel
- CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha 更改为sha后缀
- manifest.json
- MysqL57-community-release-el7-8.noarch.rpm
- MysqL-connector-java-5.1.39.jar
机器规划
HOSTNAME | IP | Conponents |
---|---|---|
cdh01 | xx.xx.xx.1 | nn,dn |
cdh02 | xx.xx.xx.3 | snn,dn |
cdh03 | xx.xx.xx.3 | dn |
CM/CDH集群安装
安装jdk
rpm -ivh jdk-8u121-linux-x64.rpm
配置环境变量略
防火墙等配置
3台server均需配置:
a). 网络配置:
vi /etc/sysconfig/network
HOSTNAME=cdh01
b). 主机映射:
vi /etc/hosts
xx.xx.xx.1 cdh01
xx.xx.xx.2 cdh02
xx.xx.xx.3 cdh03
c). 关闭selinux
vim /etc/sysconfig/selinux
SELINUX=disabled
检查是否已关闭:sestatus -v
SELinux status: disabled
d). 关闭防火墙
# systemctl stop firewalld(关闭)
# systemctl disable firewalld(禁用)
# systemctl status firewalld(检查)
e). 时钟同步设置
yum -y install ntp (安装ntp服务器)
vi /etc/ntp.conf (编辑模式)
server 时钟服务提供商 iburst
server xx.xx.xx.1 iburst (3台节点均指向第一台,以防止第一优先级时钟服务提供商服务异常)
f). ssh无密码互登陆
略
安装MysqL并创建业务库
安装MysqL略
注意,设置MysqL不区分大小写:
在/etc/my.conf文件中的[MysqLd]配置项下,添加:
lower_case_table_names=1
重启MysqL:
systemctl restart MysqLd
或执行
service MysqLd restart 亦可。
检查是否生效:
MysqL> show variables like ‘%case_tab%’;
+————————+——-+
| Variable_name | Value |
+————————+——-+
| lower_case_table_names | 1 |
+————————+——-+
分别创建hive Metastore库,hue库,cm业务监控库,oozie任务流库,如下:
建库前先删除原来的:
drop database hive;
drop database hue;
drop database monitor;
drop database oozie;
drop database scm; –cm配置管理cdh集群所需要的db
create database hive 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;
create database scm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all on *.* to root@”%” identified by “123456”;
安装MysqL驱动
mkdir -p /usr/share/java
cp /software/MysqL-connector-java-5.1.39.jar /usr/share/java
因cm环境变量脚本中写死MysqL jdbc jar包名称为:MysqL-connector-java.jar,故需要将原始jar包更名,如下:
cd /usr/share/java
mv MysqL-connector-java-5.1.39.jar MysqL-connector-java.jar
安装cm
3台服务器:
创建cm安装文件夹(all nodes):
mkdir /opt/cloudera-manager
tar -xf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager
创建cloudera-scm管理用户和组(all nodes):
如果已存在该用户,如有必要先执行删除:
userdel -r -f cloudera-scm 级联删除家目录,用户已登录也强制删除useradd –system –home=/opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-server –no-create-home –comment “Cloudera SCM User” cloudera-scm
注意:
所有useradd后面option参数前均为2个连字符,因csdn markdown编辑器自身原因,写文章时是正确的,显示就有问题,只能显示一个。
下同
在【主节点】创建cloudera-manager-server的本地元数据保存目录:
mkdir /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /opt/cloudera-manager
配置**【从节点】**cloudera-manger-agent指向主节点服务器:
实际上3台server均配置为指向主节点,这里是cdh01
vim /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
【主节点】中创建parcel-repo仓库目录:
[root@hadoop1 ~]# mkdir -p /opt/cloudera/parcel-repo
[root@hadoop1 ~]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
[root@hadoop1 ~]# cp CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha manifest.json /opt/cloudera/parcel-repo
【所有节点】上创建parcels目录:
所有大数据组件都将从主节点cdh01上的parcel-repo目录中分发至从节点(含主节点)的parcels目录中。
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
初始脚本配置数据库scm_prepare_database.sh(在主节点上):
/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh MysqL -hMASTER_SERV_IP –scm-host MASTER_SERV_IP scmDB DB_USER DB_PASS
说明:这个脚本就是用来创建和配置CMS需要的数据库的脚本。
各参数含义:
MysqL:数据库用的是MysqL,如果安装过程中用的oracle,那么该参数就应该改为oracle。
-hhadoop1:数据库建立在hadoop1主机上面。也就是主节点上面。
–scm-host hadoop1:CMS的主机,一般是和MysqL安装的主机是在同一个主机上。
最后三个参数是:数据库名,数据库用户名,数据库密码。
Core Step: 启动主节点cloudera-scm-server
cp /opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
chkconfig cloudera-scm-server on
因scm server服务脚本写的有问题,资源路径指定错误,只需要在启动目录的/etc/init.d/cloudera-scm-server文件中,将CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default},等号右侧文件改为/opt/cloudera-manager/cm-5.7.2/etc/default即可,后续cloudera-scm-agent文件也存在这个问题,解决办法一样。
开机启动脚本文件中/etc/rc.local,也需要加入server启动命令:
service cloudera-scm-server restart
启动cloudera-scm-agent所有节点(3台server,all nodes):
mkdir /opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-agent
cp /opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
chkconfig cloudera-scm-agent on
这里/etc/rc.local里,也同样设置开机自启动:
service cloudera-scm-agent restart
server和agent都配置完成后,分别启动server端和agent端:
service cloudera-scm-server restart
service cloudera-scm-agent restart
浏览器中安装cdh
刚才的cloudera-scm-server服务启动后,就打来了一个cdh的web安装服务,这时候在浏览器中输入:
http://cdh01:7180,输入默认用户admin/admin即可开始安装cdh集群,admin的密码在安装成功后,以admin用户登录时即可修改。
安装过程中,系统会根据系统硬件内容只能提出修改建议,这2项内容是优化选项:
echo 10 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
一路安装,直至完成。。。
HUE安装
①。hue安装
cm安装完毕并登录后,在左上角cluster 1后,点击“添加服务”=>软件列表中勾选HUE=>安装页面中选择安装在3台server中
②。启动hue
有2种方式启动hue:
a).在本机/etc/hosts文件中,配置cdh01与ip的域名映射,地址栏里输入:http://cdh01:8888
b).安装完hue后,在hue左侧组件列表里,点击hue链接进入hue设置页面,依次点击Tab页 “Web UI”=> “Hue Web UI”,即打开hue console页面。
③。关于hue管理员账户的修改
第一次登陆,可以输入任意的用户名/密码,进入后即可修改密码。
④。默认配置数据安装在sqlite文件数据库里,支持用户数有限,需要更改为通用的MysqL存储。
参考博客列表,致谢:
1.http://www.jb51.cc/article/p-omoyzogu-nq.html
2.http://www.jb51.cc/article/p-qzrplfnn-xp.html