CDH在线安装
在线安装过程不算太过复杂, 需要细心
一. 安装前准备
部署环境
server: 10.30.5.160
client: 10.30.5.160 - 10.30.5.163每一台机器添加其他机器的host
vim /etc/hosts
10.30.5.160 dev-uar-jmeter-01
10.30.5.161 dev-uar-jmeter-02
10.30.5.162 dev-uar-jmeter-03
10.30.5.163 dev-uar-jmeter-04
- 四台机器添加uar用户
useradd uar
- 配置免密钥登录
yum -y install openssh openssh-clients openssh-server
分别在四台机器生成公钥, 并同步到其他三台机器
su - uar
ssh-keygen
ssh-copy-id dev-uar-jmeter-01 (同步公钥)
ssh-copy-id dev-uar-jmeter-02
ssh-copy-id dev-uar-jmeter-03
ssh-copy-id dev-uar-jmeter-04
- 为uar增加sudo权限
visudo
uar ALL=(ALL) NOPASSWD: ALL
- 关闭防火墙和selinux
/etc/init.d/iptables stop && chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0
- 同步时间
yum install ntp
chkconfig ntpd on
ntpdate -u ntp.sjtu.edu.cn
# 添加crontab
*/2 * * * * /usr/sbin/ntpdate -u ntp.sjtu.edu.cn >> /dev/null 2>&1
- java安装配置大家都会, 不再bb
配置JAVA_HOME等, 版本1.7或者1.8
- server和agent四台机器配置java路径(重要)
cdh启用时, 默认会从/usr/java/default路径读取java环境, 所以此处需要做个软链
#楼主java_home是这个目录
echo $JAVA_HOME
/usr/local/java/jdk1.7.0_80
#生成软链
mkdir /usr/java
ln -s /usr/local/java/jdk1.7.0_80 /usr/java/default
- mysql安装配置大家都会, 不会的话看楼主其他教程, 不再bb
- 登录mysql添加数据库, 用户并授权
create database cmf DEFAULT CHARACTER SET utf8
GRANT ALL PRIVILEGES ON cmf.* TO 'cmf'@'%' IDENTIFIED BY 'cmf123456'
二. 设置yum源(非常重要)
将基础yum源配置成阿里云yum源(可选)
参考博客: https://www.cnblogs.com/enduo/p/9078313.html
楼主刚开木有配置, 用的自己公司的yum源, 在执行yum install cloudera-manager-daemons cloudera-manager-server -y
命令时, 有依赖包找不到,
这一步按照自己的实际情况可选下载cdh官方yum源
cd /etc/yum.repos.d/
wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/cloudera-manager.repo
wget https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo
- 将yum源配置自己需要的版本(非常重要):
楼主最开始没有修改这两个yum源, 默认会安装最新版本的cdh, 安装成功后, JavaSer说cdh版本太高, 悲剧~~~~~
所以此处需要配置你想安装的cdh版本
假如我想安装5.7.0, 需要做如下操作
打开一下两个网址查找是否有5.7.0文件夹, 如果有, 才能安装5.7.0版本, 否则, 选择其他版本
http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/
http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/
-
修改yum源, 配置cdh的版本
vim /etc/yum.repos.d/cloudera-cdh5.repo
vim /etc/yum.repos.d/cloudera-manager.repo
分别修改为如下内容
三. 安装并配置CDH-server
- 在主节点10.30.5.160执行如下命令
yum install cloudera-manager-daemons cloudera-manager-server -y
- 待安装完成后, 修改配置文件
vim /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
# The database host
# If a non standard port is needed, use 'hostname:port'
com.cloudera.cmf.db.host=10.30.5.167:3306
# The database name
com.cloudera.cmf.db.name=cmf
# The database user
com.cloudera.cmf.db.user=cmf
# The database user's password
com.cloudera.cmf.db.password=cmf123456
尝试启动
/etc/init.d/cloudera-scm-server restart
查看日志是否报错(第一次启动会很慢, 需要等待)
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
查看7180端口是否监听
netstat -an | grep 7180
如果启动失败, 可能报错jdbc驱动找不到, 需要下载jdbc驱动(mysql-connector-java.jar), 执行如下操作
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz
#解压后,将其jar包复制到cdh公共lib目录下
mv mysql-connector-java-5.1.47-bin.jar mysql-connector-java.jar
cp mysql-connector-java.jar /usr/share/cmf/lib/
cp mysql-connector-java.jar /usr/share/cmf/common_jars/
cp mysql-connector-java.jar $JAVA_HOME/lib/
- retry, 启动成功后就可以在浏览器愉快的访问
http://10.30.5.160:7180, 然后在界面进行配置
四. 界面配置CDH
经过上边也不算太艰难的步骤, 就能在界面进行cdh-agent的安装以及hadoop, hbase.............一系列软件的安装配置了
-
一路下一步(很多图没有截)
-
可以不安装cdh提供的JDK, 使用自己安装的jdk
-
选择uar用户, 输入uar用户密码
安装agent 楼主心得:
- 在安装agent时, 如果页面操作安装失败, 或者出现一些未知原因,
可以尝试在各自主机执行yum install cloudera-manager-agent -y
,
会下载安装700M左右的东东,包括agent和daemons
安装成功后, 执行卸载命令yum remove cloudera-manager-agent -y
, 将agent卸载, 然后在界面上安装, 只需要重新下载安装几十M的agent就可以完成(血泪经验分享)
安装agent, 如果报错, 提示
BEGIN host -t PTR 10.30.5.160
160.5.30.10.in-addr.arpa domain name pointer bogon.
END (0)
using bogon as scm server hostname
BEGIN which python
需要在各失败的agent机器上执行mv /usr/bin/host /usr/bin/host.bak
-
安装选定parcel(花费时间也挺长)
-
选定自己需要安装的服务, 一路下一步 到这一步, 会对选定的服务进行配置并启动, 如果某一步出现问题, 点击左侧展开, 查看stderr, 根据错误信息, 找出问题并修复(不知道其他人会出啥问题)
-
如果上边一切顺利, 那就恭喜你, 完成安装
-
放烟花
五. CDH卸载
楼主由于安装时没有修改yum源, 只是cdh版本太高, 和应用不兼容, 所以需要卸载cdh并安装低版本5.7.0
卸载步骤:
在界面上将各种组件都停掉
停止服务
server(一台)执行:
/etc/init.d/cloudera-scm-server stop
agent(四台)执行:
/etc/init.d/cloudera-scm-agent stop
ps -ef | grep cmf | grep -v grep | awk '{print $2}' | xargs kill -9yum卸载server和agent以及其他
yum remove clouder* -y
yum clean all
- 删除辣鸡文件
find / -name clouder* | xargs rm -rf
find / -name cmf* | xargs rm -rf
cd /var/lib/
rm -rf flume-ng/ hadoop-* oozie/ solr/ sqoop* zookeeper
rm -rf hbase hive impala kudu llama sentry spark
进入根目录, 查看是否有dfs, yarn等目录, 将其删掉
rm -rf /dfs /yarn......
参考博客: https://blog.csdn.net/wh211212/article/details/78743191