准备工做已经完成,接下来咱们就要正式的开始在咱们服务器集群上搭建CDHhtml
附上:java
喵了个咪的博客:w-blog.cnpython
cloudera官网: https://www.cloudera.com/mysql
官方文档地址: https://www.cloudera.com/documentation/enterprise/latest.htmllinux
不管是Hadoop相关组件仍是cm自己都须要使用到数据库,cm默认会使用内嵌数据库,可是这种方式并不推荐在生产环节使用web
(阿里云RDS是没法支持create table xxx select *from xxx的操做不能吧CM数据库放到)sql
在生产环境尽可能使用外部数据库,不要使用CM自带数据库
这里使用oneinstack进行安装能够去官网选择你要的组件一条命令搞定数据库
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --db_option 2 --dbinstallmethod 1 --dbrootpwd Sunmi388
其余服务器上均可以跑一下空的安装指令进行软件更新和基础依赖的安装(所有N便可)vim
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh
PS:若是你们没有使用oneinstack那么须要自主安装ntp来保证服务器直接的时间的一致性centos
卸载系统自带JDK
rpm -qa |grep java #若是有就卸载。没有就不用执行下面 yum remove java* #删除自带的java
在CM上解压SDK配置环境变量
cd /app/install tar -zxvf jdk-8u101-linux-x64.tar.gz mv jdk1.8.0_101/ /usr/local/jdk1.8 # 拷贝到其余节点 scp -r /usr/local/jdk1.8 master-1:/usr/local/ scp -r /usr/local/jdk1.8 master-2:/usr/local/ scp -r /usr/local/jdk1.8 slave-1:/usr/local/ scp -r /usr/local/jdk1.8 slave-2:/usr/local/ scp -r /usr/local/jdk1.8 slave-3:/usr/local/
全部节点都进行环境变量配置
vim /etc/profile # java export JAVA_HOME=/usr/local/jdk1.8 export CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/lib export PATH=$PATH:$JAVA_HOME/bin source /etc/profile
查看JAVA安装是否成功:
[root@cm install]# java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
每台服务器上安装CM所须要的第三方依赖包
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb
在cm服务器上解压CM
mkdir -p /usr/local/cloudera-manager tar zxf /app/install/cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz -C /usr/local/cloudera-manager/
修改CM的配置文件,agent从节点配置文件指定CM的主节点server的通信地址
vim /usr/local/cloudera-manager/cm-5.15.0/etc/cloudera-scm-agent/config.ini [General] # Hostname of the CM server. server_host=cm
将CM的安装目录拷贝给集群的其余节点
scp -r /usr/local/cloudera-manager/ master-1:/usr/local/ scp -r /usr/local/cloudera-manager/ master-2:/usr/local/ scp -r /usr/local/cloudera-manager/ slave-1:/usr/local/ scp -r /usr/local/cloudera-manager/ slave-2:/usr/local/ scp -r /usr/local/cloudera-manager/ slave-3:/usr/local/
配置CM访问mysql的权限并初始化在mysql中的状态
mysql -u root -p mysql> grant all privileges on *.* to 'root'@'%' identified by 'Sunmi388' with grant option; mysql> flush privileges;
CM要使用mysql做为数据源的话须要对应的驱动包(最易每一个节点都须要增长这个JAR包)
mkdir /usr/share/java/ cd /usr/share/java/ wget http://pic.w-blog.cn/mysql-connector-java.jar
/usr/local/cloudera-manager/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh mysql -h cm -uroot -pSunmi388 --scm-host % scm scm scm --force
在cm上执行
mkdir -p /opt/cloudera/parcel-repo
在所有节点执行
mkdir -p /opt/cloudera/parcel
将parcel包文件移动到cm节点的parcel-repo目录下
cp /app/install/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel* /opt/cloudera/parcel-repo
修改校验码文件的后缀
mv /opt/cloudera/parcel-repo/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha
cm执行:
/usr/local/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-server start
查看cm是否启动
默认web页面会在cm服务器上开发7180端口
[root@cm init.d]# netstat -nltp|grep 7180 tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 7333/java
等CM启动完成以后才在全部节点执行(否则agent会挂掉):
/usr/local/cloudera-manager/cm-5.15.0/etc/init.d/cloudera-scm-agent start # 查看agent是否启动成功,若是未启动成功须要再次启动 ps -ef | grep agent
访问CM的web⻚⾯http://xxxxxxxxx.com:7180(因为CM Server的启动须要花点时间,这⾥可能要等待⼀会才能访问),默认的⽤户名和密码均为admin
接受条约
选择版本
咱们能够看到CDH中的软件列表
到这里cm-service的安装工做就已经算结束了