如何搭建CDH集群環境?
網線若干
打算配置三個節點規模的集群,所以計劃集群用1一個namenode。本篇文章介紹如何在一個計算機集群上搭建Hadoop平台。hadoop的主體用java語言寫成,能夠在任意一個安裝了jvm(Java Virtual Machine)(Java虛擬機)的平台上運行。第一部分:系統準備篇
集群規範:
1. 給伺服器裝linux系統:統一安裝版本centos 6.5 64bits 2. 安裝java環境:查看系統安裝的java版本:rpm -qa|grep jdk rpm -qa | grep java rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64yum -y remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686 或者
rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686 修改環境變數:vim /etc/profile,增加如下內容: export JAVA_HOME=/usr/java/jdk1.8.0_25 export CLASSPATH=.:JAVAHOME/jre/lib/rt.jar:JAVA_HOME/lib/dt.jar: JAVAHOME/lib/tools.jarexportPATH=PATH:$JAVA_HOME/bin 使用java -version 查看java是否安裝正確 安裝java 輸入指令:java -version 檢查java是否被正確安裝[root@hadoop-02 ~]# java -versionnjava version "1.7.0_80"nJava(TM) SE Runtime Environment (build 1.7.0_80-b15)nJava HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)n
3.SSH配置實現免密碼登錄節點
(關鍵是把datanode的authorized_keys追加到namenode的authorized_keys中)hadoop控制腳本依賴ssh來執行針對整個集群的操作,因此為了支持無縫工作,建議安裝ssh。安裝完畢以後,就能夠使得hadoop集群節點之間無需鍵入密碼即可登錄集群內的機器,進行集群配置,主要有以下幾步:
a) 在控制台運行ps –e | grep ssh,如果看到sshd則表示ssh-server已經啟動了,跳過b),直接到c)進行操作;否則,進行b)操作; b) 運行sudo apt-get install openssh-server(伺服器)sudo apt-get install openssh-client(客戶端),進行安裝。命令執行結束後,可以使用a)方法進行驗證; c)生成RSA公私鑰,實現節點之間無密碼訪問(使得集群的安裝環境儘可能一致,可以減少很多配置步驟,因此我們都在root許可權下面進行配置): I) 在master上使用root許可權登陸系統,並進入/root/.ssh
目錄,運行命令ssh-keygen –t rsa,敲回車到底(為操作方便我們選擇不要密碼),生成id_rsa,id_rsa.pub; II) master使用scp命令將公鑰遠程複製到salve1和slave2: 複製到slave1:scp -r id_rsa.pub root@slave1:/root/.ssh 複製到slave2:scp -r id_rsa.pub root@slave2:/root/.ssh III) 在slave1和slave2下,將master 傳過來的公鑰添加到 authorized_keys:cat id_rsa.pub >> authorized_keys IV) 至此,master到slave1和slave2即實現了無密碼登陸
第二部分:安裝CDH(Cloudera Distribution Hadoop)管理端1.Cloudera的CDH和Apache的Hadoop的區別
Hadoop遵從Apache開源協議,用戶可以免費地任意使用和修改Hadoop,也正因此,市面上出現了很多Hadoop版本,其中比較出名的一是Cloudera公司的發行版,我們將該版本稱為CDH(Cloudera Distribution Hadoop)。 本文講解了在CentOS 6環境下搭建本地Yum軟體源,區域網內的用戶在完全不連互聯網的情況下,完成CM的安裝。讓安裝CM的用戶體驗到一路next,然後finish的順暢感,速度是用戶的第一體驗。2.CDH支持Yum/Apt包,Tar包,RPM包,Cloudera Manager四種方式安裝,Apache hadoop只支持Tar包安裝 3.CDH使用推薦的Yum/Apt包安裝時,有以下幾個好處: a、聯網安裝、升級,非常方便 ,自動下載依賴軟體包 b、Hadoop生態系統包自動匹配,不需要你尋找與當前Hadoop匹配的Hbase,Flume,Hive 等軟體,Yum/Apt會根據當前安裝Hadoop版本自動尋找匹配版本的軟體包,並保證兼性。 c、自動創建相關目錄並軟鏈到合適的地方(如conf和logs等目錄);自動創建hdfs, mapred用戶,hdfs用戶是HDFS的最高許可權用戶,mapred用戶則負責mapreduce執行過程中相關目錄的許可權4.檢查是否存在httpd服務:service httpd status
yum install httpd ,CentOS6默認安裝了httpd,啟動:service httpd start httpd常用命令如下,供參考:啟動命令:service httpd start
關閉命令:service httpd stop 重啟命令:service httpd restart 查看狀態:service httpd status下載地址:Index of /cm5/repo-as-tarball/5.2.0Cd /home/soft/cloudera (cm5.2.0-centos6.tar.gz存儲的目錄)解壓:tar -zxvf cm5.2.0-centos6.tar.gz cd /var/www/html ,創建相關目錄:mkdir -p cm5/redhat/6/x86_64cd cm5/redhat/6/x86_64mv /home/soft/cloudera/cm .chmod -R ugo+rX cm
訪問http://<hostname>/cm5/redhat/6/x86_64/cm/,測試文件索引頁面是否正常,如果頁面空白或者為You dont have permission to access,請檢查準備工作中的防火wget是否關閉。5.離線安裝ClouderanManager 5
在安裝manager的機器上首先安裝postgresql,用在存儲manager的管理信息,postgresql的下載地址: http://yum.postgresql.org/8.4/redhat/rhel-6-x86_ 6 4/repoview/n上下載postgresql8.4的包,需要下載三個包:
postgresql84-libs-8.4.21-1PGDG.rhel6.x86_64.rpm postgresql84-8.4.21-1PGDG.rhel6.x86_64.rpm postgresql84-server-8.4.21-1PGDG.rhel6.x86_64.rpm 然後依次安裝,安裝命令為:rpm -ivh +文件名稱postgresql包說明,供參考:postgresql包含許多不同的包,包括第三方類庫,通常安裝最重要的包即可(能滿足大部分應用需求)。這些包如下:
postgresql - 客戶端類庫及二進位文件postgresql-server - 核心的資料庫伺服器postgresql-contrib - 附加的供應組件postgresql-devel - 用戶C語言開發的類庫和頭文件pgadmin3 - 資料庫圖像化管理工具第三版Cd /etc/yum.repos.d/,刪除下面的所有文件,或者改下repo的後綴,新建文件myrepo.repo,內容如下,這樣的話,系統就會在本地讀取安裝資源信息。
[myrepo]name=myrepobaseurl=http://172.31.151.59/cm5/redhat/6/x86_64/cm/5/enabled=1
gpgcheck=0Ip為222.12.151.197 的機器名為http://archive.cloudera.com,並在各個機器上的/etc/hosts文件中6.下載CM5安裝文件
從 http://archive-primary.cloudera.com/cm5/installer/?;下載:cloudera-manager-installer.bin 實際上是安裝引導文件,在安裝過程中動態下載安裝中需要的rpm包。7.安裝CM5
給 cloudera-manager-installer.bin 添加可執行許可權:chmod +x cloudera-manager-installer.bin 進行安裝:./cloudera-manager-installer.bin彈出安裝圖形界面,一路next、accept就可以了,最後出現下面的提示框,讓你訪問 http://localhost:7180/,就說明已經安裝成功了。
第三部分:安裝Hadoop以及相關服務
ClouderanManager有GUI管理CDH集群,跟著嚮導安裝步驟。由於需要對Hive,HBase,Impala,Spark進行功能測試,就採用 了Cloudera Manager方式進行安裝。ClouderanManager提供兩種軟體包安裝源,Packagen和 Parcel:Package就是一個個rpm文件,我們採用yum的方式來組織。
用rpm包安裝,目錄都是默認的比較規範 用root用戶: rpm -ivh /opt/colud/hadoop-1.2.1-1.x86_64.rpm。通過CM可以更快地搭建環境,你需要做的就是添加服務,CM5將hadoop集群管理的複雜度大大降低。另外在安裝hive的時候要記得將hive元資料庫的密碼記下來。推薦閱讀:
※hadoop web管理Hue,Ambari 和CM 的區別是什麼?
※有什麼方案可以代替 Impala?
※Spark可以完全替代hadoop嗎?
※SparkSQL中的Sort實現(二)
※Hadoop和Spark的異同