Cloudera Manager和CDH5.8离线安装
https://blog.csdn.net/zzq900503/article/details/52982828
簡介
我們在上篇文章中已經了解了CDH,為了后續的學習,我們本章就來安裝CDH5.8。CDH5.8是目前比較新的版本,自帶hadoop2.0以上的hadoop,而且已經包含了很多組件,也是我們接下來需要學習的hadoop生態圈中的組件。
?
?
?
環境
Cloudera Manager是為了簡化hadoop及其組件的部署,但是由于包含的組件較多,對內存要求也比較大。所以我們盡量要保持主節點master和副節點足夠的內存和磁盤空間,否則會出現一些無法預估的錯誤。
官方推薦配置
主節點 ?內存10G以上 ?磁盤30G ??
副節點 ?內存4G以上 ? ?磁盤30G ??
如果不滿足條件的話可以適當減一些配置,但不保證能安裝成功。
我們這里還是用VM虛擬機創建三個虛擬機來部署。
因為條件限制我的虛擬機創建如下:
PC機系統win10(這個隨意,應該不影響)
PC機內存16G?
虛擬機VMware-workstation11
虛擬機系統CentOS-6.4-x86_64 ?也就是 CentOS6.4版本64位的linux系統
作為master的主節點的虛擬機?cloudera scm server內存 ?8G ? 磁盤30G
作為slave1的副節點的虛擬機1?cloudera scm agent內存 ?2G ? 磁盤30G
作為slave2的副節點的虛擬機2?cloudera scm agent?內存 ?2G ? 磁盤30G
Cloudera Manager?5.8.2
CDH ?5.8.2
JDK ? 1.8
Mysql ? 5.6.34
?
?
選擇安裝方式
第一種使用cloudera-manager-installer.bin在線安裝
第二種使用rpm、yum、apt-get方式在線安裝
第三種使用是Tarballs的方式離線安裝
我們前面講到cloudera有三種安裝方式,第一種是最方便的,就像安裝一個客戶端軟件一樣就可以了,操作簡單。
但是第一種第二種方式都是在線安裝,也就是需要網絡網速,虛擬機需要連接外網,尤其是部分資源被墻了,所以在線安裝會很慢。。。而且安裝中斷安裝失敗的可能性很大。
所以我們還是用第三種方式來安裝,離線安裝虛擬機不需要連接外網,可實現全離線安裝,但是需要三臺虛擬機和PC機能相互ping通。
我現在的情況是PC機能上外網,三臺虛擬機不能上外網(作了ip限制),所以采用完全離線安裝。
?
?
?
?
下載相關包
因為下載可能需要點時間,所以我們先把需要下載的東西全部列出來,可以邊下載邊安裝配置linux系統,到最后快到安裝部分時才需要用到下面的安裝包。
oracle版本的jdk
需要oracle的java1.7以上的jdk
下載地址
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
我這里選擇了一個rpm。
?
?
mysql離線安裝包
http://dev.mysql.com/downloads/mysql/ 打開網址: Select Platform: 選擇 Linux-Generic
選擇選擇 Linux - Generic (glibc 2.5) (x86, 64-bit), RPM ? 進行下載
?
我這里下載5.6.34版本的,如果跟我下載的一樣,可以使用鏈接
http://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-5.6.34-1.linux_glibc2.5.x86_64.rpm-bundle.tar
?
?
JDBC
hive/Oozie/Hue等都會使用到MySQL,因而安裝MySQL是必須的。連接MySQL會用到JDBC驅動。
我們可以去Mysql的官網下載選一個版本即可,我這里選5.1.40,這里的版本隨意,不需要跟什么搭配對應:
http://download.softagency.net/MySQL/Downloads/Connector-J/
或者
http://dev.mysql.com/downloads/connector/j/?
http://download.softagency.net/MySQL/Downloads/Connector-J/mysql-connector-java-5.1.40.zip
?
?
?
?
Cloudera Manager安裝包
?資源鏈接?
?http://archive.cloudera.com/cm5/
?
大家可以根據自己所用的linux系統選擇相應的版本來下載。
由于我們虛擬機的系統是CentOS6.4,所以需要下載如下文件:
Cloudera Manager 5.8.2安裝包
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.8.2_x86_64.tar.gz
?
?
?
CDH安裝包
資源鏈接??http://archive.cloudera.com/cdh5/
這里版本需要與系統對應centos 6.x使用的CDH版本為CDH-X.X.X-1.cdhX.X.X.p0.22-el6.parcel,而centos 5.x使用的CDH版本為CDH-X.X.X-1.cdhX.X.X.p0.22-el5.parcel。
而且需要注意的是CDH的版本需要等于或者小于CM的版本,因為我們的CM是5.8.2版本,所以要選擇小于或者等于5.8.2的版本。
我們是centOS系統,選擇parcels文件夾即可。
根據自己的系統和環境版本選擇安裝包。
我這里用CDH5.8.0安裝包
需要注意的是這里的CDH5.8.2沒找到CDH5.8.2-0的版本,CDH5.8.2-1版本是大于CMCDH5.8.2的,所以我這里用CDH5.8.0。
http://archive.cloudera.com/cdh5/parcels/5.8.0/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel
http://archive.cloudera.com/cdh5/parcels/5.8.0/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1
http://archive.cloudera.com/cdh5/parcels/5.8.0/manifest.json
?
?
?
?
下載完成后的文件
?
?
?
?
?
系統安裝
如果是用的真機或者阿里云服務器等可省略此步驟,這里我們是學習環境,所以需要用VM11建立三臺虛擬機。
詳細步驟查看:
(注意選擇虛擬機類型時選擇Minimal Desktop,如果選擇Minimal 最小安裝會沒有圖形界面)
hadoop基礎------虛擬機(二)---虛擬機安裝以及安裝linux系統
我們可以先創建一個內存2G的 磁盤30G的虛擬機 然后克隆出另外2個。
然后把其中一個的內存修改成8G作為主機master-cloudera scm server即可。
現在我們有了3臺虛擬機
配置如下
cm0 ? ?內存8G ?磁盤30G
cm1? ?內存2G ?磁盤30G
cm2? ?內存2G ?磁盤30G
我這里安裝的是所有組件服務,安裝完成后的磁盤和內存情況如下,所以內存太小和磁盤空間不夠的話真的不行。。。
?
安裝vmware tools
如果是真機可以忽略這個步驟。
vmware tools工具可以實現虛擬機和PC主機之間的復制粘貼,否則命令需要全部手打,會比較不方便。
安裝vmware tools的詳細步驟可參考:
hadoop基礎-------虛擬機(三)-----VMware虛擬機下linux系統的與windows主機實現復制粘貼
以及
hadoop基礎------虛擬機(四)-----VMware虛擬機下linux系統的圖形界面和命令行文本界面的切換
?
?
?
?
網絡配置
為了虛擬機之間能相互ping通,我們需要對虛擬機的網絡根據PC的主機進行一下配置。如果是真機的話,也需要配置并測試是否能相互ping通。
因為我們之前已經學習過了,大家可以按照下面這篇文章詳細操作:
?
注意:因為虛擬機克隆產生的VM的網卡號一般都會自動增加,也就是原VM是eth0,克隆生成的就是eth1,eth2等。
所以命令中的網卡號要對應
所以DEVICE=ethX這里需要對應。
linux基礎(十)----linux網絡配置詳細步驟---橋接模式和兩臺機子的遠程通信
對虛擬機網絡不熟悉的也可以參考閱讀:
?
hadoop基礎-------虛擬機(五)-----虛擬機linux系統網絡配置的三種模式
?
?
ps:都設置好之后如果發現物理機和虛擬機都能ping通192.168.X.1而且物理機能ping通虛擬機,但虛擬機ping不通物理機,一般是防火墻問題。
?
?
可能遇到的問題
遇到的問題----linux系統中的eth0網絡不見了--重啟不加載ifcfg-eth0的配置--需要重新激活
配置完成后用ifconfig查看網絡情況如下:
?
?
?
?
?
關閉防火墻
?
物理機和虛擬機的防火墻和SElinux都需要關閉
在安裝過程中需要關閉防火墻和SElinux,否則會異常。
使用getenforce命令查看SElinux是否關閉
修改/etc/selinux/config 文件
將SELINUX=enforcing改為SELINUX=disabled,執行該命令后重啟機器生效
?
service iptables status 查看防火墻狀態
chkconfig iptables off
?
?
?
修改主機名和hosts文件
修改主機名命令
vi??/etc/sysconfig/network
查看主機名命令
hostname
修改如下(重啟后生效)
?
?
修改hosts文件
hosts文件主要是把ip和主機名映射起來。
vi?/etc/hosts
三臺虛擬機都在hosts文件中增加(根據自己的主機名和設置的ip):
192.168.30.168 cm0
192.168.30.171 cm1
192.168.30.170 cm2
修改如下:
?
?
?
?
設置ssh無密碼登陸(所有節點)
因為hadoop集群在安裝的時候需要集群中所有機器的權限。
所以我們需要打通所有節點的ssh無密碼登陸。
思路是生成每臺機子的密鑰,集中在一個文件中,再分發到每臺機子上。
為了確保下面的命令能順利執行,請先重啟所有節點并且保證所有節點能夠通過主機名ping通。
三臺機子都分別使用
ssh-keygen -t rsa
然后一直回車生成密鑰。
我們可以看到/root/.ssh目錄下有了密鑰文件id_rsa以及公鑰文件id_rsa.pub。
cd /root/.ssh
ls
三個節點中分別把公鑰id_rsa.pub復制一份命名為authorized_keys_cm0、authorized_keys_cm1、authorized_keys_cm2。
也就是cm0中執行
cp?id_rsa.pub??authorized_keys_cm0
?
也就是cm1中執行
cp?id_rsa.pub??authorized_keys_cm1
?
也就是cm2中執行
cp?id_rsa.pub??authorized_keys_cm2
?
把從節點cm1和cm2的公鑰傳送到cm0節點的/root/.ssh文件夾中
cm1使用命令
scp ?authorized_keys_cm1 ? ?root@cm0:/root/.ssh
?
cm2使用命令
scp ?authorized_keys_cm2 ? ?root@cm0:/root/.ssh
?
這個時候我們在cm0中的root/.ssh目錄會看到authorized_keys_cm0、authorized_keys_cm1、authorized_keys_cm2三個文件。
把它們合并追加到authorized_keys文件中。
cat authorized_keys_cm0>> authorized_keys
cat?authorized_keys_cm1>> authorized_keys
cat?authorized_keys_cm2>> authorized_keys
我們可以看到這個通行證authorized_keys中已經有了三臺機子的公鑰。
?
把這個通行證authorized_keys分發到其他節點----cm1和cm2中。
scp authorized_keys?root@cm1:/root/.ssh
scp authorized_keys?root@cm2:/root/.ssh
檢查看看 cm1和cm2中已經有通行證了
?
測試節點之間相互ssh
例如在cm0中
ssh cm1
exit
ssh cm2
exit
?
例如在cm1中
ssh cm0
exit
ssh cm2
exit
?
?
?
配置NTP服務?
?
集群中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 運行時會報運行狀況不良具體思路如下:
master節點作為ntp服務器與外界對時中心同步時間,隨后對所有slave節點提供時間同步服務。(如果不能上外網那需要保證所有salve節點與master時間同步)
所有slave節點以master節點為基礎同步時間。
步驟如下
?
查看NTP服務狀態
ntpstat
?
啟動ntp
service ntpd start
一般CentOS系統自帶ntp服務,如果沒安裝的話需要安裝一下,如果能連接外網,最方便的安裝方法是yum
yum install ntp
如果不能連接外網只能自己查一下離線安裝了--下載rpm包安裝一下即可。
?
設置開機啟動
chkconfig ntpd on
?
配置ntp
在配置前,先使用ntpdate手動同步下時間,免得本機與外部時間服務器時間差距太大,讓ntpd不能正常同步。
?
?
使用命令
master節點cm0 ??ntpdate -u 65.55.56.206 ?(沒有外網的話master就不需要配置了)
slave節點cm1和cm2 ??ntpdate cm0 (主節點ntp服務器)?
vi ??/etc/ntp.conf
進入配置文件
master節點cm0選用65.55.56.206作為對時中心。(沒有外網的話master就不需要配置了)
主要配置如下
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap?
server 65.55.56.206 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
主要是增加
server 65.55.56.206 prefer
?
?
?
slave節點cm1和cm2選用cm0作為對時中心。
主要配置如下
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#這里是主節點的主機名或者ip
server cm0
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
主要是增加
server cm0
?
?
配置文件完成,保存退出,啟動服務,執行如下命令
service ntpd start
執行啟動5到10分鐘后檢查是否成功。(才執行完命令一般本地的ntp服務器還沒有正常啟動,一般需要等待5-10分鐘才可以正常同步。)
用
ntpstat
命令查看同步狀態,出現以下狀態代表啟動成功:
synchronised to NTP server () at stratum 2time correct to within 74 mspolling server every 128 s
?
?
檢查是否設置成功
chkconfig --list ntpd?其中2-5為on狀態就代表成功。
?
watch "ntpq -p"
查看同步報告。
?
因為NTP的時間同步是平滑同步,不是跳躍式同步,如果設置得不好的話,很難校驗出它同步成功了沒,總感覺會缺少幾秒鐘的感覺。
?
有一種解決方法是 ?我們這里不用NTP的自動同步,而是使用crond每分鐘ntpdate 跳躍式同步一次。
這種方法不建議在生產環境使用,但是一般生成環境都有外網,所以就能正確設置NTP。
所以下面我們在局域網無外網的情況下可以用以下方法(偏方)確保時間同步:
為了確保能同步時間,我們這里再加上定時同步步驟。
首先保證cm0的NTP服務是開啟的。
然后停止cm1和cm2的NTP服務。
在cm0中運行
service ntpd start
在cm1和cm2中運行
service ntpd stop
cm1上的配置:
修改crond自動運行程序的配置文件:
vi /var/spool/cron/root (此處是以root用戶為例,如果是其他用戶,替換為對應的用戶文件名,即可),在該配置文件中,添加一行:
*/1 * * * * ntpdate cm0
(每隔一分鐘,從cm0同步一次時間)
保存,重新啟動crond服務:
service crond restart。
一分鐘以后,cm1的時間就同步為cm0的時間了。
cm2的配置:同cm1一樣。局域網內還有其他機器,設置方法也同cm1一樣。
然后CM中的NTP驗證需要抑制。
?
?
?
所有節點安裝jdk
CentOS自帶OpenJdk,不過運行CDH5需要使用Oracle的Java 7以上的jdk支持。
所以我們需要把OpenJdk卸載,然后安裝Oracle的java7以上的jdk。
查看最低需要支持的jdk版本鏈接:
http://www.cloudera.com/documentation/cdh/5-1-x/CDH5-Requirements-and-Supported-Versions/cdhrsv_jdk.html
?
卸載OpenJdk
?
使用
rpm -qa | grep java
查詢java相關的包,使用
rpm -e --nodeps ?包名
卸載。
圖中我們可以看到有3個java相關的包,使用命令
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
rpm -e --nodeps tzdata-java-2012j-1.el6.noarch
rpm -e --nodeps ?java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
都卸載之后jdk卸載成功了。
安裝oraclejdk
我們之前已經下載了oracle的java jdk1.8.現在用ssh工具把文件傳到這幾臺虛擬機中。
連接之后我們新建一個目錄用來安裝jdk,目錄新建為/usr/local/java,然后把jdk-8u111-linux-x64.rpm拉過去。
進入該目錄使用命令
rpm -ivh 包名
?安裝。?
我們這里也就是
cd /usr/local/java
rpm -ivh?jdk-8u111-linux-x64.rpm
由于是rpm包并不需要我們來配置環境變量,我們只需要配置一個全局的JAVA_HOME變量即可,執行命令:
JAVA_HOME的目錄對應我們的安裝目錄,我們這里放rpm的目錄是/usr/local/java/,但是用rpm安裝的jdk默認路徑是usr/java/latest。
所以我們的JAVA_HOME變量應該是/usr/java/latest/。
echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment
然后用
java -version
檢查是否安裝成功。
其他兩臺cm1和cm2也類似操作安裝即可。
?
?
主節點安裝mysql
注意,僅在server節點也就是master節點cm0安裝mysql。
CentOS自帶了mysql,但是版本較低是5.1的。
使用命令
rpm -qa | grep mysql ??
查看系統之前是否已安裝MySQL。?
查看組件需要需要的mysql版本鏈接
http://www.cloudera.com/documentation/cdh/5-1-x/CDH5-Requirements-and-Supported-Versions/cdhrsv_db.html
所以 我們還是需要把原mysql卸載,安裝新的mysql5.6以上。
卸載舊mysql
我們還是使用命令
rpm -e --nodeps 包名
卸載舊的mysql,我們這里也就是使用
rpm -e --nodeps?mysql-libs-5.1.66-2.el6_3.x86_64
命令來進行卸載。
rpm -qa | grep mysql ? 驗證一次是否刪除成功。
?
安裝mysql
然后把我們之前下載好的mysql安裝文件MySQL-5.6.34-1.linux_glibc2.5.x86_64.rpm-bundle.tar用ssh工具上傳到虛擬機中。
我們還是新建一個目錄/usr/local/mysql
詳細安裝步驟查看
CentOS6.4離線安裝mysql5.6.22
?
?
安裝mysql其他相關組件
除了安裝mysqlsever和client之外我們還需要安裝其他相關的mysql組件,這些組件都在加壓出來的目錄中。
?
解壓mysql文件的目錄里發現了除了
MySQL-client-5.6.34-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.34-1.linux_glibc2.5.x86_64.rpm?
這兩個安裝文件之外另外的rpm包。
我們把其他幾個關聯rpm包也安裝一下。
rpm -ivh ? MySQL-shared-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh ? MySQL-devel-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh ? MySQL-shared-compat-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh ? MySQL-embedded-5.6.34-1.linux_glibc2.5.x86_64.rpm ??
rpm -ivh ? MySQL-test-5.6.34-1.linux_glibc2.5.x86_64.rpm
?
?
?
?
修改密碼和創建數據庫并授權
舊版mysql才安裝完root密碼為空,新版mysql的root密碼為隨機密碼保存在/root/.mysql_secret中。
?
修改密碼
使用
service mysql start?
啟動mysql
使用
netstat -ntlp ?| grep 3306
查找3306端口確認是否已經啟動成功。
cat ?/root/.mysql_secret
查看隨機密碼
mysql ?-u root -p ?mysql?
然后輸入隨機密碼首次登錄mysql并且選擇mysql數據庫
使用以下命令設置root的新密碼
?
mysql> SET PASSWORD = PASSWORD('123456');
mysql>create database roger;
mysql> quit?
我這里新密碼設置為123456.
然后
mysql -u root -p
使用123456登陸成功。
?
?
創建數據庫并授權
?
我們需要創建cdh5.8組件中會使用到的數據庫,創建語句如下:
mysql -u root -p 輸入密碼進入mysql命令行,創建以下數據庫:?
#hive
mysql>create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
mysql>create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity oozie
mysql>create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#hue數據庫
mysql>create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
設置root授權訪問以上所有的數據庫:
#授權root用戶在主節點擁有所有數據庫的訪問權限---'123456' 對應剛才設置的root的密碼。
mysql>grant all privileges on *.* to 'root'@'cm0' identified by '123456' with grant option;
mysql>flush privileges;
?
?
?
?
?
?
檢查環境
?
在正式開始安裝CDH之前最好先檢查一下能不能相互免密ssh,以及防火墻是否關閉,集群中的時間是否統一,java版本是否是oracle的版本,主節點mysql是否安裝正確等。
ssh測試
例如在cm0中
ssh cm1
exit
ssh cm2
exit
例如在cm1中
ssh cm0
exit
ssh cm2
exit
例如在cm2中
ssh cm0
exit
ssh cm1
exit
時間是否統一
每臺機子中使用
date
命令查看當前時間,最好是完全一樣或者差距不大即可。
或者在cm0中使用命令
date;ssh cm1 date;ssh cm2 date
?
?
java的版本
每個機子中使用
java -version?
命令查詢jdk的版本。只要不是自帶的openJDK即可。
防火墻狀態
每個機子中使用
service iptables status?
查看防火墻狀態
?
SElinux狀態
每個機子中使用
getenforce
命令查看SElinux是否關閉
?
?
mysql狀態和數據庫
mysql -u root -p
?
使用123456登陸成功后。
show databases;
看看是否新建需要用到的數據庫
?
?
主節點安裝Cloudera Manager Server 和所有節點配置Agent?
主節點安裝cloudera manager
在主節點cm0中解壓安裝cloudera manager。
首先把我們下載好的cloudera-manager-*.tar.gz包和mysql驅動包mysql-connector-java-*-bin.jar放到主節點cm0的/opt中。如圖:
我下載的版本分別是:cloudera-manager-el6-cm5.8.2_x86_64.tar.gz和mysql-connector-java-5.1.40.zip。
cloudera manager的目錄默認位置在/opt下
所以我們在opt目錄解壓安裝文件,命令如下:
cd ?/opt
tar xzvf ?cloudera-manager-el6-cm5.8.2_x86_64.tar.gz
使用命令
ls
確保cm-5.8.2和cloudera目錄在/opt目錄下。?
?
?
Cloudera Manager建立數據庫?
我們把mysql-connector-java-5.1.40.zip也解壓一下。
unzip?mysql-connector-java-5.1.40.zip
ls?
cd??mysql-connector-java-5.1.40
發現jar包mysql-connector-java-5.1.40-bin.jar已經解壓出來了。
使用命令
cp?mysql-connector-java-5.1.40-bin.jar ??/opt/cm-5.8.2/share/cmf/lib/
把mysql-connector-java-5.1.40-bin.jar放到/opt/cm-5.8.2/share/cmf/lib/中。?
cd?/opt/cm-5.8.2/share/cmf/lib/
ls|more
確認已經放進去了。
在主節點初始化CM5的數據庫
使用命令
在命令里scm_prepare_database.sh后面的參數分別是:數據庫類型 數據庫名稱(可以隨便起一個名稱) ? 數據庫主機名 ?數據庫用戶名 密碼 --scm-host 主節點機名 scm scm scm
/opt/cm-5.8.2/share/cmf/schema/scm_prepare_database.sh mysql cm ?-h cm0 ?-u ?root ?-p ?123456 ?--scm-host ?cm0 ?scm scm scm ?
Agent配置?
主節點修改agent配置文件。
?
/opt/cm-5.8.2/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名。?
使用命令
vim ?/opt/cm-5.8.2/etc/cloudera-scm-agent/config.ini
在主節點cm0用命令同步Agent到其他所有節點
scp -r ? /opt/cm-5.8.2 ? ? root@cm1:/opt/
scp -r ? /opt/cm-5.8.2 ? ? root@cm2:/opt/?
?
?
在所有節點創建cloudera-scm用戶
在每臺機子中
使用命令
useradd --system --home=/opt/cm-5.8.2/run/cloudera-scm-server/ ?--no-create-home ?--shell=/bin/false --comment "Cloudera SCM User" cloudera-scm?
啟動cm和agent?
主節點cm0通過命令
?
/opt/cm-5.8.2/etc/init.d/cloudera-scm-server start
啟動服務端。?
所有節點通過命令
/opt/cm-5.8.2/etc/init.d/cloudera-scm-agent start
啟動Agent服務。 (所有節點都要啟動Agent服務,包括服務端)
我們啟動的其實是個service腳本,需要停止服務將以上的start參數改為stop就可以了,重啟是restart。
?
Cloudera?Manager?Server和Agent都啟動以后,就可以進行嘗試訪問了。
http://master:7180/cmf/login
我這里master是主節點cm0,也就是應該訪問
http://192.168.30.168:7180/cmf/login
安裝CM成功。
安裝到此處,可以考慮備份節點,為將來的節點拓展做準備。?
?
?
?
?
CDH5的安裝和集群配置
Cloudera Manager Server和Agent都啟動以后,就可以進行CDH5的安裝配置了。?準備文件
把CDH5需要的安裝文件放到主節點上,新建目錄為 /opt/cloudera/parcel-repo 把我們之前下載的三個文件放到這個目錄下 CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1 manifest.json 需要注意的是 CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1需要重命名成CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha安裝parcel
訪問CM的主頁 http://192.168.30.168:7180/cmf/login 用戶名和密碼均為admin。 登錄之后同意條款。 右下角點擊繼續。 選擇版本然后右下角繼續。 點擊繼續,各個Agent節點正常啟動后,可以在當前管理的主機列表中看到對應的節點。選擇要安裝的節點,點繼續。 接下來,出現以下包名,說明本地Parcel包配置無誤,直接點繼續就可以了。 如果此處發現不到parcel包,就重啟所有節點的agent服務,和master的server服務,然后重新嘗試。并且確認CDH版本小于或者等于CM的版本?
?
本地通過Parcel安裝過程與本地通過Package安裝過程完全一致,不同的是兩者的本地源的配置。
區別如下:
Package本地源:軟件包是.rpm格式的,數量通常較多,下載的時候比較麻煩。通過”createrepo .”的命令創建源,并要放到存放源文件主機的web服務器的根目錄下,詳見創建本地yum軟件源,為本地Package安裝Cloudera Manager、Cloudera Hadoop及Impala做準備
Parcel本地源:軟件包是以.parcel結尾,相當于壓縮包格式的,一個系統版本對應一個,下載的時候方便。如centos 6.x使用的CDH版本為CDH-X.X.X-1.cdhX.X.X.p0.22-el6.parcel,而centos 5.x使用的CDH版本為CDH-X.X.X-1.cdhX.X.X.p0.22-el5.parcel。
?
這些文件放好之后,CM會獲取這個包,并出現在主機->包裹的頁面。出現的快慢跟你設置的包的刷新頻率有關,默認是1小時。也可以重啟CM服務和agent服務識別。
可以在管理頁面的屬性標簽下的包裹種類里修改。
?
?
?
等待parcel安裝
正常情況下 內網網速速好的話 10分鐘左右激活完畢,最多不超過30分鐘 如果卡住了 建議看看日志
安裝過程中有什么問題 可以用
/opt/cm-5.8.2/etc/init.d/cloudera-scm-agent status
/opt/cm-5.8.2/etc/init.d/cloudera-scm-server status
查看服務器客戶端狀態
?
也可以通過
/var/log/cloudera-scm-server/cloudera-scm-server.log
/var/log/cloudera-scm-agent/cloudera-scm-agent.log
查看日志
如果上面的路徑找不到則在
日志文件夾"/opt/cm-5.8.2/log"查看日志,里面包含server和agent的log,使用命令如下:
tail -f /opt/cm-5.8.2/log/cloudera-scm-server/cloudera-scm-server.log
tail -f /opt/cm-5.8.2/log/cloudera-scm-agent/cloudera-scm-agent.log
?
例如我這里NTP因為沒有外網,所以會報錯,不過有些錯誤不影響的話不需要管。
?
?
?
成功激活后繼續右下角點擊繼續
?
?
?
主機檢查
會進入自動檢查主機(耗時2分鐘左右)然后給出報告,包括需要修改的部分和組件的版本
?
?
?
?
解決警告
這里有2個警告需要解決一下,至于版本里的不可用不適用不需要管。
警告一
Cloudera 建議將 /proc/sys/vm/swappiness 設置為最大值 10。當前設置為 60。使用 sysctl 命令在運行時更改該設置并編輯 /etc/sysctl.conf,以在重啟后保存該設置。您可以繼續進行安裝,但 Cloudera Manager 可能會報告您的主機由于交換而運行狀況不良。以下主機將受到影響
解決方法
每臺受影響的主機運行
echo 10 > /proc/sys/vm/swappiness 即可解決。
?
?
?
警告二
已啟用透明大頁面壓縮,可能會導致重大性能問題。請運行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”以禁用此設置,然后將同一命令添加到 /etc/rc.local 等初始腳本中,以便在系統重啟時予以設置。以下主機將受到影響
?
解決方法
每臺受影響的主機運行命令
echo never > /sys/kernel/mm/transparent_hugepage/defrag
并且
vim ??/etc/rc.local ?
加入echo never > /sys/kernel/mm/transparent_hugepage/defrag這條命令。
?
然后點擊重新運行進行重新檢查
?
?
全部綠勾了,然后點擊右下角的完成。
選擇安裝哪些組件服務--這里根據需求選擇即可。
?
?
?
選擇組件服務
右下角點擊繼續,然后配置角色。一般情況下保持默認就可以了(Cloudera Manager會根據機器的配置自動進行配置,如果需要特殊調整,自行進行設置就可以了)。
我這里使用默認配置,所以直接點擊繼續就可以了。
?
?
?
?
配置數據庫
然后配置數據庫
這里需要輸入自己的mysql的對應數據庫名稱和用戶名以及密碼。
我們之前在mysql中新建的數據名分布對應填入 然后點擊測試連接。
hive ? root ?123456
oozie ?root ?123456
hue ? ?root ?123456
如果測試連接全部是Successful,則點擊右下角的繼續。
?
?
?
可能遇到的問題---hue--unable to verify
?
查看日志后發現原因是
?
Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
?
?
這個是因為cm的服務端是用java編寫的,cm的客戶端是python編寫的,這里測試連接時是用python去連接數據庫。但是CentOS系統本身會缺少一些python連接數據庫需要的關聯庫。
?
解決方法
在mysql的安裝目錄找到系統缺少的這個包,關聯到系統即可。
?
根據最后提示,應該是找不著一個交libmysqlclient_r.so.16的文件,于是到mysql安裝目錄里找到這個文件并且做一個軟連接到/usr/lib
如果是按照我們之前的離線安裝mysql步驟安裝的話 默認的mysql安裝目錄是/var/lib/mysql/?
ln -s?/var/lib/mysql/lib/libmysqlclient_r.so.16 ??/usr/lib64/libmysqlclient_r.so.16
但是/var/lib/mysql/ 目錄下沒有找到lib目錄
使用
find / -name libmysqlclient_r.so.16
whereis ? libmysqlclient_r.so.16
也找不到libmysqlclient_r.so.16。
我們在之前解壓mysql文件的目錄里發現了除了
MySQL-client-5.6.34-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.34-1.linux_glibc2.5.x86_64.rpm?
這兩個安裝文件之外另外的rpm包。
我們把其他幾個關聯rpm包也安裝一下。
rpm -ivh ? MySQL-shared-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh ? MySQL-devel-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh ? MySQL-shared-compat-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh ? MySQL-embedded-5.6.34-1.linux_glibc2.5.x86_64.rpm ??
rpm -ivh ? MySQL-test-5.6.34-1.linux_glibc2.5.x86_64.rpm
安裝完成后再查找
whereis ? libmysqlclient_r.so.16
發現已經有了libmysqlclient_r.so.16而且已經在/usr/lib64路徑下了。
再次點擊測試連接,成功。
?
?
?
審核更改
審核更改中列出相關目錄和配置,如果有需要的話就修改,無特殊需求使用默認的即可,點擊右下角的繼續。
另外如果需要自己設定文件夾,一定要先mkdir文件夾,否側hdfs會無法啟動,并且報錯文件夾不存在,并確保訪問權限。
?
?
?
集群啟動
集群會首次運行所有的組件,這過程中可能會有一些錯誤,不要擔心,解決重試即可。下面會依次給出我遇到的情況供大家參考,基本上都是權限或者驅動問題。
正確首次啟動后如下圖(是不是很激動^^)
右下角繼續,離成功安裝一步之遙。
?
?
?
可能遇到的問題---hdfs啟動失敗--創建/tmp目錄失敗
Directory /tmp does not currently exist
Can't open /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/supervisor.conf: Permission denied.
報錯信息
Mon Nov 28 14:20:59 CST 2016
JAVA_HOME=/usr/java/latest/
using /usr/java/latest/ as JAVA_HOME
using 5 as CDH_VERSION
using /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp as CONF_DIR
using ?as SECURE_USER
using ?as SECURE_GROUP
unlimited
Directory /tmp does not currently exist.
+ HADOOP_CLASSPATH=/opt/cm-5.8.2/share/cmf/lib/plugins/event-publish-5.8.2-shaded.jar:/opt/cm-5.8.2/share/cmf/lib/plugins/tt-instrumentation-5.8.2.jar:/opt/cm-5.8.2/share/cmf/lib/plugins/navigator/cdh57/audit-plugin-cdh57-2.7.2-shaded.jar
+ set -x
+ replace_conf_dir
+ find /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp -type f '!' -path '/opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/logs/*' '!' -name '*.log' '!' -name '*.keytab' '!' -name '*jceks' -exec perl -pi -e 's#{{CMF_CONF_DIR}}#/opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp#g' '{}' ';'
Can't open /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/supervisor.conf: Permission denied.
+ make_scripts_executable
+ find /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp -regex '.*\.py∥shpy‖sh$' -exec chmod u+x '{}' ';'
+ '[' DATANODE_MAX_LOCKED_MEMORY '!=' '' ']'
+ ulimit -l
+ export HADOOP_IDENT_STRING=hdfs
+ HADOOP_IDENT_STRING=hdfs
+ '[' -n '' ']'
+ acquire_kerberos_tgt hdfs.keytab
+ '[' -z hdfs.keytab ']'
+ '[' -n '' ']'
+ '[' validate-writable-empty-dirs = mkdir ']'
+ '[' file-operation = mkdir ']'
+ '[' bootstrap = mkdir ']'
+ '[' failover = mkdir ']'
+ '[' transition-to-active = mkdir ']'
+ '[' initializeSharedEdits = mkdir ']'
+ '[' initialize-znode = mkdir ']'
+ '[' format-namenode = mkdir ']'
+ '[' monitor-decommission = mkdir ']'
+ '[' jnSyncWait = mkdir ']'
+ '[' nnRpcWait = mkdir ']'
+ '[' -safemode = supergroup -a get = 1777 ']'
+ '[' monitor-upgrade = mkdir ']'
+ '[' finalize-upgrade = mkdir ']'
+ '[' rolling-upgrade-prepare = mkdir ']'
+ '[' rolling-upgrade-finalize = mkdir ']'
+ '[' nnDnLiveWait = mkdir ']'
+ '[' refresh-datanode = mkdir ']'
+ '[' mkdir = mkdir ']'
+ '[' 5 -ne 5 ']'
+ DIR=/tmp
+ USER=hdfs
+ GROUP=supergroup
+ PERMS=1777
+ RET=0
+ /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hadoop-hdfs/bin/hdfs --config /opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp dfs -test -d /tmp
原因是hdfs用戶或者cm用戶對這個文件沒有操作權限。我們進入這個目錄查看
cd ? ?/opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/
ls -l
發現確實是這個文件只有root才能讀寫,那么我們應該設置一下權限,因為cm是用hdfs用戶在操作的。
使用命令
cd ? ?/opt/cm-5.8.2/run/cloudera-scm-agent/process/61-hdfs-NAMENODE-createtmp/
chmod 666 supervisor.conf
ls ?-l
然后點擊右下角的重試。
?
?
可能遇到的問題--啟動 Key-Value Store Indexer, YARN (MR2 Included)---Create Job History Dir 失敗
?
啟動 Key-Value Store Indexer, YARN (MR2 Included)
?僅完成 0/2 個步驟。首個失敗:在服務 Key-Value Store Indexer 上執行命令 Start 失敗
僅完成 0/2 個步驟。首個失敗:在服務 YARN (MR2 Included) 上執行命令 Create Job History Dir 失敗
使用用戶 mapred 組 hadoop 和權限 1777 創建 DFS 目錄 /tmp/logs
?主機運行狀況變成不良時,主機 cm0 (id=3) 上的進程 dfs-create-dir (id=72) 被標記為失敗
Mon Nov 28 14:53:18 CST 2016
JAVA_HOME=/usr/java/latest/
using /usr/java/latest/ as JAVA_HOME
using 5 as CDH_VERSION
using /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir as CONF_DIR
using ?as SECURE_USER
using ?as SECURE_GROUP
unlimited
Directory /tmp/logs does not currently exist.
Created directory /tmp/logs.
Changed ownership of /tmp/logs to mapred:hadoop.
Can't open /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir/supervisor.conf: Permission denied.
?
?
+ HADOOP_CLASSPATH=/opt/cm-5.8.2/share/cmf/lib/plugins/event-publish-5.8.2-shaded.jar:/opt/cm-5.8.2/share/cmf/lib/plugins/tt-instrumentation-5.8.2.jar:/opt/cm-5.8.2/share/cmf/lib/plugins/navigator/cdh57/audit-plugin-cdh57-2.7.2-shaded.jar
?
+ set -x+ replace_conf_dir+ find /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir -type f '!' -path '/opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir/logs/*' '!' -name '*.log' '!' -name '*.keytab' '!' -name '*jceks' -exec perl -pi -e 's#{{CMF_CONF_DIR}}#/opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir#g' '{}' ';'Can't open /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir/supervisor.conf: Permission denied.+ make_scripts_executable+ find /opt/cm-5.8.2/run/cloudera-scm-agent/process/72-dfs-create-dir -regex '.*\.py∥shpy‖sh$' -exec chmod u+x '{}' ';'+ '[' DATANODE_MAX_LOCKED_MEMORY '!=' '' ']'+ ulimit -l+ export HADOOP_IDENT_STRING=hdfs+ HADOOP_IDENT_STRING=hdfs+ '[' -n '' ']'+ acquire_kerberos_tgt hdfs.keytab+ '[' -z hdfs.keytab ']'+ '[' -n '' ']'+ '[' validate-writable-empty-dirs = mkdir ']'
點擊stderr看了詳細的報錯發現仍然是權限問題,解決方法跟之前一樣,進入這個路徑后更改下權限即可。
?
?
?
?
可能遇到的問題--Solr, HBase--Command Start is not currently available for execution
這種情況界面上沒有詳細的信息但是在日志中可以看到是超時了,這種情況下確保局域網網絡好的情況下并且master服務器服務良好的情況下直接重試。
?
?
?
?
可能遇到問題---啟動hive---Failed to Create Hive Metastore Database Tables
?
++ false++ exec /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hadoop/bin/hadoop jar /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib/hive-cli-1.1.0-cdh5.8.0.jar org.apache.hive.beeline.HiveSchemaTool -verbose -dbType mysql -initSchemaJava HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driverorg.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driverat org.apache.hive.beeline.HiveSchemaHelper.getConnectionToMetastore(HiveSchemaHelper.java:79)at org.apache.hive.beeline.HiveSchemaTool.getConnectionToMetastore(HiveSchemaTool.java:113)at org.apache.hive.beeline.HiveSchemaTool.testConnectionToMetastore(HiveSchemaTool.java:159)at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:257)at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:243)at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:473)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.util.RunJar.run(RunJar.java:221)at org.apache.hadoop.util.RunJar.main(RunJar.java:136)Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at org.apache.hive.beeline.HiveSchemaHelper.getConnectionToMetastore(HiveSchemaHelper.java:70)... 11 more*** schemaTool failed ***
?
?
?
這是hive的lib包中缺少mysql的驅動導致的。我們之前已經把mysql驅動包mysql-connector-java-*-bin.jar放到主節點cm0的/opt中,現在復制一份到/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib(這里CDH-5.8.0-1.cdh5.8.0.p0.42要跟自己的版本對應)
?
使用命令如下
cd /opt/mysql-connector-java-5.1.40cp mysql-connector-java-5.1.40-bin.jar ? /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib把mysql-connector-java-5.1.40-bin.jar放到/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib中。?cd ?/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/libls|more確認已經放進去了。
然后點擊右下角的重試。
?
?
?
?
?
?
?
?
可能遇到的問題---啟動 Oozie, Impala---Create Oozie Database Tables 失敗
?
Error: Could not connect to the database: java.lang.ClassNotFoundException: com.mysql.jdbc.DriverStack trace for the error was (for debug purposes):--------------------------------------java.lang.Exception: Could not connect to the database: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat org.apache.oozie.tools.OozieDBCLI.validateConnection(OozieDBCLI.java:905)at org.apache.oozie.tools.OozieDBCLI.createDB(OozieDBCLI.java:185)at org.apache.oozie.tools.OozieDBCLI.run(OozieDBCLI.java:129)at org.apache.oozie.tools.OozieDBCLI.main(OozieDBCLI.java:80)Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at org.apache.oozie.tools.OozieDBCLI.createConnection(OozieDBCLI.java:894)at org.apache.oozie.tools.OozieDBCLI.validateConnection(OozieDBCLI.java:901)... 3 more--------------------------------------
+ '[' 0 = 1 ']'+ '[' CLOUDERA_MYSQL_CONNECTOR_JAR '!=' '' ']'+ eval 'JAR_LOCATION=$CLOUDERA_MYSQL_CONNECTOR_JAR'++ JAR_LOCATION=/usr/share/java/mysql-connector-java.jar+ echo 'Copying JDBC jar from /usr/share/java/mysql-connector-java.jar to /var/lib/oozie'+ cp /usr/share/java/mysql-connector-java.jar /var/lib/oozie/cp: cannot stat `/usr/share/java/mysql-connector-java.jar': No such file or directory+ OOZIECPPATH=
?
跟hive啟動的問題一樣,缺少驅動。
?
?
Oozie的lib包中缺少mysql的驅動導致的。我們之前已經把mysql驅動包mysql-connector-java-*-bin.jar放到主節點cm0的/opt中,現在復制一份到/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/Oozie/lib(這里CDH-5.8.0-1.cdh5.8.0.p0.42要跟自己的版本對應)
?
再復制一份到/var/lib/oozie/
?
使用命令如下把mysql-connector-java-5.1.40-bin.jar放到/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/oozie/lib中。?
?
?
cd /opt/mysql-connector-java-5.1.40
cp mysql-connector-java-5.1.40-bin.jar ? /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/oozie/lib
?
cp mysql-connector-java-5.1.40-bin.jar ? /var/lib/oozie
cd ?/opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/oozie/lib
ls|more
確認已經放進去了。
?
cd /var/lib/oozie
?
?
ls|more
?
點擊右下角重試。
?
?
?
?
?
?
?
?
?
?
?
?
安裝完成
?
恭喜您,安裝完成。
點擊完成后會進入監控界面。如果有紅色的話,還是需要我們去解決的。。。
?
?
具體排查的情況可以參考文章或者自己查資料。
hadoop基礎----hadoop實戰(九)-----hadoop管理工具---CDH的錯誤排查(持續更新)
?
?
全部解決后就全綠了。
?
?
?
?
備份安裝配置完好的系統
到這里我們的安裝就算完成了。為了以后的修復方便,我們可以對分別對linux系統進行備份。虛擬機的就很方便,直接復制壓縮虛擬機文件即可。
總結
以上是生活随笔為你收集整理的Cloudera Manager和CDH5.8离线安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超云将成为数据中心演化的下一个阶段
- 下一篇: Service Mesh服务网格:是什么