CDH6.x安装教程(附带整合kerberos)
CDH免费版最⾼版本提供到了6.3.2,从6.3.3开始不提供免费版,为此整理了cdh6.3.2的离线安装包,⼤家可以点此下载:
安装⼤体思路是将rpm压缩包解压到某个节点的本地⽬录,然后在这个节点开启http服务,并使得其他节点可以访问到该节点本地⽬录下的rpm包,这将作为所有节点的yum源,最后所有节点配置本地yum源的地址即可进⾏cdh的安装
CDH主要包括两⼤组件cm server和cm agent,其中cm server作为CDH的服务管理端通常安装在集中的⼀个节点上,cm agent需要安装在所有节点上,所有的cm agent会与cm server通信,向cm server上报数据,并且也会接收来⾃cm server的指令执⾏⼀些任务,说⽩了cm server就像是司令部,cm agent就是底下的⼠兵,⼀切⾏动要听从cm server的指挥。下⾯的内容我们暂且将安装cm server 的节点称作主节点,其他节点称为⼦节点,注意并不是只在⼦节点安装cm agent,主节点也要安装cm agent,因为主节点这个机器也需要cm agent去监控起来。
(打个⼴告,我在这提供付费的⼀对⼀服务,帮助⼤家快速部署CDH,并解决部署过程中出现的所有问题,附带不限次数的CDH相关技术咨询,收费15元,如有需要可添加联系我,:z1224576376,添加时请备注”cdh⽀持“)
⼀、所有节点安装前的系统准备设置
1. 设置HOST
vi /etc/hosts
2. 关闭防⽕墙
sudo systemctl disable firewalld
sudo systemctl stop firewalld
3. 设置SELinux
vi /etc/selinux/config
将SELINUX=enforcing 改为 SELINUX=permissive,然后重启服务器,或者执⾏下⾯命令:
setenforce 0
4. 开启NTP服务(NTP服务是可选的,其他的时间同步⽅式或者⾮⽣产环境⼿动同步时间亦可)
# 安装NTP服务
yum install ntp
# 编辑/f 添加NTP时间同步服务地址(请填写实际的时间服务器host),如下所⽰:
server p.org
server p.org
server p.org
# 开启NTP服务
systemctl start ntpd
# 设置⾃启动
systemctl enable ntpd
# 同步系统时间
ntpdate -u <ntp服务器地址>
# 查看同步状态,如下所⽰为正确的同步状态
ntpdc -np
remote          local      st poll reach  delay  offset    disp
=======================================================================
=10.2.1.114      10.5.3.178      4  64    1 0.00203  0.000115 1.39194
=10.5.1.114      10.5.3.178      4  64    1 0.00032  0.000037 1.39194
⼆、安装Cloudera Manager (CM)
1. 在主节点(代指安装cm server的节点)配置本地yum仓库
# 主节点安装httpd,提供yum仓库web服务,⼦节点可以通过访问这个web服务连接到主节点的yum源
yum install httpd -y
# 主节点开启httpd
systemctl start httpd
# 主节点创建httpd⽂档⽬录,CDH安装包资源会放到这个⽬录被所有节点访问到
sudo mkdir -p /var/www/html/cloudera-repos/cm6
# 主节点下载cm6本地yum仓库压缩包,注意:现在下载CDH安装包需要账户认证,没有认证的可以到我博客资源⾥下载
wget [username]:[password]@archive.cloudera/p/cm6/6.3.1/repo-as-tarball/cm6.3.
# 主节点解压本地yum仓库压缩包到刚才创建的httpd⽂档⽬录
tar xvfz cm6.3. -C /var/www/html/cloudera-repos/cm6 --strip-components=1
# 主节点httpd⽂档⽬录赋权
sudo chmod -R ugo+rX /var/www/html/cloudera-repos/cm6
# 在任意⼦节点验证httpd是否正常使⽤,尝试下载yum源中的⼀个RPM-GPG-KEY-cloudera⽂件,下载成功说明我们的httpd服务正常,并且yum源可以对外访问wget <;主节点IP>/cloudera-repos/cm6/RPM-GPG-KEY-cloudera
# 所有节点下载po,注意:现在下载需要账户认证,没有认证的可以到我博客资源⾥下载
wget [username]:[password]@archive.cloudera/p/cm6/6.3.1/redhat7/po
# 所有节点将po放置到/pos.d/⽬录,并修改下⾯两项内容后保存退出
baseurl=<;主节点IP>/cloudera-repos/cm6
gpgkey=<;主节点IP>/cloudera-repos/cm6/RPM-GPG-KEY-cloudera
# 所有节点导⼊GPG key
sudo rpm --import <;主节点IP>/cloudera-repos/cm6/RPM-GPG-KEY-cloudera
2. 在所有节点安装JDK
# ⼀般1.8的jdk就⾏,我使⽤的CentOS-7-x86_64-DVD-2009.iso镜像yum源
yum install java-1.8.0-openjdk-devel -y
3. 安装CM服务
# 在主节点安装cloudera agent和cloudera server
sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server -y
# 在其他⼦节点安装cloudera agent
sudo yum install cloudera-manager-daemons cloudera-manager-agent -y
如果安装过程提⽰缺少libmysqlclient.so.18依赖则可以先执⾏如下命令安装:
sudo rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
这种情况⼀般是卸载mysql相关依赖时导致的。
4. 安装数据库(最好将数据库安装在主节点)
# 主节点先检查系统是否⾃带mysql,如果有需要卸载(最好⽤yum remove卸载)
rpm -qa |grep mysql
rpm -qa |grep MySQL
rpm -qa |grep mariadb
# 主节点安装mysql
rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm
# 如果安装server时候报缺少net-tools的错,则需要先安装下net-tools
yum install net-tools -y
# 如果安装server时候报缺少libaio.so.1,需要先安装libaio
yum install libaio -y
# 如果缺少libmysqlclient.so.18,可以执⾏下⾯2条命令
$ wget www.percona/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10 $ rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
# 主节点查看mysql服务状态,开启后的状态如下所⽰
systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:mysqld(8)
sql/doc/refman/en/using-systemd.html
# 主节点启动mysql
systemctl start mysqld
# 开启后查看随机密码
cat /var/log/mysqld.log | grep 'password'
# 主节点登录mysql测试能否正常使⽤
mysql -uroot -p随机密码
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
5. 在所有节点安装数据库(mysql)驱动
# 所有节点下载mysql驱动(驱动版本要注意兼容你的mysql)
wget sql/get/Downloads/Connector-J/mysql-connector-java-5.1.
# 解压
mysql下载后为什么不是一个安装包tar zxvf mysql-connector-java-5.1.
# 创建数据库驱动存放路径
mkdir -p /usr/share/java/
# 将驱动包解压⽬录下的驱动jar移动到上⾯的路径下
cd mysql-connector-java-5.1.46
mv mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
6. 创建⼤数据服务组件⽤到的数据库(下⾯创建了⼀些常⽤的)
# 登录mysql
mysql -uroot -p
# 登录后执⾏下⾯的sql
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 oozie default character set utf8 default collate utf8_general_ci;
grant all on *.* to 'root'@'%' identified by 'Abcd!234';
flush privileges;
7. 在主节点初始化CM数据库
# 初始化cm数据库(密码⾃⼰设置)
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -uroot -p12345 scm scm 12345
# 脚本参数解释
scm_prepare_database.sh 【数据库类型】 -u【数据库登录⽤户】 -p【数据库登录密码】【CDH要创建的数据库名称】【CDH数据库⽤户名】【CDH数据库
8. 安装parcels
1. 下载parcels,下载地址: (这些资源已经失效了,可以去我博客资源⾥下载)
2. 下载标黄的四项
1.
3. 修改.sha⽂件名
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
将这四个⽂件移动到/opt/cloudera/parcel-repo下
9. 在主节点开启CM server
# 开启CM server
systemctl start cloudera-scm-server
查看启动⽇志,当看到有jetty服务启动成功的提⽰后,说明cm server已经启动完成(启动时间较长),另外启动⽇志⾥有些连接cloudera仓库失败的错误可以忽略
sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
0. 在所有节点开启cm agent ,⼀定要先开启cm agent再进⼊web管理端进⾏操作,当所有节点正确开
启agent后,这些agent会连接
到cm server上,这样才会在web管理端看到当前管理的主机(2) (如图所⽰),看不到的话说明有问题,这时不要试图去搜索新主机,搜索到的主机是未受管理的主机,未受管理的主机说明它没有安装agent或者agent没有启动并连接到cm server
#修改cm agent配置,指定cm server的连接地址
sudo vi /etc/cloudera-scm-agent/config.ini
修改server_host=主节点IP
#开启所有节点cm agent
sudo systemctl start cloudera-scm-agent

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。