4.設定主機/etc/hosts
設定所有主機設備 /etc/hosts, 假設有三台hadoop設備 範例:
- 10.0.1.4 hdp01
- 10.0.1.5 hdp02
- 10.0.1.6 hdp03
5.安裝Hortonworks Ambari Server
一、安裝Abmari repo
首先下載repo檔案至/etc/yum.repo.d路徑 ,其他Linux請連接
官方Hortonworks網站 repo
Ambari Server repo檔
wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.2/ambari.repo -O /etc/yum.repos.d/ambari.repo
HDP 2.3.2 repo檔
wget -nv http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.2.0/hdp.repo -O /etc/yum.repos.d/hdp.repo
如果需要透過local repo連接Abmar Server請安裝repolist, createrepo,httpd,不需要請下一步。
yum repolist `使用repo需要的套件`
yum install -y createrepo `使用createreop需要的套件`
yum install -y httpd
開始安裝Ambari Server
yum install -y ambari-server
注意:在安裝Abmari Server先前請安裝好java JDK,Abmari Server可自行指定java版本,如果不指定Abmari Server 安裝時請選擇open source java JDK
自行指定
[修改java版本]教學
二、設定Ambari Server JDBC
指定Ambari連接mysql jdbc套件。
這個很重要、很重要、非常很重要,如果沒設定Ambari將無法接連到mysql資料庫。(這問題我卡了一兩天 =.=")
yum install -y mysql-connector-java*
ls /usr/share/java/mysql-connector-java.jar `請將jar檔的權限為644`
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
三、開始安裝Abmari Server
ambari-server setup
執行前請先檢查mysql是否已設定完成
- WARNING: SELinux is set to 'permissive' mode and temporarily disabled. OK to continue [y/n] (n)?
請輸入 Y
- Customize user account for ambari-server daemon [y/n] (n)? y
請輸入: Y
- iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports. OK to continue [y/n] (y)?
請輸入: Y
請選擇需要安裝的java版本或是可以直接自行安裝JAVA版本
- [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
- [2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
- [3] Custom JDK
- Enter advanced database configuration [y/n] (n)?
請輸入: Y
選擇安裝Ambari Server儲存的資料庫,前面我們選擇Mysql所以我們是選擇3
Choose one of the following options:
- [1] - PostgreSQL (Embedded)
- [2] - Oracle
- [3] - MySQL
- [4] - PostgreSQL
- [5] - Microsoft SQL Server (Tech Preview)
- [6] - SQL Anywhere
接下來設定Ambari資料庫連接
- Hostname (localhost): localhost
- Port (3306): 3306
- Database name (ambari): ambari資料庫名稱
- Username (ambari): ambari登入名稱
- Enter Database Password (bigdata): ambari資料庫密碼
- Proceed with configuring remote database connection properties [y/n] (y)? y
請輸入: Y
最後顯示以下訊息你將安裝成功ambari-server
* Ambari Server 'setup' completed successfully.
使用MysqlWorkbench工具連接檢查是否有新增ambari資料庫。
**手動新增ambari 資料庫及資料表
mysql -u ambari -p 你的ambari密碼
create database ambari;
SHOW DATABASES;
use ambari
SOURCE /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
flush privileges;
exit
注意 Ambari-DDL-MySQL-CREATE.sql檔案放在 /var/lib/ambari-server/resources/
四、其他台設備安裝 Ambari-agent
首先將Ambari-server上的ambari.repo及hdp.rep,hdp-util.repo檔案複製到其他台設備。
*注意:使用loca reop 需要安裝httpd,其他台機器才可以連接到Abmari Server資料
的repo檔案
複製ambari,hdp,hdp-utils檔案至其他設備
scp /etc/yum.repos.d/hdp.repo 帳號@ip:/etc/yum.repos.d/ambari.repo
scp /etc/yum.repos.d/hdp.repo 帳號@ip:/etc/yum.repos.d/hdp.repo
scp /etc/yum.repos.d/hdp.repo 帳號@ip:/etc/yum.repos.d/hdp-utils.repo
其他設備安裝ambari-agent
yum install -y ambari-agent
設定Server讓agent連接server
vi /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=hdp01 `你的Abmari Server`
url_port=8440
secured_url_port=8441
五、建立Linux免密碼登入
在每一台hadoop設備輸入ssh-keygen建立key,將所有建立完成的key集中在Server ~/.ssh/authorized_keys 檔案內,使用scp將authorized_keys檔案複製到每一台hdp設備 ~/.ssh路徑
ssh-keygen
cat id_rsa.pub >> authorized_keys
scp ~/.ssh/authorized_keys root@:~/.ssh/authorized_keys
6.設定local repo連接
一、建立Ambari local
透過Ambari Server設備使用repo下載點,不需要每一天設備從網路上下載。
如果不設定repo每台機器是直接從網路下載資料,這將會浪費相當多的時間在下載資料,設定完成後,所有Client設備將會從Server端下載repo資料,減少下載時間。
首先在Server端安裝httpd,資料夾放的路徑為 /var/www/html。
yum install -y httpd
#建立資料夾
mkdir -p /var/www/html/ambari
cd /var/www/html/ambari
下載Ambari資料至var/www/html/abmari資料夾,並建立repo下載點。
reposync -r Updates-ambari-2.1.2
createrepo /var/www/html/ambari/Updates-ambari-2.1.2
二、修改Abmari repo檔案
下載完畢,首先修改Ambari.repo檔案,路徑為 /etc/yum.repos.d/,將repo url修改為Ambari Server IP即可。
vi /etc/yum.repos.d/ambari.repo
#VERSION_NUMBER=2.1.2-377
[Updates-ambari-2.1.2]
name=ambari-2.1.2 - Updates
baseurl=http:///ambari/updates/2.1.2
gpgcheck=0
enabled=1
priority=1
注意:Server需先安裝httpd,檔案放至路徑為/var/www/html/
三、建立HEP Local
建立hdp資料夾
mkdir -p /var/www/html/hdp
下載hdp repo local資料至var/www/html/hdp Server端
cd /var/www/html/hdp
reposync -r HDP-2.3.2.0
createrepo /var/www/html/hdp/HDP-2.3.2.0
四、修改hdp repo檔案
全部下載完畢後,修改hdp.repo檔案把url改成Ambari server ip位址,hdp.repo檔案包含hdp、hdp-utils資料,將原本的url修改成Ambari Server IP與gpgcheck修改為0。
vi /etc/yum.repos.d/hdp.repo
#VERSION_NUMBER=2.3.2.0-2950
[HDP-2.3.2.0]
name=HDP Version - HDP-2.3.2.0
baseurl=http://hdp/HDP-2.3.2.0
gpgcheck=0
enabled=1
priority=1
[HDP-UTILS-1.1.0.20]
name=HDP Utils Version - HDP-UTILS-1.1.0.20
baseurl=http://hdp/HDP-UTILS-1.1.0.20
gpgcheck=0
enabled=1
priority=1
五、複製repo至其他設備
修改完成repo檔案後,將ambari.repo與hdp.repo檔案copy至每一台hadoop設備路徑 /etc/yum.repos.d/ 資料夾裡面即可
scp /etc/yum.repos.d/hdp.repo 帳號@ip:/etc/yum.repos.d/ambari.repo
scp /etc/yum.repos.d/hdp.repo 帳號@ip:/etc/yum.repos.d/hdp.repo
scp /etc/yum.repos.d/hdp.repo 帳號@ip:/etc/yum.repos.d/hdp-utils.repo
7.安裝Ambari-Agent
將以上功能設定完畢後,開始安裝設備Agent,在每一天機器上安裝Ambari-agent,
yum install -y ambari-agent
注意:Server端也需要安裝,不然無法回傳資料給Server。
8.開始安裝HDInsight Cluster
首先將Server端Amabari起動,在將其他機器Agent起動即可。
ambari-server start
amabari-agent st
一、開起瀏覽器輸入網址http://localhlst:8080,ambari預設port為8080,輸入你設定帳號密碼。
二、點選右上角
launch install wizard
三、輸入ambari hdp名稱。
四、設定Server端Provide SSH Private key,讓Server可以直接連接Client不需要登入帳號密碼。
五、設定repo連接點,如果有使用repo loca,直接使用Server IP,如果沒有設定直接連接
Hortonworks官方網站repo。
六、安裝設備名稱,點選OK
七、檢查設備是否缺少套件,這需要一點時間,檢查完畢後將會顯示以下畫面
注意:在按下一步先前請點選Click here to see the check results, 檢查所有設備是否符合及其他設定。出現錯誤訊息請解決,否則在安裝時將會無法完成。
八、選擇需要安裝HDInsight套件
九、選擇將軟體安裝在那一台機器設備,將有關Master軟體安裝在前兩~三台。
十、選擇Slaves與Clients
十一、設定Hive、Ooiz、Accumlo、Knox帳號密碼。
十二、設定完成,下一步
十三、顯示Review 設定參數,下一步
十四、
Preparing to Deploy中....
十五、開始安裝HDInsight Cluster
十六、安裝完成,開起你的瀏覽器輸入http://localhost:8080,登入帳號密碼,起動所有設備即可。
問題解決:
在檢查過程當中遇到"The following hosts have Transparent HugePages (THP) enabled。THP should be disabled to avoid potential Hadoop performance issues."錯誤訊息。
解決方法,在Linux下執行:
echo never >/sys/kernel/mm/redhat_transparent_hugepage/defrag
echo never >/sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never >/sys/kernel/mm/transparent_hugepage/enabled
echo never >/sys/kernel/mm/transparent_hugepage/defrag
References: