Centos6 安装cdh5.7
安装前的准备工作
JDK环境
版本:jdk-7u79-linux-x64.tar.gz
下载地址:oracle官网(http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html)
安装上 会生成 /usr/local/jdk1.7.0_79
需要建立软连接 ln –s /usr/local/jdk1.7.0_79 /usr/local/java
在来一个 ln –s /usr/local/java /usr/share/java
还来一个 ln -s /usr/local/java /usr/java/jdk1.7
加环境变量
export JAVA_HOME=/usr/local/java
export PATH=${JAVA_HOME}/bin:${PATH}
mysql连接
http://dev.mysql.com/downloads/connector/j/
mysql-connector-java-5.1.47-bin.jar 我下载的这个
把下载的包放到/usr/local/
并重新命名 mysql-connector-java.jar
CDH
先下载 cloudera manager安装包 下载地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6- cm5.7.0_x86_64.tar.gz
下载 CDH 安装包(parcel 包)下载地址:http://archive.cloudera.com/cdh5/parcels/5.7.0/
CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel |
||
CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1 |
manifest.json
需要上面这3个
系统需要做的准备
Ntp 时间 所有机器的时间要一样 (百度吧不会的简单)
Ssh 互相(root用户)
防火墙 selinux都不开(没在考虑范围)
Hosts 里面要有所有服务器的解析 Ip hostname
echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
自己设置开机启动吧
安装cdh
-----------------------------------------------------------manager机器---------------------------------------------------先操作 cloudera-manager 机器
mkdir -p /var/cloudera-scm-server
mkdir -p /opt/cloudera/parcel-repo
tar xf /opt/cloudera-manager-el6-cm5.7.0_x86_64.tar.gz -C /opt/cloudera-manager
把另外一个包放到这/opt/cloudera/parcel-repo(注意把sha1 换成这样sha)
useradd --system --home=/opt/cloudera-manager/cm-5.7.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
chown cloudera-scm:cloudera-scm /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /opt/cloudera-manager
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
-------------------------------------------------- manager机器-----------------------------------------------------------
-------------------------------------------------- 所有机器----------------------------------------------------------------
所有机器加用户 cloudera-scm
useradd --system --home=/opt/cloudera-manager/cm-5.7.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
vim /opt/cloudera-manager/cm-5.7.0/etc/cloudera-scm-agent/config.ini
# Hostname of the CM server.
server_host=node2 这个要指向manager的机器的地址 ip 也行
-------------------------------------------------- 所有机器----------------------------------------------------------------
-------------------------------------------------- manager机器-----------------------------------------------------------
在manager的机器指向cm server的数据库初始化
方法一 :
/opt/cloudera-manager/cm-5.7.0/share/cmf/schema/scm_prepare_database.sh mysql –h1.1.1.1 -uroot –pxxxx --scm-host 2.2.2.2 scm scm scm
上面这个命令需要root权限 没有scm库才执行
方法二:(建议这样,数据库我们有dba管理人家不能给你root给你一个库的权限)
create database scm DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 建库
grant all privileges on scm.* to scm@'node2' identified by 'scm'; 授权
/opt/cloudera-manager/cm-5.7.0/share/cmf/schema/scm_prepare_database.sh mysql -hnode1 --scm-host node2 scm scm scm #node1是数据库的地址 Node2是manager地址 scm库 scm 用户 scm密码
vim /opt/cloudera-manager/cm-5.7.0/etc/cloudera-scm-server/db.properties 看看生成什么
/opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-server start 启动服务
如果启动失败需要修改 /etc/init.d/cloudera-scm-server
CMF_DEFAULTS=/opt/cloudera-manager/cm-5.7.0/etc/default
添加系统服务:
cp /opt/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
chkconfig --add cloudera-scm-server
chkconfig cloudera-scm-server on
-------------------------------------------------- manager机器-----------------------------------------------------------
-------------------------------------------------- 所有机器-----------------------------------------------------------
同理把/opt/cloudera-manager/cm-5.7.0/etc/init.d/下的cloudera-scm-agent 也设置成系统服务并启动
cp cloudera-scm-agent /etc/init.d/
chkconfig --add cloudera-scm-agent
vim /etc/init.d/cloudera-scm-agent 不这样会报启动命令里面的命令找不到路径
CMF_DEFAULTS=/opt/cloudera-manager/cm-5.7.0/etc/default
/etc/init.d/cloudera-scm-agent start 启动
把 /etc/init.d/cloudera-scm-agent 复制到全部机器
vi /opt/cloudera-manager/cm-5.7.0/etc/cloudera-scm-agent/config.ini 注意这个文件 到要指定到manager那台机器
每台都加系统服务和启动
Web页面登录cdh安装其他软件
7180端口访问 manager的机器 admin admin 默认
这里就注意了选择新机器 如果没有安装刚才的agent这里也能安装比咱们上面的简单
下面是版本的选择
到这就安装了一个没有安装agent的机器
选择当前的管理主机
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 记得授权数据库
grant all privileges on *.* to hive@'%' identified by 'xxx';
点击测试通过就行
/etc/sudoers里面的Defaults requiretty需要注释掉。
在安装服务界面,执行失败时,点击查看详细信息,会给出这样类似的错误信息。查看/opt/cloudera-manager/cm-5.4.1/run/cloudera-scm-agent/process目录下相关日志。 发现上面这个错误信息是由于JAVA_HOME问题,启动脚本中,JAVA_HOME并不是根据环境变量来获取,而是在它列举的几个目录下寻找,所以只要把你的java路径ln -s过去就行,比如我的 ln -s /usr/local/java /usr/java/jdk1.7
如果还是不行后退一步在下一步
到这manager就完成了安装
添加服务oozie
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 建库授权
grant all privileges on *.* to oozie@'%' identified by 'xxxx';
添加kafka服务
有个红色警告
此角色需要在可以启动前激活以下其他 Parcel:[kafka]。
出现上面的返回
报错了不要紧,点到集群主页修改配置 不用点完成上面那个也行
修改完成配置再启动完美解决 所有的记录安装就到这了有问题可以联系我一起来解决
更换kafka版本2
https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_kafka 这可以查看版本对应关系
访问cdh控制面板:
点击图标
再点击配置
远程parcel地址点击➕号选择
https://archive.cloudera.com/kafka/parcels/2.0.0/ 加上这个版本的parcel地址 点击保存
在到集群里面点击kafka
把服务停止。
在到礼物里面把相应的版本停止
找到新的版本后点击下载 在点激活 ,
/opt/cloudera/parcels/ 多了一个KAFKA的软连接
执行一个命令看看情况:
kafka-topics --zookeeper 10.10.32.21:2181 –describe ip为ZooKeeper
的地址 看Leader:值有没有-1的没有就正常有就有问题了。