大家都知道,Apache Hadoop的配置很繁琐,而且很零散,为此Cloudera公司提供了Clouder Manager工具,而且还封装了Apache Hadoop,flume,spark,hive,hbase等大数据产品形成自己特色的CDH产品,再使用CM进行安装,很大程度上方便了集群的搭建,并提供了集群的监控功能。
【之前已经搭建过HDP大数据平台,链接:https://blog.csdn.net/weixin_38822045/article/details/96129623】
服务器IP |
hostname |
192.168.1.122 |
cdh-001 |
192.168.1.123 |
cdh -002 |
192.168.1.124 |
cdh -003 |
操作系统 |
版本号 |
Centos |
7.0 |
Cloudera-Manager |
5.15.2 |
CDH |
5.15.2 |
MySql |
5.7.0 |
Jdk |
1.8.0 |
http://archive.cloudera.com/cm5/cm/5/
说明:EL是Red Hat Enterprise Linux的简写
- EL5软件包用于在Red Hat 5.x, CentOS 5.x, CloudLinux 5.x的安装
- EL6软件包用于在Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x进行安装
- EL7 软件包用于在Red Hat 7.x, CentOS 7.x, and CloudLinux 7.x的安装
本人下载:cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz
链接为:http://archive.cloudera.com/cdh5/parcels/5.15.2/
1)、关闭防火墙(3台服务器都操作)
systemctl stop firewalld
systemctl disable firewalld
1.1)、关闭selinux
修改配置文件vi /etc/selinux/config(重启生效 reboot)
将selinux=enforcing
改为selinux=disabled
2)、设置主机名(3台服务器都操作,名称不同,分别cdh-001,cdh-002,cdh-003)
hostnamectl set-hostname cdh-001
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=cdh-001
NETWORKING_IPV6=no
3)、配置host文件(3台服务器都操作)
vi /etc/hosts 根据自己的ip 进行相应配置
192.168.1.122 cdh-001
192.168.1.123 cdh-002
192.168.1.124 cdh-003
配置完之后,可以在同一台机器上ping 不同的域名,查看是否有响应.表明配置成功
4) 、配置服务器之间免密登录(3台服务器)
检查linux 是否安装ssh: rpm -qa|grep ssh
若没有则执行: yum install ssh
ssh 服务是否开启 systemctl status sshd.service若ssh 服务,关闭则开启服务:systemctl start sshd.service
制作集群的SSH免密码登录
在三台服务器按顺序执行一遍(cdh-001,cdh-002,cdh-003顺序执行)
ssh-keygen -t rsa (一直回车)
ssh-copy-id cdh-001
ssh-copy-id cdh-002
ssh-copy-id cdh-003
5)、设置linux系统的时间(3台服务器)
NTP时间服务器下载 参考博客6.2
https://blog.csdn.net/weixin_38822045/article/details/96129623
——————————————————————————————————————————————————————————————————————————————————
查看时区
date
修改时区为上海CST
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改时间为windows系统时间
ntpdate time.windows.com
6)、设置最大能打开文件数目、进程数和内存(3台服务器)
vi /etc/security/limits.conf
* soft nofile 32728
* hard nofile 1029345
* soft nproc 65536
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited
7)、配置hadoop 用户 sudoer 权限(3台服务器)
vi /etc/sudoers
找到 root ALL=(ALL) ALL 这一行,
然后在他下面添加一行:
hadoop ALL=(ALL) ALL
保存,退出
wq!
Centos7默认活默认安装JDK和MySql,需要将官方自带的给卸载,然后重装
1)、卸载现有JDK
查询是否安装Java软件:
rpm -qa | grep java
一次性全部卸载
rpm -e --nodeps $(rpm -qa | grep java)
2)、安装JDK(3台服务器)
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/java/
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
此处有大坑,建议装在我的位置 /usr/java目录下
因为有些组件,环境变量里面找jdk,而是跑到了 /usr/java/default 这个目录下去找jdk,所有报错说没有找到JAVA_HOME,所以需要在/usr/java目录下创建JDK
3)、卸载,重装MySql服务(操作详情见下链接)
https://blog.csdn.net/weixin_38822045/article/details/91447250
进入Mysql配置(后续有用)
CREATE USER 'temp'@'localhost' IDENTIFIED BY 'temp';
grant all privileges on *.* to 'temp'@'%' identified by 'temp' with grant option;
grant all privileges on *.* to 'temp'@'cdh-001' identified by 'temp' with grant option;
flush privileges;
1)、创建安装目录(3个节点)
[root@cdh-01 ~] mkdir -p /opt/cloudera-manager
[root@cdh-02 ~] mkdir -p /opt/cloudera-manager
[root@cdh-03 ~] mkdir -p /opt/cloudera-manager
tar -zxvf cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz -C /opt/cloudera-manager/
修改config.ini文件(3个节点)表示server服务在cdh-001服务器
cd /opt/cloudera-manager/cm-5.15.2/etc/cloudera-scm-agent
vi config.ini
修改server_host=cdh-001
创建CM用户(只需要Server,cdh-001服务器执行即可)
在 CM的server节点上(这里是 cdh-001)找到下面目录下的脚本
[root@cdh-001 schema]# cd /opt/cloudera-manager/cm-5.15.2/share/cmf/schema
[root@cdh-001 schema]# ./scm_prepare_database.sh mysql -h cdh-001 -utemp -ptemp --scm-host cdh-001 scm scm scm
注意:这里的temp是在安装mysql后面那里就设置好的
第一个:cdh-001:MySQL 的安装位置
第二个:cdh-001:CM server 服务的位置
temp temp 是mysql创建完毕后授权的那步操作
报错:(不要慌)
缺少 mysql-connector-java.jar 驱动包(下载地址)
链接:https://pan.baidu.com/s/1bKdtYHzg2VS-xAJJwOp1rg&shfl=sharepset
提取码:npri
需要把Mysql的驱动包拷贝到/usr/share/java 目录下(server的服务器下,备注:如果出现java不是文件文件夹,删除自己创建)
注意要把jar包名称重命名为 mysql-connector-java.jar
再次执行上述命令(同下)
[root@cdh-001 schema]# cd /opt/cloudera-manager/cm-5.15.2/share/cmf/schema
[root@cdh-001 schema]# ./scm_prepare_database.sh mysql -h cdh-001 -utemp -ptemp --scm-host cdh-001 scm scm scm
1)、找到相应的源并下载:http://archive.cloudera.com/cdh5/parcels/5.15.2/
CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel
CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1
同時重命名
mv CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1 CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha
2)、创建文件夹(3个节点都执行)
[root@cdh-01 ~] mkdir -p /opt/cloudera/parcel-repo/
[root@cdh-01 ~] mkdir -p /opt/cloudera/parcels/
Server服务器(cdh-01)中 :把上面的两个源放在/opt/cloudera/parcel-repo/
Agent服务器(cdh-02,cdh-03):把上面这两个源放在/opt/cloudera/parcels/
3)、创建CDH内部用户(3个节点都执行)
useradd --system --home=/opt/cloudera-manager/cm-5.15.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
4)、修改用户所属
(按照下面的代码执行即可)
[root@cdh-01 cloudera]# cd /opt/cloudera 所有节点执行
[root@cdh-01 cloudera]# chgrp cloudera-scm parcel-repo/ 所有节点执行
[root@cdh-01 cloudera]# chown cloudera-scm parcel-repo/ 所有节点执行
所有 agent 节点执行:chown -R cloudera-scm:cloudera-scm /opt/cloudera/
必须:Mysql一定要保证启动
a)、去CM提供服务的cdh-001服务器下执行
[root@cdh-001 ~]# cd /opt/cloudera-manager/cm-5.15.2/etc/init.d
[root@cdh-001 init.d]# ./cloudera-scm-server start
Starting cloudera-scm-server: [ OK ]
备注:如果報錯,./cloudera-scm-server:行109: pstree:
请安装 : yum -y install psmisc
查看 server 的启动日志文件,状态
[root@cdh-001 init.d]# cd /opt/cloudera-manager/cm-5.15.2/log/cloudera-scm-server
[root@cdh-001 cloudera-scm-server]# tail -f cloudera-scm-server.log
如果日志没有错误,就使用jps,查看是否有main进程,如果有即启动成功
b)、启动Agent(3节点都执行)
[root@cdh-001 ~]# cd /opt/cloudera-manager/cm-5.15.2/etc/init.d
[root@cdh-001 init.d]# ./cloudera-scm-agent start
Starting cloudera-scm-agent: [ OK ]
查看 agent 的启动日志文件,状态,进行查错
[root@cdh-001 ~]# cd /opt/cloudera-manager/cm-5.15.2/log/cloudera-scm-agent
[root@cdh-001 cloudera-scm-agent]# tail -f cloudera-scm-agent.log
登陆页面:http://cdh-001:7180/cmf/login [本地host需要映射hostname]
登陸用戶名和密码:默认为admin
2)、选择版本
点击继续,看下图,发现只有一个节点,说明只有001节点的Agent启动了,余下的全都失败,查看日志发现,问题本人少修改了
第七步 config.ini的配置文件,博主只修改了第一台服务器,002,003没有修改,导致出错..........
解决【第七步config.ini 配置所有服务器都要操作,博主操作是漏掉了】
操作完毕后,重启002,003节点(所有节点都出来了)全选所有节点,点击继续
下面一张图,本博主没截图,网上找的一张图片(见谅)
选择CDH版本时,选择我们之前已经上传上去的版本
选择自定义
安装完CDH后,CDH Manager一般会提示用户需要做一些Linux系统层面的优化
详情请参考Cloudera官方网址:https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_admin_performance.html
自定义选择,在初次安装的时候,本博主建议,就选择基础组件,hdfs,hbase,hive,zookeeper,yarn几个组件,防止安装太多,整体服务无法启动。就相当尴尬了,组件、角色分配,尽量让角色均衡地分配到所有主机上,以减少某一台主机的压力
集群数据连接配置修改,先要创建下列所需要用的数据库,看需求自己创建,用户和密码也可以使用root,root
create database hive character set utf8;
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive-1234';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
测试连接,如果不成功,大部分都是Mysql驱动为设置,查看上文即可.........
下图所示,只需要将数据存储目录挂载到最大盘,即可,避免hdfs硬盘不够问题,余下最好不动
如上图展示,所有需要基础组件已经可以了使用了,后续警告就是些配置问题,需要自己修改配置,后续需要更多组件可以自己添加
自行选择,建议组件一个一个的添加,避免集体出错.........访问50070进行查看
最后需要启动Hdfs的高可用,博主没有截图,
参考博客:https://www.cnblogs.com/yinzhengjie/articles/10431177.html
安装时间同步服务,参考博主搭建HDP大数据平台博客:https://blog.csdn.net/weixin_38822045/article/details/96129623 【6.2、设置ntpd自动启动,所有机器(时间同步服务)】
切记
安装大数据平台初期,最好先给足资源配置,切勿开始资源不够,后续在扩容,因为CDH平台会更具第一次资源安装的时候,进行资源分配,所有配置都免不用手动分配,都是系统分配,但是后续扩容,CDH平台配置沒有动态扩容能力,手动去扩容资源,一个个组件的修改配置文件,非常容易出错。