1. 程式人生 > 其它 >通過ambari安裝hadoop叢集(一)

通過ambari安裝hadoop叢集(一)

    之前一直用的開源社群的版本,最近突然想到找一個好的商業版本用著,然後一直使用,然後就定上了hdp和cdh,都裝上去了,但是cdh使用難度太大了,和開源版本的差距比較大,api不會使用,需要學它的cdk。hdp和開源版差不多,也是經過了優化了的,也是開源的,有一個管理介面,比社群版要好,這個安裝過程廢了很大的勁兒才搞成功的,發出來跟大家分享一下。

    hdp的安裝摺騰了好久,它的下載地址網址不像CDH那麼難找,不過它的設定相對CDH簡單很多,一鍵式安裝,而且都是免費的軟體。

1.首先要下載它們的安裝包,別嘗試著在yum來下,特別慢,最好的方式是通過建立本地資源的方式來安裝。

http://public-repo-1.hortonworks.com/HDP/centos6/HDP-1.3.0.0-centos6-rpm.tar.gz

http://s3.amazonaws.com/public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.16/repos/centos6/HDP-UTILS-1.1.0.16-centos6.tar.gz

http://public-repo-1.hortonworks.com/ambari/centos6/ambari-1.2.5.17-centos6.tar.gz

2.建立本地資源庫 在var/www/html下建立一個hdp目錄,如果沒有的請先安裝httpd yum install httpd,把下到的三個檔案解壓完畢之後,複製到hdp目錄下,然後重啟httpd服務,用下面三個repo檔案裡面的baseurl地址來測試一下是否可以通過網址訪問了,然後準備三個檔案,hdp.repo,ambari.repo,hdp-util.repo 不要按照官方說的那個做,那個是會報錯的,我把我的放出來,大家自己照著弄,修改一下地址就行,然後把這三個檔案複製叢集中的所有機器的/etc/yum.repos.d/目錄下

下面我發一下他們的內容

hdp.repo

[HDP-1.3.0.0]
name=Hortonworks Data Platform Version - HDP-1.3.0.0
baseurl=http://192.168.1.133/hdp/HDP/centos6/1.x/GA/1.3.0.0
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=http://192.168.1.133/hdp/HDP-UTILS-1.1.0.16/repos/centos6
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

ambari.repo

[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=http://192.168.1.133/hdp/HDP-UTILS-1.1.0.16/repos/centos6
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[ambari-1.2.5.17]
name=ambari-1.2.5.17
baseurl=http://192.168.1.133/hdp/ambari/centos6/1.x/updates/1.2.5.17
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

hdp-util.repo

[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Version - HDP-UTILS-1.1.0.16
baseurl= http://192.168.1.133/hdp/HDP-UTILS-1.1.0.16/repos/centos6
gpgcheck=1
enabled=1
priority=1

3.安裝之前的準備工作

(1)設定ssh自動登陸,這個參照我寫的另外一篇ssh自動登陸的那個去做就行,網址是http://www.cnblogs.com/cenyuhai/p/3280668.html

(2)設定ntpd自動啟動,所有機器

chkconfig --level 5 ntpd on      
service ntpd start 

(3)禁用selinux,所有機器  

vi /etc/sysconfig/selinux 設定selinux=disabled  

(4)設定時間同步,所有機器

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  #設定時區為北京時間,這裡為上海,因為centos裡面只有上海。。。    
ntpdate us.pool.ntp.org  #時間同步

沒有安裝ntpdate的可以yum一下    yum install -y ntpdate   

加入定時計劃任務,每隔10分鐘同步一下時鐘   

crontab -e    

把下面的內容貼上進去儲存即可 

0-59/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP

 (5)修改/etc/hosts檔案,所有機器,設定如下:

192.168.1.133 hadoop.Master
192.168.1.134 hadoop.SlaveT1
192.168.1.135 hadoop.SlaveT2

4.修改配置檔案,所有機器

yum install yum-plugin-priorities 
vi /etc/yum/pluginconf.d/priorities.conf 
#設定為以下內容
[main] 
enabled=1 
gpgcheck=0 

5.安裝自定義的mysql服務

yum install -y mysql-server

安裝完成之後用root賬戶登陸,執行下列命令

create database hive ; 
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; 
create database oozie DEFAULT CHARACTER SET utf8; 
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';

如果mysql也裝在叢集中的某個機器上面,而且該服務也裝在這個臺機器上面。。比如我的hadoop.SlaveT1上面掛了hive服務,mysql也在它上面就會連線不上 還需要執行以下命令

grant all on hive.* TO 'hive'@'hadoop.SlaveT1' IDENTIFIED BY 'hive';

5.安裝ambari服務

yum install -y epel-release 
yum install ambari-server

//自己下載jdk-6u31-linux-x64.bin,放在/var/lib/ambari-server/resources下面 ,就免得它自己下了,速度老慢了。。

ambari-server setup

我的ambari資料庫賬號密碼全是ambari

安裝完畢之後啟動ambari服務 ambari-server start

登陸ambari,賬號密碼都是admin http://localhost:8080 然後開始安裝,安裝過程當中一定要注意jdk的目錄是/usr/jdk64/1.6.0_31,安裝的時候它預設給出來的jdk的不對,裝到最後叢集也用不了。。

未完待續!