版本说明:
ubuntu: 16.04
jdk: 1.8.0_251
mariadb: 10.0.38
cloudera manager: 6.0.0
cdh: 5.11.0-1.cdh5.11.0.p0.34
相关连接:
安装文档:https://docs.cloudera.com/documentation/enterprise/6/6.0/topics/install_cm_cdh.html#cmig_topic_6_6
JDK下载地址:https://archive.cloudera.com/cm6/6.0.0/ubuntu1604/apt/pool/contrib/e/enterprise/
ubuntu源文件下载地址:https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cm_6_version_download.html
ubuntu源安装文件下载地址:https://archive.cloudera.com/cm6/6.0.0/ubuntu1604/apt/pool/contrib/e/enterprise/
Parcels下载地址:http://archive.cloudera.com/cdh5/parcels/5.11.0.34/
1 环境准备
1.1 准备3台主机
主机列表如下:
主机名称 | IP | 配置 |
---|---|---|
cdh-manager-1 | 192.168.66.113 | 4核8G |
cdh-master-1 | 192.168.66.114 | 4核8G |
cdh-worker-1 | 192.168.66.115 | 4核8G |
1.2 修改主机名并添加hosts
按照主机列表,分别修改主机名:
vi /etc/hostname
将三台主机添加到hosts中
vi /etc/hosts
添加内容如下:
192.168.66.113 cdh-manager-1
192.168.66.114 cdh-master-1
192.168.66.115 cdh-worker-1
1.3 关闭防火墙
ufw disable
2 安装Cloudera Manager
2.1 安装JDK
1.2.1 官网下载jdk 1.8
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
下载jdk-8u251-linux-x64.tar.gz并复制到 /opt目录下
1.2.2 解压
tar -zxvf jdk-8u251-linux-x64.tar.gz
1.2.3 将安装目录软连接到/usr/java目录下
为了让cloudera找到JAVA HOME,这里可以显示的将java的安装目录软连接到/usr/java下。
创建/usr/java目录
mkdir /usr/java
创建软连接
ln -s /opt/jdk1.8.0_251/ /usr/java/jdk1.8.0_251
1.2.4 配置环境变量
vim /etc/profile
添加如下内容
#set java enviroenment
export JAVA_HOME=/usr/java/jdk1.8.0_251
export CLASSPATH=.:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
使环境变量生效
. /etc/profile
验证jdk
root@cdh-manager-1:~# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
1.2.4 将jdk目录发送到两台Agent主机
scp -r /opt/jdk1.8.0_251/ root@cdh-master-1:/opt/
scp -r /opt/jdk1.8.0_251/ root@cdh-worker-1:/opt/
创建软连接和配置环境变量就不要统一发送了,每台机子单独配置,方法跟cdh-manager-1主机一样。
2.2 配置仓库
这里我们需要为cloudera manager配置ubuntu的软件仓库。
下载源配置文件到/etc/apt/sources.list.d/
wget -P /etc/apt/sources.list.d/ https://archive.cloudera.com/cm6/6.0.0/ubuntu1604/apt/cloudera-manager.list
导入仓库的秘钥
wget https://archive.cloudera.com/cm6/6.0.0/ubuntu1604/apt/archive.key sudo apt-key add archive.key
更新仓库
sudo apt-get update
以上操作在每一台机器上都需要执行一遍。
2.3 安装Cloudera Manager Server
这里我们可以直接使用apt命令安装cloudera-manager-daemons、cloudera-manager-agent、cloudera-manager-server这三个软件,但是由于网络的原因cloudera-manager-daemons这个软件经常会下载失败,我们可以先在网络较好的机器上下载该包,然后复制到目标主机,使用dpkg安装。
2.3.1 使用dpkg安装cloudera-manager-daemons
离线cloudera-manager-daemons
下载地址:https://archive.cloudera.com/cm6/6.0.0/ubuntu1604/apt/pool/contrib/e/enterprise/
下载完成之后,上传至目标主机/var/cache/apt/archives/目录下。
安装cloudera-manager-daemons
cd /var/cache/apt/archives/ dpkg -i cloudera-manager-daemons_6.0.0_530873.ubuntu1604_all.deb
以上操作再每一台机器上都必须执行一遍。
复制安装包到其它两台主机上:
scp cloudera-manager-daemons_6.0.0_530873.ubuntu1604_all.deb root@192.168.66.114:/var/cache/apt/archives/
scp cloudera-manager-daemons_6.0.0_530873.ubuntu1604_all.deb root@192.168.66.115:/var/cache/apt/archives/
2.3.2 使用apt-get安装cloudera-manager-agent cloudera-manager-server
只需要在cdh-manager-1这台机器上执行如下命令:
sudo apt-get install cloudera-manager-agent cloudera-manager-server
2.4 安装Cloudera Manager Agents
在所有机器上执行如下命令,那幢cloudera-manager-agent:
sudo apt-get install cloudera-manager-agent
修改agent的配置文件:
vi /etc/cloudera-scm-agent/config.ini
# 将server_host改为cdh-manager-1
server_host=cdh-manager-1
2.5 安装Mariadb
数据库只需要在cdh-manager-1这台机上安装。
使用apt-get安装
sudo apt-get install mariadb-server
启动MySQL
service mysql start
执行初始化SQL,使用root用户登录,密码不需要输入,直接回车进入
mysql -uroot -p SET PASSWORD FOR root@'localhost'=password('root'); # 授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION; # 授予外网访问权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES;
安装jdbc驱动
sudo apt-get install libmysql-java
2.6 配置Cloudera Manager数据库
2.6.1 创建scm数据
进入mysql
mysql -uroot -proot
执行如下SQL
# 创建scm数据库 CREATE DATABASE scm DEFAULT CHARACTER SET utf8; # 授权 GRANT ALL PRIVILEGES ON *.* TO 'scm'@'localhost' IDENTIFIED BY 'scm' WITH GRANT OPTION; # 授予外网访问权限 GRANT ALL PRIVILEGES ON *.* TO 'scm'@'%' IDENTIFIED BY 'scm' WITH GRANT OPTION; update mysql.user set authentication_string=PASSWORD('scm'), plugin='mysql_native_password' where user='scm'; FLUSH PRIVILEGES;
执行初始化脚本
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm scm
2.7 启动Server和Agents
在cdh-manager-1机器上启动cloudera-scm-server
sudo service cloudera-scm-server start
查看server状态
sudo service cloudera-scm-server status
在所有机器上启动sudo service cloudera-scm-agent
sudo service cloudera-scm-agent start
查看agent状态
sudo service cloudera-scm-agent status
等待server启动之后我们就可以访问192.168.66.113:7180。
3 安装CDH集群
3.1 上传离线Parcels
提前下载好Parcels。下载地址:http://archive.cloudera.com/cdh5/parcels/5.11.0.34/,这里需要下载xenial对应的文件,包含如下内容:
http://archive.cloudera.com/cdh5/parcels/5.11.0.34/CDH-5.11.0-1.cdh5.11.0.p0.34-xenial.parcel
http://archive.cloudera.com/cdh5/parcels/5.11.0.34/CDH-5.11.0-1.cdh5.11.0.p0.34-xenial.parcel.sha1
http://archive.cloudera.com/cdh5/parcels/5.11.0.34/manifest.json
将下载好的三个文件上传至cdh-manager-1主机的/opt/cloudera/parcel-repo下。
注意:这里需要将CDH-5.11.0-1.cdh5.11.0.p0.34-xenial.parcel.sha1重命名为CDH-5.11.0-1.cdh5.11.0.p0.34-xenial.parcel.sha,否则cloudera manager不会识别。
重启cloudar manager
sudo service cloudera-scm-server restart
3.2 激活并选择版本
访问192.168.66.113:7180,用户名密码:admin/admin。
如下图进入欢迎页面,点解右下角【继续】按钮。
同意最终用户许可条款和条件,然后点击右下角【继续】按钮。
选择【Cloudera Express】版本,然后点击【继续】按钮。
3.3 集群安装
如下为集群安装的欢迎页面,直接点击【继续】按钮。
指定需要安装集群的主机,这里直接点击【当前管理的主机】连接,然后选择所有主机即可,然后点击【继续】按钮。
这里我们需要我们选择我们之前手动上传的存储库,如图所示,CDH版本选择【CDH-5.11.0.1-cdh5.11.0.p0.34】,然后点击【继续】按钮。
等待服务安装完成选定的Parcel,然后点击【继续】按钮。
等待服务检查主机完成,然后点击【继续】按钮。
选择自定义服务
如下所示,只需要选择HBase、HDFS、YARN、ZooKeeper4个服务即可,然后点击【继续】按钮。
在自定义角色分配页面,我们可以决定角色安装到指定主机上,这里我们需要调整DataNode安装到所有机器,调整HBase Master角色安装到cdh-master-1主机上,NameNode安装到cdh-master-1上,等等,具体调整可以参考如下截图。
实际生产环境中,需要将对应的数据目录设置为/data/下,默认可以不修改,然后点击【继续】按钮。
等待部署命令执行完成,然后点击【继续】按钮。
点击【完成】按钮即可。
集群完成后,我们点击集群后面的三角按钮,在下拉菜单中选择【部署客户端配置】按钮。
集群部署完成。