重新安装CDH,再次遇坑,借此机会,以便后效。
本次搭建选用4个实体台机,硬件配置I5+16G+1T,局域网内互信,只是用于测试集群。
系统版本:centos7.2
CDH版本:CDH5.10.0
官网说明,CDH对于系统版本的支持推荐:
https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_jdk
写在前面:
1.centos6和7有很多命令不同,比喻查看ip,关闭防火墙等。
2.centos7系统兼容性似乎更好,部分dell机器安装centos6系列无法识别网卡(没有ifc-eth0文件,配置也没用)。
3.centos7自带的是mariadb,有些数据不能从mysql导入mariadb(没有亲自查证)。
一、准备安装包和文件
JDK版本:jdk-8u91-linux-x64.tar.gz
下载jdk地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
CM版本:cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz
下载cloudera manager地址:
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz
CDH版本:5.10.0 (注意centos7下载el7相关)
下载CDH地址:
http://archive.cloudera.com/cdh5/parcels/5.10.0/CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel
http://archive.cloudera.com/cdh5/parcels/5.10.0/CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha1
http://archive.cloudera.com/cdh5/parcels/5.10.0/manifest.json
java-mysql连接jar包
下载地址:
http://central.maven.org/maven2/mysql/mysql-connector-java/6.0.2/mysql-connector-java-6.0.2.jar
二、裸机初始配置(所有机器都做)
1.为节点取名,追加红圈部分。 # vim /etc/sysconfig/network
2.更改hosts,追加红圈部分。 # vim /etc/hosts
3.设置ip,更改和追加红圈部分。#vim /etc/sysconfig/network-scripts/ifcfg-eth0
// 重启网络服务 # service network restart
4.关闭防火墙
// 开机关闭Selinux,修改箭头部分。 # vim /etc/selinux/config
//停止firewall防火墙
# systemctl stop firewalld.service
// 禁止firewall开机启动
# systemctl disable firewalld.service
到此,重启机器,接下来可以使用ssh工具连接四个节点了。 #reboot
5.配置SSH免密码登录
// 在hadoop1节点生成SSH密钥对
$ ssh-keygen -t rsa
// 将公钥复制到集群所有节点机器上
$ ssh-copy-id hadoop1
$ ssh-copy-id hadoop2
$ ssh-copy-id hadoop3
$ ssh-copy-id hadoop4
// 通过ssh登录各节点测试是否免密码登录成功
$ ssh hadoop2
备注:在其余节点上执行同样的操作,确保集群中任意节点都可以ssh免密码登录到其它各节点。
6.时间同步
使用ntpdate搭建时间同步
yum -y install ntpdate
一般集群都是内网,时间同步方式:
首先确保集群外部一台机器(时间服务器10.71.109.190)的ntp服务启动,如果没有启动,则可以用ntpd来启动:
使用which ntpdate得到路径
/usr/sbin/ntpdate
集群机器是否关闭,可以使用ps -ef |grep ntp检查。
然后在关闭ntp服务的集群机器上面crontab -e定时任务中加
* * * * * /usr/sbin/ntpdate 10.71.109.190
这样,集群机器就可以和启动ntp服务的时间服务器保持一致了。
三、环境准备
1.所有机器开始安装jdk
一定记得cd /usr/java文件夹下(安装在别的地方,遇到过坑,似乎CDH读取不到)
tar -zxvf jdk-8u73-linux-x64.tar.gz
配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_73
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
让配置文件生效source /etc/profile
2.安装MySQL(只在其中一台,比喻hadoop1)
centos7自带的是mariadb,需要先卸载掉
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
安装mysql
yum install mysql-server -y
如果提示命令找不到,按照提示,安装缺少的东西。
启动mysql
service mysqld start
设置开机启动
chkconfig mysqld on
chkconfig mysqld --list
进入mysql客户端
mysql
use mysql;
select user, host, password from user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
delete from user where host != '%';
flush privileges;
quit;
测试mysql,进入mysql客户端
mysql -u root -p
输入密码 123 回车
create database scm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
3.安装第三方依赖包(所有节点都要安装)
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite fuse fuse-libs redhat-lsb cyrus-sasl-plain cyrus-sasl-gssapi httpd mod_ssl
注意这个地方依赖包不安装完下面启动集群的时候会死活启动不了!
四、安装Cloudera-Manager
下载好的相应包文件上传到所有节点
#ls
CDH-5.10.0-1.cdh5.10.0.p0.45-el7.parcel
cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz
manifest.json
CDH-5.10.0-1.cdh5.10.0.p0.45-el7.parcel.sha1
jdk-8u91-linux-x64.rpm
mysql-connector-java-6.0.2.jar
1.解压cloudera manager(所有节点)
# tar zxvf cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz -C /opt/
# ls /opt/
cloudera cm-5.10.0
2.创建用户(所有节点)
useradd --system --home=/opt/cm-5.10.0/run/cloudera-scm-server --shell=/bin/false--comment"Cloudera SCM User"cloudera-scm
3.初始化数据库(hadoop1节点)
/opt/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql scm root 123
4.制作本地源(hadoop1节点)
# cp CDH-5.10.0-1.cdh5.10.0.p0.45-el7.parcel CDH-5.10.0-1.cdh5.10.0.p0.45-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/
# mv CDH-5.10.0-1.cdh5.10.0.p0.45-el7.parcel.sha1 CDH-5.10.0-1.cdh5.10.0.p0.45-el7.parcel.sha
5.拷贝jar
(所有节点)
# cp mysql-connector-java-6.0.2.jar /usr/share/java/mysql-connector-java.jar
(hadoop1节点)
# cp mysql-connector-java-6.0.2.jar /opt/cm-5.10.0/share/cmf/lib/
6.更改配置(所有节点)
# sed -i "s/server_host=localhost/server_host=hadoop1/" /opt/cm-5.10.0/etc/cloudera-scm-agent/config.ini
# mkdir /opt/cm-5.10.0/run/cloudera-scm-agent
7.启动服务
hadoop1节点
# /opt/cm-5.10.0/etc/init.d/cloudera-scm-server start
所有节点
# /opt/cm-5.10.0/etc/init.d/cloudera-scm-agent start
五、浏览页面开始安装
打开浏览器,访问hadoop1节点的7180端口
输入用户名和密码admin、admin
指定主机
选择CDH版本 (选择在制作本地源时选择的版本,如果选择别的版本的话会去官网下载那样安装速度会很慢)
检查主机正确性,确保全部验证通过
选择安装的服务
本文选择的是安装所有服务
角色分配
这里应该根据自己的实际需求和服务器的硬件参数自己选择
数据库设置,在安装mysql数据库之后,以及创建了这几个数据库。
群集设置
可以根据自己的实际情况更改设置,本文采用默认配置。这些配置可以在集群安装完成以后后续更改
开始安装
无错误信息全部通过
安装完成