CDH6.3.2离线安装教程
1 首先上传离线安装包到主服务器上
1.1相关文件百度云下载地址
链接:https://pan.baidu.com/s/1FF_8nhvhlIqlFSB6MGHFWw 提取码:bjv0
2 配置基础环境
2.1 服务器配置
IPHOSTNAMESERVERROLE192.168.0.1alphacloudera-manager-daemons cloudera-manager-agent cloudera-manager-server主192.168.0.2master01cloudera-scm-agent子192.168.0.3slave01cloudera-scm-agent子192.168.0.4slave02cloudera-scm-agent子
配置服务器的hosts和主机名我这里用了四台机器,其中一台alpha做cloudera-manager,但其实agent也可以部署在上面。将各主机的ip和hostname配置到每一台机器上。
[root@alpha home]# vi /etc/hosts192.168.0.1 alpha
192.168.0.2 master01
192.168.0.3 slave01
192.168.0.4 slave02
2.2 每台机器安装常用的工具
yum install -y vimwget ntp net-tools
2.3 配置主服务器免密登录到其他子服务器,执行ssh-keygen连续确认四次
[root@alpha home]# ssh-keygen
Generating public/private rsa key pair.
Enter fileinwhich to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:VqPjAqtD+77tiL3ylISEhI0VXojYHR6nhNvrEoo3wnE root@alpha
The key's randomart image is:
+---[RSA 2048]----+
|oBo==..||*o=+.+ ||. ooo o ||.... o .||. o. S || .oE.+ o .||ooo++ ..||+.B=.o .|| ooOO+o |
+----[SHA256]-----+
[root@alpha home]#
复制秘钥到其他服务器,执行ssh-copy-id 子服务器名 ,这里需要重新输入相应子服务器的密码。执行后通过 ssh 子服务器名查看是否可以免密登录
[root@alpha home]# ssh-copy-id master01[root@alpha home]# ssh-copy-id slave01[root@alpha home]# ssh-copy-id slave02[root@alpha home]# ssh-copy-id master01[root@master01 ~]# [root@master01 ~]# exit[root@alpha ~]#
2.4 配置主服务器JAVA环境和Mysql环境
这里不再赘述,提供一些其他博主的安装教程,安装包都已经提供
安装MySQL
JAVA安装
JAVA安装完毕之后,需要创建一个软连接,注意使用你自己的JAVA路径(即你的JAVA_HOME路径),这一步是为了防止cloudera-scm-server启动失败
[root@alpha usr]# mkdir -p /usr/java/[root@alpha usr]# ln -s /home/jdk8 /usr/java/default
上传mysql-connect的jar包,然后将该jar包重命名为mysql-connector-java.jar,之后移动到 /usr/share/java/
mkdir -p /usr/share/java/ \&&cp 你自己的jar包路径 /usr/share/java/mysql-connector-java.jar
2.5 每台机器关闭防火墙
systemctl stop firewalld \&& systemctl disable firewalld \&& systemctl status firewalld
#依次是关闭、禁用(防止重启后自动开启)、查看状态
2.6 每台机器关闭Selinux
setenforce 0#临时关闭#永久关闭 将SELINUX=enforcing 修改为SELINUX=disabledvi /etc/selinux/config
SELINUX=disabled
2.7 每台机器设置交换空间
echo"vm.swappiness = 0">> /etc/sysctl.conf
# Cloudera建议将交换空间设置为0,过多的交换空间会引起GC耗时的激增。
2.8 每台机器关闭 chrony 服务,该服务会影响到NTP服务的开机启动
systemctl stop chronyd && systemctl disable chronyd
2.9 每台机器关闭大页面压缩
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
参考 关闭大页面压缩原因
2.10 每台机器重新设置时钟服务
vim /etc/ntp.conf
# 将时钟服务器更改为如下10个
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
server 4.cn.pool.ntp.org
server 5.cn.pool.ntp.org
server 6.cn.pool.ntp.org
server 7.cn.pool.ntp.org
server 8.cn.pool.ntp.org
server 9.cn.pool.ntp.org
2.11每台机器启动同步时间服务
systemctl start ntpd \&& systemctl enable ntpd \&& ntpdate -u 0.cn.pool.ntp.org \&& hwclock --systohc \&&date
3 配置本地yum源
3.1下载安装一些基础服务,开启httpd服务
yum -y install httpd createrepo \&& systemctl start httpd \&& systemctl enable httpd \
3.2移动CDH离线安装包,配置本地yum源
[root@alpha ~]# ls
cdh clouderamanager
[root@alpha ~]# mv cdh /var/www/html/[root@alpha ~]# mv clouderamanager /var/www/html/[root@alpha ~]# cd /var/www/html/[root@alpha html]# ls
cdh clouderamanager
[root@alpha html]# cd cdh/[root@alpha cdh]# createrepo .[root@alpha cdh]# cd ..[root@alpha html]# cd clouderamanager/[root@alpha clouderamanager]# createrepo .[root@alpha clouderamanager]#
现在在网页上访问:http://192.168.0.1/cdh/ 和 http://192.168.0.1/clouderamanager/ 可以看到如下图所示
你的地址应该是:http://你自己的主机ip/cdh/ 和 http://你自己的主机ip/clouderamanager/
现在将地址配置到yum源中,进入到 /etc/yum.repos.d/
[root@alpha clouderamanager]# cd /etc/yum.repos.d[root@alpha yum.repos.d]# vi cloudera-manage.repo[clouderamanager]name=Cloudera Manager 6.3.2
# 这里的链接改成你自己的baseurl=http://192.168.0.1/clouderamanager/
gpgcheck=0enabled=1[root@alpha yum.repos.d]# yum clean all && yum makecache
或者你也可以直接执行如下命令
(cat <<EOF
[clouderamanager]
name=Cloudera Manager 6.3.2
baseurl=http://192.168.0.1/clouderamanager/
gpgcheck=0
enabled=1
EOF)>> /etc/yum.repos.d/cloudera-manager.repo \&& yum clean all \&& yum makecache
注意事项:如果在这一步报错了,导致yum不可用,就将/etc/yum.repos.d/clouderamanager.repo 删除,然后执行 yum clean all && yum makecache 。然后从3.1开始重新配置。
接下来将 cloudera-manager.repo 分发到其他子服务器
[root@alpha yum.repos.d]# scp -rq cloudera-manager.repo master01:/etc/yum.repos.d/[root@alpha yum.repos.d]# scp -rq cloudera-manager.repo slave01:/etc/yum.repos.d/[root@alpha yum.repos.d]# scp -rq cloudera-manager.repo slave02:/etc/yum.repos.d/
然后登录其他机器刷新一下yum源
[root@master01 ~]# yum clean all && yum makecache
4 安装Cloudera Manager
4.1 登录mysql预先创建一些库,执行mysql -uroot -p登录
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'qwe123zxc';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'qwe123zxc';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'qwe123zxc';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'qwe123zxc';
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'qwe123zxc';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'qwe123zxc';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'qwe123zxc';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'qwe123zxc';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'qwe123zxc';
这一步完了之后,建议将主机备份一次(创建一个实例快照),因为安装CDH可能因为各种情况出现错误。防止后期出现错误重装的时候又重复配置环境,心态爆炸。
4.2 安装Cloudera Manager
yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
这一步有点久,慢慢等待,这里安装成功之后你还可以创建一个实例快照(重装太可怕了)
4.3 配置本地Parcel存储库
首先移动cdh包下的parcel文件到 /opt/cloudera/parcel-repo,这里我之前是已经将文件移动到 /var/www/html/cdh下了
[root@alpha ~]# cd /opt/cloudera/parcel-repo/[root@alpha parcel-repo]# cp /var/www/html/cdh/*parcel* ./[root@alpha parcel-repo]# ls
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 manifest.json
[root@alpha parcel-repo]# [root@alpha parcel-repo]# sha1sum CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel | awk '{ print $1 }' > CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
4.4 初始化 scm 库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm qwe123zxc
4.5 启动CM
systemctl start cloudera-scm-server \
&& sleep 2 \
&& tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log | grep "INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server"
出现INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server则启动成功
之后就可以通过 http://192.168.0.1:7180/ 登录主界面
账号密码都是 admin
5 初始化CM
这里的1,2,3,4分别代表如下意思:
1:之前建的mysql库所在的位置,本文2.4步安装mysql的服务器名称
2:使用哪一个mysql库,本文4.1步初始化的一些相关库
3:连接mysql数据库的账号,本文4.1步对应库的账号
3:连接mysql数据库的账号,本文4.1步对应库的密码
这里过后基本就完成了。
版权归原作者 Aldebaran α 所有, 如有侵权,请联系我们删除。