文章目錄
- 前言
- 1.組件版本
- 2.集群規劃(三臺服務器為例)
- 3.配置linux靜態IP
- 4.修改hosts檔案,并實作免密登錄
- 5.創建集群分發腳本
- 6.關閉防火墻和SELINUX(所有節點)
- 7.配置NTP時鐘同步
- 8.安裝jdk和mysql
- 9.搭建本地yum源并安裝
- 10.在資料庫中建庫
- 11.啟動服務
- 12.訪問網頁及集群操作
- 總結
前言
Cloudera’s Distribution Including Apache Hadoop,簡稱CDH,解決了原生Apache hadoop版本管理混亂、部署程序繁瑣、升級程序復雜、兼容性差、安全性低等缺點,能夠對集群進行集中的管理和運維,其內各服務組件的安裝也是非常的簡單,通過的web頁面也是極大的方便了人們對于集群狀態的查看,
本菜鳥QQ:599903582
笨鳥先飛,熟能生巧 ~
比心心 ~
提示:以下是本篇文章正文內容,下面案例可供參考
1.組件版本
Centos7
Mysql 5.7.25
Jdk1.8.0_144
Cm6.3.1
Cdh6.3.2
2.集群規劃(三臺服務器為例)

3.配置linux靜態IP
IPADDR=192.168.2.201
GATEWAY=192.168.2.1
DNS1=8.8.8.8

4.修改hosts檔案,并實作免密登錄

[xu@node1 ~]$ ssh-keygen -t rsa
[xu@node1 ~]$ ssh-copy-id node1
[xu@node1 ~]$ ssh-copy-id node2
[xu@node1 ~]$ ssh-copy-id node3
5.創建集群分發腳本
#!/bin/bash
#1 獲取輸入引數個數,如果沒有引數,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 獲取檔案名稱
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 獲取上級目錄到絕對路徑
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 獲取當前用戶名稱
user=`whoami`
#5 回圈
for((host=1; host<=3; host++)); do
echo ------------------- node$host --------------
rsync -av $pdir/$fname $user@node$host:$pdir
done
6.關閉防火墻和SELINUX(所有節點)
修改組態檔/etc/selinux/config
[root@node1 bin]# vim /etc/selinux/config
將SELINUX=enforcing 改為SELINUX=disabled,然后將該檔案分發;
需要重啟
關閉防火墻
[root@node1 selinux]# systemctl stop firewalld.service
[root@node1 selinux]# systemctl disable firewalld.service
7.配置NTP時鐘同步
1)NTP服務端配置
[root@node1 ~]# vi /etc/ntp.conf
注釋掉所有的restrict開頭的配置
修改#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
為restrict 192.168.2.201 mask 255.255.255.0 nomodify notrap
將所有server配置進行注釋
添加下面兩行內容
server 127.127.1.0
fudge 127.127.1.0 stratum 10
2)啟動NTP服務 service ntpd start
[root@node1~]# service ntpd start
3)NTP客戶端配置(在agent主機上進行配置node2,node3)
[root@hadoop103 ~]# vi /etc/ntp.conf
注釋所有restrict和server配置
添加server 192.168.2.201
4)手動測驗
[root@hadoop103~]# ntpdate 192.168.2.201
顯示如下內容為成功:
17 Jun 15:34:38 ntpdate[9247]: step time server 192.168.1.102 offset 77556618.173854 sec
如果顯示如下內容需要先關閉ntpd:
17 Jun 15:25:42 ntpdate[8885]: the NTP socket is in use, exiting
5)啟動ntpd并設定為開機自啟(每個節點node1,node2,node3)
[root@node2 ~]# chkconfig ntpd on
[root@node2 ~]# service ntpd start
6)使用群發date命令查看結果
8.安裝jdk和mysql
安裝JDK(三臺)
1)在node1創建/usr/java目錄
[root@node1 opt]# mkdir /usr/java (cloudera會到該目錄下尋找JDK,即使配置java_home也不行)
2)用Xshell將jdk-8u144-linux-x64.tar.gz上傳至hadoop102,并解壓到/usr/java目錄下,
[root@node1 ~]# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/
3)配置JAVA_HOME環境變數
(1)打開/etc/profile檔案
[root@node1 software]$ vi /etc/profile
在profile檔案末尾添加JDK路徑
#JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
(2)讓修改后的檔案生效
[root@node1 jdk1.8.0_144]$ source /etc/profile
4)測驗JDK是否安裝成功
[root@node1 jdk1.8.0_144]# java -version
java version "1.8.0_144"
5)將node1中的JDK和環境變數分發到node2、node3兩臺主機
[root@node1 opt]# xsync /usr/java/
[root@node1 opt]# xsync /etc/profile
分別在node2、node3上source一下
[root@node2 ~]$ source /etc/profile
[root@node3 ~]# source /etc/profile
安裝MySQL及其驅動
mysql要安裝在master中,
卸載原有的Maradb和Mysql
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs
rpm -qa | grep mysql

解壓之后
rpm -Uvh *.rpm --nodeps --force
1.首先關閉mysql服務 service mysqld stop
2.修改組態檔 vim /etc/my.cnf 添加skip-grant-tables
3.即可實作空密碼登錄
4.登錄后先 flush privileges 改密碼 set password for root@localhost = password('123456');
5.設定遠程登錄
6.重啟mysql并設定為開機自啟
9.搭建本地yum源并安裝
[root@master ~]# yum -y install httpd
[root@master ~]# service httpd restart
Redirecting to /bin/systemctl restart httpd.service
[root@master ~]# chkconfig httpd on
編輯本地yum源組態檔,如果是純沒有網路的環境,需要將Centos-Base.repo改名
vim /etc/yum.repos.d/cloudera-manager.repo
檔案內容如下
[cloudera-manager]
name=cloudera-manager
baseurl=http://192.168.2.201/cm6.3.1/
enabled=1
gpgcheck=0
然后使用之前撰寫的分發腳本分發該組態檔;
yum clean all
yum repolist
yum makecache
三個節點進行安裝:
[root@node1 ~]# yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
[root@node2 ~]# yum install cloudera-manager-agent cloudera-manager-daemons
[root@node3 ~]# yum install cloudera-manager-agent cloudera-manager-daemons
報錯:缺少一些環境,手動下載rpm包進行安裝即可,
修改組態檔:
vim /etc/cloudera-scm-agent/config.ini

10.在資料庫中建庫
1)創建各組件需要的資料庫
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
2)為CM配置資料庫(自帶腳本)
下載資料庫連接驅動:https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
全部節點:并將jar包放在 /usr/share/java中,并改名為 mysql-connector-java.jar
將jar包拷貝
cp mysql-connector-java.jar /opt/cloudera/cm/schema/../lib/
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root 123456
// scm 是資料庫
11.啟動服務
[root@node1 ~]# systemctl start cloudera-scm-server
[root@node1 ~]# systemctl start cloudera-scm-agent
[root@node2 ~]# systemctl start cloudera-scm-agent
[root@node3 ~]# systemctl start cloudera-scm-agent
12.訪問網頁及集群操作
通過 https://node1:7180 進行訪問 用戶和密碼都是admin


使用本地的Parcel;


Hive的元資料需要放在安裝mysql的Node1上,
總結
CDH的使用極大的方便了人們對于集群的操作,對于硬體的要求相對來說比較高,建議使用阿里云服務器來進行安裝學習,
本菜鳥QQ:599903582
笨鳥先飛,熟能生巧 ~
比心心 ~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/246943.html
標籤:其他
下一篇:IDEA下一鍵部署SpringBoot專案到Linux服務器(Alibaba Cloud Toolkit的使用)
