首先箭跳,我強調(diào)一下晨另,其實最主要的步奏都是參照 官網(wǎng)的 安裝步奏進行 配置的。官網(wǎng)是 最好的解決方案谱姓,網(wǎng)上的很多博文只是用來參考借尿,這點大家切記切記。
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/installation_reqts.html
0.安裝環(huán)境
0.1 安裝環(huán)境
1.安裝前準備
1.1 操作系統(tǒng)設置
1.1.1 配置固定IP 與 解析關系
1.1.2 關閉 SELINUX
1.1.3 關閉防火墻
1.1.4 配置時間同步 NTP
1.1.5 配置集群 ssh免密登錄
2.安裝
2.1 步驟1 Linux 下安裝JDK
2.2 步驟2 配置Repo
2.3 步驟3 安裝服務
2.4 步驟4 修改各節(jié)點配置 并啟動 cloudera-scm-agent
2.5 步驟5 安裝并配置MySQL
2.6 步驟6 配置CM 及其他服務的數(shù)據(jù)庫 基于 MySQL逝段,增加mysql-connector 包
2.7 步驟7 初始化數(shù)據(jù)庫垛玻,啟動服務
2.8 步驟8 Parcel 安裝
3.常見問題詳解
3.1 安裝中斷,如何繼續(xù)
3.2 Inspector 檢測 出現(xiàn)各種錯誤警告
3.3 運行日志在哪里
4.幾種加快安裝的方式
4.1 啟動httpd 服務奶躯,使用離線 parcel 包安裝
4.2 創(chuàng)建本地yum源帚桩,使用離線 rpm 包安裝
======================================================================
0.安裝環(huán)境
0.1 安裝環(huán)境
本文的安裝環(huán)境在 CentOS7 下 搭建完成
Linux 版本 : CentOS 7
CDH版本 :CM 6.0.1
1.安裝前準備
1.1 操作系統(tǒng)設置
1.1.1 配置固定IP 與 解析關系
1.1.2 關閉 SELINUX
1.1.3 關閉防火墻
1.1.4 配置時間同步 NTP
1.1.5 配置集群 ssh免密登錄
上述安裝前基礎配置參考我的簡書
http://www.reibang.com/p/52c6b3b4f519
2.安裝
2.1 步驟1 安裝Java
要求:
JDK必須是64位。不要使用32位JDK嘹黔。
已安裝的JDK必須是受支持的版本java1.8以上账嚎。
在相同版本的JDK必須安裝在每個集群主機上。
必須安裝JDK在 /usr/java/jdk-versio
(很重要注意)
安裝jdk流程參考http://www.reibang.com/p/456041b488c9
2.2 步驟2 配置Repo
該步驟建議替換從本地yum源安裝的方式 @苈9丁!N菇U傩狻!
首先我們需要下載 Repo , Repo 是 yum 用來管理包的配置文件获询。
下載地址:
https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/cloudera-manager.repo
通過以下指令:
sudo wget <repo_file_url> -P /etc/yum.repos.d/
repo_file_url 換成以上的地址即可
-P LOCAL_DIR:保存所有的文件或目錄到指定的目錄下
之后我們還需要執(zhí)行以下指令涨岁,Import the repository signing GPG key:
sudo rpm --import https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPM-GPG-KEY-cloudera
2.3 步驟3 安裝服務
這個步驟主要用來 安裝 cloudera-manager-daemon 與 cloudera-manager-agent , cloudera-manager-server
其中 cloudera-manager-daemon 與 cloudera-manager-agent 是要每臺機器進行安裝的
cloudera-manager-server 只需要 在集群中想作為 未來管理節(jié)點的機器上安裝即可 .
我們先看下是否能找到這些包
我們執(zhí)行下面指令:
yum search cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
這里吉嚣,我們采用 yum 安裝梢薪。
安裝指令:
主節(jié)點:
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
其他節(jié)點:
yum install cloudera-manager-daemons cloudera-manager-agent
最后建議把這些服務設置為 開機啟動服務,方便管理尝哆。在集群重啟的時候秉撇,可以不用擔心服務的問題。
主節(jié)點:
sudo systemctl enable cloudera-scm-agent
sudo systemctl enable cloudera-scm-server
其他節(jié)點:
sudo systemctl enable cloudera-scm-agent
2.4 步驟4 修改各節(jié)點配置 并啟動 cloudera-scm-agent
配置各個節(jié)點的 agent,使得各個節(jié)點的 agent 都指向 主節(jié)點:
主要通過以下步奏:
修改 /etc/cloudera-scm-agent/config.ini
[General]
# Hostname of the CM server.
#server_host=localhost
server_host=cdh-manager
# Port that the CM server is listening on.
server_port=7182
更多的配置 琐馆,請參考以下文檔:
https://www.cloudera.com/documentation/enterprise/6/latest/topics/cm_ag_agent_config.html#cmug_topic_5_16__section_kw3_5rq_wm
2.5 步驟5 安裝并配置 MySQL (只需要 主節(jié)點)
mysql安裝參考http://www.reibang.com/p/1c41ce3e9305
2.6 步驟6 配置CM 及其他服務的數(shù)據(jù)庫 基于 MySQL规阀,增加mysql-connector 包
我們需要給 mysql 增加必要的用戶,用于其他組件 將 mysql 作為源數(shù)據(jù)庫瘦麸。
我們登錄mysql 執(zhí)行以下指令姥敛,我們給每個數(shù)據(jù)庫設置密碼 123456 :
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '123456';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
GRANT ALL ON metastore.* TO 'metastore'@'%' IDENTIFIED BY '123456';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
刷新權(quán)限:
FLUSH PRIVILEGES;
必須使用flush privileges的兩種情況
1)、改密碼瞎暑。
2)彤敛、授權(quán)超用戶。
除此以外了赌,我們需要
Installing the MySQL JDBC Driver
具體步驟如下:
Download the MySQL JDBC driver from http://www.mysql.com/downloads/connector/j/5.1.html (in .tar.gz format). As of the time of writing, you can download version 5.1.46 using wget as follows:
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
Extract the JDBC driver JAR file from the downloaded file. For example:
tar -zxvf mysql-connector-java-5.1.46.tar.gz
Copy the JDBC driver, renamed, to /usr/share/java/. If the target directory does not yet exist, create it. For example:
sudo mkdir -p /usr/share/java/
cd mysql-connector-java-5.1.46
sudo cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
2.7 步驟7 初始化數(shù)據(jù)庫墨榄,啟動服務
由于這里我們用到了 cm 使用 mysql 作為源數(shù)據(jù)庫,所以我們應該對 mysql 進行初始化勿她,
初始化 的步奏 如下
The syntax for the scm_prepare_database.sh script is as follows:
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh [options] <databaseType> <databaseName> <databaseUser> <password>
示例如下:
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm 123456
該步驟做完之后袄秩,我們就可以啟動 cm 了
啟動命令如下:
sudo systemctl start cloudera-scm-server
開機啟動
sudo systemctl enable cloudera-scm-server
2.8 步驟8 Parcel 安裝
如果這些步驟都順利進行的話,我們應該可以訪問 cm 的 7180 端口 進行初始化配置了逢并。
初始化界面如下:
我們進行下一步之剧。如果 我們的 agent 配置合理,可以掃描到集群中的機器砍聊。 參考 2.4
然后我們選擇 parcel 6.0.1 網(wǎng)絡安裝 背稼,國內(nèi)大約要 8-10 h ,我們可以下載離線包的形式進行配置玻蝌。參考 第4 章 蟹肘,加速安裝部分。
安裝最后俯树,我們再登錄 cm 即可看到 管理界面了帘腹。
3.常見問題詳解
cdh環(huán)境安裝后只有hdfs用戶是supergroup組,每次操作要從root用戶切換到hdfs用戶许饿,并且有的代碼操作比如Bulk Load大量數(shù)據(jù)插入到hbase操作時會報錯hbase用戶權(quán)限不夠阳欲,所以要把hbase用戶也加到supergroup組內(nèi)。索性把root和hbase用戶都加入supergroup組陋率,以后再遇到哪個用戶權(quán)限不夠再加
操作步驟如下:
1球化、在Linux執(zhí)行如下命令增加supergroup
groupadd supergroup
2、如將用戶root增加到supergroup中翘贮,再執(zhí)行:
usermod -a -G supergroup root
3赊窥、同步系統(tǒng)的權(quán)限信息到HDFS:
su - hdfs -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings"
即可
3.1 安裝中斷爆惧,如何繼續(xù)
出現(xiàn)原因:
parcel 包下載自動安裝后狸页,服務沒分配
Step1 :
在頂部狀態(tài)欄:
選擇繼續(xù)下一步安裝
Step2:
分配服務:
3.2 Inspector 檢測 出現(xiàn)各種錯誤警告
CDH創(chuàng)建Mysql數(shù)據(jù)庫時能找到服務器找不到數(shù)據(jù)庫
在創(chuàng)建新的數(shù)據(jù)庫后應運行以下語句來修改數(shù)據(jù)庫訪問權(quán)限
mysql -uroot -proot -e"GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;FLUSH PRIVILEGES;"
===============================
Cloudera 建議將 /proc/sys/vm/swappiness 設置為最大值 10。當前設置為 30。
echo "vm.swappiness=10" >> /etc/sysctl.conf
===========================
已啟用透明大頁面壓縮芍耘,可能會導致重大性能問題
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
===================
自啟動CDH掛掉
原因:ip地址映射錯誤
Mysql服務未啟動
========================
CDH安裝Yarn時NodeManager啟動失敗
Error starting NodeManager
org.apache.hadoop.service.ServiceStateException: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/lib/hadoop-yarn/yarn-nm-recovery/yarn-nm-state/LOCK: 權(quán)限不夠
方法一:修改目錄權(quán)限
chmod -R 755 /var/lib/hadoop-yarn/
方法二:刪除該對應子目錄重試CDH添加服務操作
CDH內(nèi)存不足超過閾值
調(diào)整主機配置參數(shù) 默認0.8 剩余內(nèi)存為系統(tǒng)占用(可調(diào)整優(yōu)化)
3.3 運行日志在哪里
運行日志 所在目錄
/var/log
下 cloudera 開頭的都是 目錄 址遇,重要的是 cloudera-scm-server
4.幾種加快安裝的方式
4.1 啟動httpd 服務,使用離線 parcel 包安裝
這里我們需要借用httpd 搭建一個網(wǎng)絡服務
Httpd
CentOS7 默認是不安裝 httpd 的斋竞,我們通過以下指令先安裝下 httpd 服務
安裝:
yum install -y httpd
啟動httpd 服務:
systemctl start httpd
開機啟動
systemctl enable httpd
啟動后倔约,我們可以直接通過地址訪問一下,看下服務是否啟動正常: httpd 默認使用的就是 80端口
注意 httpd 有一定的公約坝初,/var/www/html 是 httpd 的根目錄浸剩,
假設我們 將文件放在 /var/www/html/cdh6/parcels/6.0.1 下,我們可以通過頁面訪問到 :
http://192.168.75.134/cdh6/parcels/6.0.1/
==================================
這里我們需要從官網(wǎng)上下載對應系統(tǒng)的 parcel鳄袍,在安裝時候通過本地加速
6.0.1 版本的地址如下绢要,
https://archive.cloudera.com/cdh6/6.0.1/parcels/
注意
manifest.json 與 sha256 校驗文件最好一并下載
4.2 創(chuàng)建本地數(shù)據(jù)源
step1 : 搭建httpd 服務
這里我們需要借鑒上一個小節(jié) 4.1 的 httpd 服務,不熟悉的可以先看下 httpd 服務如何搭建拗小。
搭建好服務后重罪,啟動httpd
step2: 下載所需要的包
我們就從官網(wǎng)上下載對應系統(tǒng) rpm 包
官網(wǎng)地址
https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/
將該目錄下的rpm全部下載。下載好后哀九,我們將這些包放置在
/var/www/html/yum/centos7/repo/
目錄下剿配。
step3: 創(chuàng)建本地 repo 源
首先,我們要為下載的這些rpm阅束,生成一個依賴關系呼胚。
我們執(zhí)行以下指令
cd /var/www/html/yum/centos7/repo/
createrepo .
之后。會生成一個 repodata 文件夾
除此之外息裸,我們還需要為源砸讳,編寫 .repo 文件來描述我們的源。
首先界牡,我們切換到所有 源的配置目錄
cd /etc/yum.repos.d/
新建一個 localCDH.repo
內(nèi)容如下:
[localCDHRepo]
name=local_CDH_Repo
baseurl=http://192.168.75.134/yum/centos7/repo/
enabled=true
gpgcheck=false
最后簿寂,我們執(zhí)行下
yum makecache
[root@cdh-repo yum.repos.d]# yum makecache
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.neusoft.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
base | 3.6 kB 00:00:00
epel | 3.2 kB 00:00:00
extras | 3.4 kB 00:00:00
localCDHRepo | 2.9 kB 00:00:00
updates | 3.4 kB 00:00:00
Metadata Cache Created
更新本地緩存,這樣就加載了我們新創(chuàng)建的源宿亡。
之后常遂,我們把 localCDH.repo 放到其他機器的 /etc/yum.repos.d/ 目錄下,讓其他機器也可以通過 httpd 訪問到這些 rpm挽荠。