準備工作已經完成,接下來我們就要正式的開始在我們服務器集羣上搭建CDH
附上:
喵了個咪的博客:w-blog.cn
cloudera官網: https://www.cloudera.com/
官方文檔地址: https://www.cloudera.com/documentation/enterprise/latest.html
一 , 安裝MYSQL
無論是Hadoop相關組件還是cm本身都需要使用到數據庫,cm默認會使用內嵌數據庫,但是這種方式並不推薦在生產環節使用
(阿里雲RDS是無法支持create table xxx select *from xxx的操作不能吧CM數據庫放到)
在生產環境儘量使用外部數據庫,不要使用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即可)
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh
PS:如果大家沒有使用oneinstack那麼需要自主安裝ntp來保證服務器直接的時間的一致性
二, JDK安裝
卸載系統自帶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安裝
安裝基本包
每臺服務器上安裝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
配置CDH源parcel包
在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
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的安裝工作就已經算結束了