Cloudera Manger CDH 安裝文檔



簡介:

Cloudera Manager 是 Cloudera 公司推出的 Hadoop 集群管理工具,通過該管理工具可以方便的部署、配置、監控集群。

Cloudera 公司自己發布的 Hadoop 版本叫 CDH,全稱 Cloudera Distribution Hadoop。

環境介紹:

192.168.47.10 master.hadoop C6.8 x64 CPU: 1 MEM: 4GB
192.168.47.20 datanode01.hadoop C6.8 x64 CPU: 1 MEM: 1GB
192.168.47.30 datanode02.hadoop C6.8 x64 CPU: 1 MEM: 1GB

一、服務器初始化

1、配置 hostname 、修改 hosts

2、關閉 iptables 、selinux

3、配置時間同步服務器 ntp

# master.hadoop 、datanode.hadoop

shell > cp -r /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 修改時區

shell > yum -y install ntp

# master.hadoop

shell > vim /etc/ntp.conf

# 允許客戶端來同步時間的網段
restrict 192.168.47.0 mask 255.255.255.0 nomodify
# 該服務器從哪里同步時間
server cn.pool.ntp.org prefer
# 當無法與上游服務器聯系時,采用本地時鍾
server 127.127.1.0
fudge  127.127.1.0 stratum 10

shell > chkconfig --del ntpd
shell > echo 'ntpdate cn.pool.ntp.org | hwclock -w' >> /etc/rc.local
shell > echo '/etc/init.d/ntpd start' >> /etc/rc.local

shell > ntpdate cn.pool.ntp.org | hwclock -w
shell > /etc/init.d/ntpd start

shell > ntpstat 
synchronised to local net at stratum 6 
   time correct to within 7948 ms
   polling server every 64 s

# 現在是以本地時鍾為主,因為還沒有跟上游服務器建立連接,一般需要 15 分左右!

shell > ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 248.51-174-131. .INIT.          16 u    -   64    0    0.000    0.000   0.000
*LOCAL(0)        .LOCL.           5 l    3   64    3    0.000    0.000   0.000

# datanode.hadoop

shell > crontab -e
0 0 * * * /usr/sbin/ntpdate master.hadoop | hwclock -w > /dev/null 2>&1

# 凌晨時間同步 ( 本來想采用 ntp 的方式,但是啟動時間真是太長了 )

二、安裝 Cloudera-manager

# https://www.cloudera.com/documentation/enterprise/release-notes/topics/cm_vd.html 各版本地址
# https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.6.0/RPMS/x86_64 本次實驗版本地址

# master.hadoop

1、搭建 yum 本地源

shell > yum -y install httpd createrepo

shell > sed -i 's/#ServerName www.example.com:80/ServerName 127.0.0.1:80/' /etc/httpd/conf/httpd.conf

shell > /etc/init.d/httpd start
shell > chkconfig --level 35 httpd on

shell > mkdir /var/www/html/clouder-manager; cd /var/www/html/clouder-manager
shell > wget -c -r -nd -A .rpm https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.6.0/RPMS/x86_64/  # 建議使用加速下載

shell > ls -1
cloudera-manager-agent-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
cloudera-manager-daemons-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
cloudera-manager-server-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
cloudera-manager-server-db-2-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
enterprise-debuginfo-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
jdk-8u111-linux-x64.rpm

# 關於 clouder-manager 的軟件包就這些,jdk 是我單獨下載的

shell > createrepo .  # 生成依賴

# master.hadoop 、datanode.hadoop

shell > vim /etc/yum.repos.d/local.repo
[local]
name=local cloudera manager
baseurl=http://master.hadoop/cloudera-manager
gpgcheck=0

shell > yum clean all

# 這樣各節點就可以使用 yum 本地源了

2、安裝 clouder-manager

# master.hadoop

shell > yum -y install jdk1.8.0_111
shell > yum -y install cloudera-manager-agent
shell > yum -y install cloudera-manager-server-db-2

shell > rpm -qa | grep cloudera
cloudera-manager-server-db-2-5.6.0-1.cm560.p0.54.el6.x86_64
cloudera-manager-agent-5.6.0-1.cm560.p0.54.el6.x86_64
cloudera-manager-server-5.6.0-1.cm560.p0.54.el6.x86_64
cloudera-manager-daemons-5.6.0-1.cm560.p0.54.el6.x86_64

# 可以看到都已准備就緒 ( cloudera-manager-server 已經自動安裝了 )

# datanode.hadoop

shell > yum -y install jdk1.8.0_111
shell > yum -y install cloudera-manager-agent

3、啟動

# master.hadoop

shell > /etc/init.d/cloudera-manager-server-db start # TCP 7432

shell > /etc/init.d/cloudera-scm-server start # TCP 7180 web、7182 agent

# cloudera-manager-server 啟動要花費比較長的時間
# 建議 tail -f /var/log/cloudera-manager-server/cloudera-manager-server.log
# 看到 Started SelectChannelConnector@0.0.0.0:7180 字樣時,證明啟動成功

shell > /etc/init.d/cloudera-scm-agent start # TCP 900019001

# datanode.hadoop

shell > sed -i '/server_host/s/localhost/master.hadoop/' /etc/cloudera-scm-agent/config.ini # 修改 CM 地址

shell > /etc/init.d/cloudera-scm-agent start

4、訪問

http://192.168.47.10:7180 admin / admin

> Yes, I accept the End User License Terms and Conditions. # 同意
> 默認,企業試用版,60 天后自動降級為免費版

# 到這里,cloudera-manager 就安裝完成了,可以點擊左上角logo查看狀態,也可以繼續配置集群
# 再點擊繼續就開始配置集群了,請看下面

三、Cloudera-manager 配置集群

# 這里使用的離線的安裝方式,建議使用迅雷等加速器下載后傳到服務器,不然太費勁了...

shell > cd /opt/cloudera/parcel-repo
shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel
shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha1
shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/manifest.json

# el6 可以理解為 CentOS 6.x

shell > mv CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha1 CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha

# 不改名,會導致 CM 去重新下載 .parcel 包,就那個 1.4G 的包

shell > ls -1
CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel
CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha
manifest.json

# 最終就是這樣

shell > chown -R cloudera-scm.cloudera-scm .
shell > /etc/init.d/cloudera-manager-server restart

# 如果是在 server 啟動后,下載的 CDH,那么需要重啟一下 server,否則選擇 CDH 版本的時候,沒有該版本

1、主頁點擊添加集群

2、搜索主機,繼續

3、選擇使用 parcel ( clouder 公司提供的一種包管理方式 );也可以把 CDH5 對應的軟件包全部下載后做成本地 yum 源,選擇使用數據包

# 更多選項里面有一個<本地 Parcel 存儲庫路徑>,默認就是 /opt/cloudera/parcel-repo
# 下面的選擇CDH版本列表就會有下載的 CDH-5.6.0-1.cdh5.6.0.p0.45,選擇 繼續

4、集群安裝,因為是下載好的本地包,所以需要等待的只是一個安裝時間,由服務器性能決定 ( 這虛擬機讓我等的好苦!)

# 可以監控 cloudera-manager-server 的日志,好多 orld gc ,內存嚴重不足!機器反應慢!負載也高!

5、檢查主機正確性

> vm.swappiness 默認 60,建議設為 0,系統使用 swap 的喜好,0 為盡量不使用
> /sys/kernel/mm/transparent_hugepage 透明大頁的問題,建議禁止

# master.hadoop 、datanode01.hadoop

shell > echo 'vm.swappiness = 0' >> /etc/sysctl.conf
shell > sysctl -p

shell > echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
shell > echo 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag' >> /etc/rc.local

# 點擊重新運行

6、安裝服務,自定義服務,我這里只選擇了 HDFS、YARN

7、角色分配,選擇默認

8、數據庫選擇,選擇嵌入式數據庫,測試連接

# master.hadoop:7432
# rman / rman / MJ8ehj6PGN | 數據庫 / 用戶名 / 密碼

9、集群設置,這里是一些常用參數,多關注一下

# dfs.block.size, dfs.blocksize HDFS 默認塊大小 128MB
# dfs.datanode.failed.volumes.tolerated DataNode 磁盤損壞數量,建議大於 1
# dfs.data.dir, dfs.datanode.data.dir DataNode 數據目錄
# dfs.name.dir, dfs.namenode.name.dir NameNode 數據目錄
......

10、開始啟動服務啦~

# 有可能會因為服務器性能不足,導致超時,重試一般能好!該增加配置了... 主要是 Memory !!!

11、恭喜您!服務已安裝、配置並在群集中運行。

四、集群調整

# 集群主頁可以看到 Cluster 1 狀態為 紅色 !表示運行狀態不良、主機狀態為 黃色!表示存在隱患!等

# 這時服務器很卡,點擊主機 配置問題,會發現 master.hadoop、datanode01.hadoop 內存不足!-> 關機加內存

# 關閉 Cluster 1、Cloudera Manager Service ( 標簽后面都有下拉菜單,點擊停止 ),然后加內存!建議 8G/2G !

# 再次啟動服務器、等待 Cloudera-manager-server 啟動后,web 界面啟動 Cluster 1、Cloudera Manager Service

# 點擊<所有運行狀態問題>,列出 Cluster 1 運行中的問題列表

1、Cloudera Management Services

> Alert Publisher (master) /var/log/cloudera-scm-alertpublisher
> Event Server (master) /var/log/cloudera-scm-eventserver
> Host Monitor (master) /var/log/cloudera-scm-firehose
> Reports Manager (master) /var/log/cloudera-scm-headlamp
> Service Monitor (master) /var/log/cloudera-scm-firehose

# 分析發現:全部是由於磁盤空間不足,這種問題一般生產壞境不會出現!
# 解決方法:1、磁盤擴容 2、修改日志目錄可用空間監控絕對閾值 ( 由於是實驗環境,這里選擇第二種解決方案 )
# 主頁->配置->磁盤空間閾值->篩選器 范圍 Cloudera Management Service->日志目錄可用空間監控絕對閾值->警告 2 嚴重 1->保存更改
# 這時再點擊主頁,之前這些警告就都消失了 ( 可能會有一點延遲 )

> Event Server (master) /var/lib/cloudera-scm-eventserver
> Host Monitor (master) /var/lib/cloudera-host-monitor
> Reports Manager (master) /var/lib/cloudera-scm-headlamp
> Service Monitor (master) /var/lib/cloudera-service-monitor

# 還是熟悉的味道!
# Event Server Index Directory 可用空間監控絕對閾值 2 1
# Host Monitor Storage Directory 可用空間監控絕對閾值 2 1
# Reports Manager Working Directory 可用空間監控絕對閾值 2 1
# Service Monitor Storage Directory 可用空間監控絕對閾值 2 1

2、Cluster 1

> HDFS 副本不足的塊

# HDFS 默認為 3 個副本,我們只有一個

> YARN (MR2 Included)
> NameNode (master) /dfs/nn
> SecondaryNameNode (master) /dfs/snn
> master.hadoop /opt/cloudera/parcels

# 還是磁盤空間問題,這次選擇添加硬盤來解決問題 ( 當然也可以修改監控閾值 )

# master.hadoop、datanode01.hadoop

shell > mkfs.ext4 /dev/sdb
shell > mkdir tmp; mv /dfs/* tmp/
shell > mount -o noatime /dev/sdb /dfs
shell > mv tmp/* /dfs
shell > echo '/dev/sdb /dfs ext4 noatime 0 0' >> /etc/fstab

shell > mkfs.ext4 /dev/sdc
shell > mv /opt/* tmp/
shell > mount -o noatime /dev/sdc /opt
shell > mv tmp/* /opt
shell > echo '/dev/sdc /opt ext4 noatime 0 0' >> /etc/fstab

shell > mount -a

# 啟動集群即可

五、向集群中添加節點

# 准備好的服務器,也要經過初始化階段!( 還有內核參數 ) ( jdk、agent 都可以不用裝,也可以先安裝好 )

1、主機->模板->修改默認模板名稱為 DataNode,應用該模板的主機將包含兩個角色 DataNode、NodeManager

2、狀態->向集群添加新主機

3、搜索主機 192.168.47.30 或 datanode02.hadoop ( 當前管理的主機中如有該主機直接勾選繼續 )

4、安裝軟件到該主機、檢查主機正確性

5、選擇主機模板 DataNode 繼續,安裝、啟動服務

6、YARN (MR2 Included) 刷新集群配置

# 完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM