一、安裝之前
Cloudera管理器的存儲空間規划
ClouderaManager跟蹤許多后台流程中的服務、作業和應用程序的指標。所有這些指標都需要存儲。根據組織的大小,此存儲可以是本地的或遠程的,基於磁盤的,也可以是數據庫中的,由您或其他團隊在另一個位置管理。
大多數系統管理員都知道常見的位置,如/var/log/這些地點需要有足夠的空間。本主題幫助您規划Cloudera Manager Server和Cloudera Management Service用於存儲度量和數據的存儲需求和數據存儲位置。
未能規划Cloudera Manager Server和Cloudera管理服務的所有組件的存儲需求,會以下列方式對集群產生負面影響:
- 集群可能無法保留歷史操作數據以滿足內部需求。
- 集群可能漏掉未收集或保留所需時間的關鍵審計信息。
- 管理員可能無法研究過去的事件或健康狀況。
- 管理員可能在以后需要引用或報告歷史 MR1、YARN或Impala使用數據時沒有這些數據。
- 在度量收集和圖表方面可能存在空白。
- 由於將存儲位置填充到100%的容量,群集可能會出現數據丟失。這種事件的影響可能會影響到許多其他組成部分。
配置網絡名稱
首先,CDH需要IPv 4,不支持IPv 6。
1、將主機名設置為唯一名稱,不是localhost
sudo hostnamectl set-hostname foo-1.example.com
2、編輯/etc/hosts具有集群中每個主機的IP地址和完全限定域名(FQDN)。您也可以添加非限定名。
1.1.1.1 foo-1.example.com foo-1
2.2.2.2 foo-2.example.com foo-2
3.3.3.3 foo-3.example.com foo-3
4.4.4.4 foo-4.example.com foo-4
注意:
- 每個主機的規范名稱。/etc/hosts 必是FQDN(例如myhost-1.example.com),而不是不合格的主機名(例如myhost-1)。
- 不要使用別名,也不要在/etc/hosts或者配置DNS。
- 在ClouderaManager實例中,非限定主機名(短名稱)必須是唯一的。例如host01.example.com和host01.Standby.example.com由同一個 ClouderaManagerServer管理。
3、編輯/etc/sysconfig/Network僅用於此主機的FQDN:
HOSTNAME=foo-1.example.com
4、驗證每個主機是否一致地標識到網絡:
- 運行uname -a並檢查主機名是否與主機名命令相同。
- 運行/sbin/ifconfig並注意到inet addr在eth0(或bond0)條目,例如:
eth0 Link encap:Ethernet HWaddr 00:0C:29:A4:E8:97
inet addr:172.29.82.176 Bcast:172.29.87.255 Mask:255.255.248.0
...
- 運行host -v -t A $(hostname)並驗證輸出是否與主機名命令相同。 IP地址應與ifconfig為eth0(或bond0):
Trying "foo-1.example.com" ... ;; ANSWER SECTION: foo-1.example.com. 60 IN A 172.29.82.176
禁用防火牆
若要在群集中的每個主機上禁用防火牆,請在每個主機上執行以下步驟:
1、為iptables,保存現有規則集:
sudo iptables-save > ~/firewall.rules
2、禁用防火牆(RHEL 7兼容):
sudo systemctl disable firewalld
sudo systemctl stop firewalld
設置SELinux模式
安全增強的linux(SELinux)允許您通過策略設置訪問控制。如果您在使用策略部署CDH時遇到問題,請在每個主機上設置SELinux,然后在集群上部署CDH。 若要設置SELinux模式,請在每個主機上執行以下步驟:
1、檢查SELinux狀態:
getenforce
2、如果輸出是Permissive 或者 Disabled,您可以跳過此任務並繼續執行禁用防火牆..如果輸出是(enforcing)強制執行,繼續下一步。
3、打開/etc/selinux/config文件(在某些系統中,/etc/sysconfig/selinux文件)。
4、將SELINUX=enforcing改為SELINUX=permissive.
5、保存並關閉文件。
6、重新啟動系統或運行以下命令立即禁用SELinux:
setenforce 0
安裝和部署cdh之后,可以通過更改SELINUX=permissive回到SELINUX=enforcing 。在……里面/etc/selinux/config(或/etc/sysconfig/selinux),然后運行以下命令立即切換到強制執行模式:
setenforce 1
啟用NTP服務
CDH要求您配置網絡時間協議(NTP)集群中每台機器上的服務。大多數操作系統包括ntpd用於時間同步的服務。使用ntpd對於時間同步:
1、安裝NTP
yum install ntp
2、編輯/etc/ntp.conf文件以添加NTP服務器,如下面的示例所示。
server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org
3、啟動ntpd服務(RHEL 7兼容):
sudo systemctl start ntpd
4、配置ntpd在引導時運行的服務(RHEL 7兼容):
sudo systemctl enable ntpd
5、將系統時鍾同步到NTP服務器:
ntpdate -u <ntp_server>
6、將硬件時鍾與系統時鍾同步:
hwclock --systohc
在Hue主機上安裝Python2.7(RHEL 6版本安裝)
這里以CentOS 6.x為例,如下操作:
1、啟用軟件收藏庫:
sudo yum install centos-release-scl
2、安裝軟件集合實用程序:
sudo yum install scl-utils
3、安裝Python 2.7:
sudo yum install python27
4、驗證是否安裝了Python2.7:
source /opt/rh/python27/enable
python --version
Impala Requirements(略)
基於包的cdh安裝所需的特權(略)