天天看點

Cloudera Manager 5 和 CDH5 本地(離線)安裝指南(Hadoop叢集搭建)系統環境 準備工作 正式開工

轉載請注明出處:http://www.wangyongkui.com/hadoop-cdh5。

4台聯想r510伺服器,其中master節點4核心、8gb,其它節點雙核心、4gb。

網卡:100m。

共有硬碟6tb。

網絡環境内網。

centos6.5 x64(安裝系統時盡量把開發包安裝齊全,另master節點需要mysql可以在安裝系統時勾選)。

安裝好的centos系統有時會自動安裝openjdk,用指令java -version檢視:

1

java version “1.6.0”

2

openjdk runtime environment (build 1.6.0-b09)

3

openjdk 64-bit server vm (build 1.6.0-b09, mixed mode)

如有上述顯示,說明系統裡已經有openjdk,執行以下指令檢視系統中有哪些openjdk相關包:

rpm -qa | grep java

其中有如下包必須解除安裝,根據系統版本不同,各個包版本号會有所差異: java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64 執行以下指令,解除安裝:

rpm -e –nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64

rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

rpm -e –nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64

從官方網站上下載下傳rpm包,本次使用版本1.7.0_55-b13(cdh5可能支援1.7之前的版本,具體情況未經測試),執行指令:

rpm -ivh jdk-7u55-linux-x64.rpm

由于是rpm包并不需要我們來配置環境變量,我們隻需要配置一個全局的java_home變量即可,執行指令:

echo “java_home=/usr/java/latest/” >> /etc/environment

執行指令,檢視jdk是否安裝正确

java -version

javac -version

修改/etc/sysconfig/network檔案:

networking=yes

hostname=master.hadoop

networking_ipv6=no

4

gateway=192.168.64.1

其中hostname與主機名一緻。主機名如果跟系統安裝時不一緻請執行hostname指令讓其立即生效,否則會影響各節點互相通路。修改/etc/hosts檔案,添加:

192.168.1.101 master.hadoop

192.168.1.102 datanode1

192.168.1.103 datanode2

192.168.1.104 datanode3

執行指令:

service network restart

這裡master節點和其他datanode節點會略有差別。 首先說有節點均執行如下指令,遇到提示一路回車即可:

ssh-keygen -t rsa

然後在主節點執行以下指令:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

scp檔案到所有datenode節點:

scp ~/.ssh/authorized_keys root@datanode1:~/.ssh/

然後輸入密碼即可,以後再到其他機器就不需要密碼額。

防火牆會引起hadoop相關元件通訊的各種異常。 防火牆:

service iptables stop (臨時關閉)

chkconfig iptables off (重新開機後生效)

selinux:

setenforce 0 (臨時生效)

修改/etc/selinux/config 下的 selinux=disabled (重新開機後生效)。

叢集中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下:

master節點作為ntp伺服器與外界對時中心同步時間,随後對所有datanode節點提供時間同步服務。

所有datanode節點以master節點為基礎同步時間。

所有節點安裝相關元件:ntp與ntpdate。按順序安裝即可,完成後,配置開機啟動:

chkconfig ntpd on

檢查是否設定成功:

chkconfig –list ntpd

其中2-5為on狀态就代表成功。

在配置之前,先使用ntpdate手動同步一下時間,免得本機與對時中心時間差距太大,使得ntpd不能正常同步。這裡選用65.55.56.206作為對時中心。

ntdate -u 65.55.56.206

ntp服務隻有一個配置檔案,配置好了就ok。 這裡隻給出有用的配置,不需要的配置都用#注掉,這裡就不在給出:

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default nomodify notrap 

5

server 65.55.56.206 prefer

6

includefile /etc/ntp/crypto/pw

7

keys /etc/ntp/keys

配置檔案完成,儲存退出,啟動服務,執行如下指令:

service ntpd start

chkconfig ntpd on (設定開機啟動)

檢查是否成功,用ntpstart指令檢視同步狀态,出現以下狀态代表啟動成功:

synchronised to ntp server () at stratum 2

time correct to within 74 ms

polling server every 128 s

如果出現異常請等待幾分鐘,一般等待5-10分鐘才能同步。

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

server 192.168.1.101

8

ok儲存退出,請求伺服器前,請先使用ntpdate手動同步一下時間:

ntdate -u 192.168.1.101 (内網ntp伺服器)

這裡可能出現同步失敗的情況,請不要着急,一般是本地的ntp伺服器還沒有正常啟動,一般需要等待5-10分鐘才可以正常同步。啟動服務:

因為是連接配接内網,這次啟動等待的時間會比master節點快一些,但是也需要耐心等待一會兒。

隻需要配置master節點的mysql即可。(這裡不再介紹如何安裝mysql) 将mysql設定為開機啟動:

chkconfig mysqld on

本次安裝需要建立如下資料庫(不包括cloudera manager的資料庫,cloudera manager資料庫有相關腳本建立,後面會有說明)

–hive資料庫

create database hive default charset utf8 collate utf8_general_ci

–叢集監控資料庫

create database amon default charset utf8 collate utf8_general_ci

–hue資料庫

create database hue default charset utf8 collate utf8_general_ci

以上資料庫,可能會根據安裝元件的不同略有差别。 給使用者授權(這裡密碼設為hadoop)

grant all on *.* to root@”%” identified by “hadoop”;

useradd –system –home=/opt/cm-5.0.0/run/cloudera-scm-server –no-createhome –shell=/bin/false –comment “cloudera scm user” cloudera-scm

修改/opt/cm-5.0.0/etc/cloudera-scm-agent/config.ini 下面的serer_host

server_host=master.hadoop

為cloudera manager 5建立資料庫:

/opt/cm-5.0.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop –scm-host localhost scm scm scm

格式是:scm_prepare_database.sh 資料庫類型  資料庫 伺服器 使用者名 密碼  –scm-host  cloudera_manager_server所在的機器,後面那三個不知道代表什麼,直接照抄官網的了。 因為我們用的是mysql資料庫,是以我們需要下載下傳mysql的jdbc驅動,本次從官網上下載下傳最新穩定版:mysql-connector-java-5.1.30.tar.gz,解壓之後找到mysql-connector-java-5.1.30-bin.jar放到/opt/cm-5.0.0/share/cmf/lib/目錄下。 開啟cloudera manager 5 server端:

/opt/cm-5.0.0/etc/init.d/cloudera-scm-server start

注意server首次啟動不要立即關閉或重新開機,因為首次啟動會自動建立相關表以及資料,如果因為特殊原因中途退出,請先删除所有表以及資料之後再次啟動,否則将會出現啟動不成功的情況。 開啟cloudera manager 5 agents端。 先scp /opt/cm-5.0.0到所有datanode節點上,然後在每台機器上開啟agents端:

scp -r  /opt/cm-5.0.0 root@datanode1:/opt/cm-5.0.0

等待拷貝成功,在所有datanode節點上啟動:(注意必須以管理者權限啟動)

sudo /opt/cm-5.0.0/etc/init.d/cloudera-scm-agent start

浏覽器啟動cloudera manager 5 控制台(預設端口号是7180),啟動成功就會看到登陸頁面。

Cloudera Manager 5 和 CDH5 本地(離線)安裝指南(Hadoop叢集搭建)系統環境 準備工作 正式開工

在這個大括号的最下面找到“hash”所對應的值。

Cloudera Manager 5 和 CDH5 本地(離線)安裝指南(Hadoop叢集搭建)系統環境 準備工作 正式開工

将“hash”的值複制下來,然後建立一個檔案,檔案名與你的parel包名一緻,并加上.sha字尾:

Cloudera Manager 5 和 CDH5 本地(離線)安裝指南(Hadoop叢集搭建)系統環境 準備工作 正式開工

這樣你的目錄下将有這3個檔案,将“hash”的值複制到建立的sha檔案中,并儲存,好了,我們的本地源制作完成了。這樣基本大功告成了,再之後的操作就是控制台按照步驟安裝即可。

打開http://192.168.1.101:7180,登陸控制台,預設賬戶和密碼都是admin,安裝時選擇免費版,之後由于cm5對中文的支援很強大,按照提示安裝即可,如果系統配置有什麼問題在安裝過程中會有提示,根據提示給系統安裝元件就可以了。

如果在安裝時選擇了安裝hive,可能會遇到安裝失敗的問題,檢視一下日志發現時安裝hive時需要安裝jdbc驅動,是以同樣我們将mysql的驅動包拷貝到/opt/cloudera/parcels/cdh-5.0.0-1.cdh5.0.0.p0.47/lib/hive/lib/目錄下,之後再繼續安裝就不會遇到問題了。