CentOS-7.2安裝Ambari-2.4.2


一,Ambari 是什么?
  Ambari 跟 Hadoop 等開源軟件一樣,也是 Apache Software Foundation 中的一個項目,並且是頂級項目。目前最新的發布版本是 2.4.2。就 Ambari 的作用來說,就是創建、管理、監視 Hadoop 的集群,但是這里的 Hadoop 是廣義,指的是 Hadoop 整個生態圈(例如 Hive,Hbase,Sqoop,Zookeeper 等等),而並不僅是特指 Hadoop。用一句話來說,Ambari 就是為了讓 Hadoop 以及相關的大數據軟件更容易使用的一個工具。
  現在,大家應該知道什么人最需要Ambari了。那些苦苦花費好幾天去安裝、調試 Hadoop 的初學者是最能體會到 Ambari 的方便之處的。而且,Ambari 現在所支持的平台組件也越來越多,例如流行的 Spark,Storm 等計算框架,以及資源調度平台 YARN 等,我們都能輕松地通過 Ambari 來進行部署。
  Ambari 自身也是一個分布式架構的軟件,主要由兩部分組成:Ambari Server 和 Ambari Agent。簡單來說,用戶通過 Ambari Server 通知 Ambari Agent 安裝對應的軟件;Agent 會定時地發送各個機器每個軟件模塊的狀態給 Ambari Server,最終這些狀態信息會呈現在 Ambari 的 GUI,方便用戶了解到集群的各種狀態,並進行相應的維護。

二,Ambari安裝詳解(在線安裝)

1.安裝准備
  關於 Ambari 的安裝,目前網上能找到兩個發行版,一個是 Apache 的 Ambari,另一個是 Hortonworks 的,兩者區別不大。安裝 Ambari 最方便的方式就是使用公共的庫源(public repository)。這個不是重點,所以不在此贅述,下面只給出安裝思路,注重說下離線安裝。

  在進行具體的安裝之前,需要做幾個准備工作。
  

  SSH 的無密碼登錄;
  Ambari 的 Server 會 SSH 到 Agent 的機器,拷貝並執行一些命令。因此我們需要配置 Ambari Server 到 Agent 的 SSH 無密碼登錄。在這個例子里,namenode 可以 SSH 無密碼登錄datanode1,datanode2,SecondNamenode。
  

  確保 Yum 可以正常工作;
  通過公共庫(public repository),安裝 Hadoop 這些軟件,背后其實就是應用 Yum 在安裝公共庫里面的 rpm 包。所以這里需要您的機器都能訪問 Internet。
 

  確保 home 目錄的寫權限。
  Ambari 會創建一些 OS 用戶(我安裝ambari的時候使用root用戶以避免權限問題)。

2.首先需要獲取 Ambari 的公共庫文件(public repository)。

  登錄到 Linux 主機並執行下面的命令(也可以自己手工下載):

 1 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo


  將下載的 ambari.repo 文件拷貝到 Linux 的系統目錄/etc/yum.repos.d/。拷貝完后,我們需要獲取該公共庫的所有的源文件列表。依次執行以下命令。

1 yum clean all
2 yum list|grep ambari

  如果可以看到 Ambari 的對應版本的安裝包列表,說明公共庫已配置成功。然后就可以安裝 Ambari 的 package 了。執行下面的命令安裝 Ambari Server 到該機器。

1 yum install ambari-server

  待安裝完成后,便需要對 Ambari Server 做一個簡單的配置。執行下面的命令。

1 amari-server setup

  在這個交互式的設置中,采用默認配置即可。Ambari 會使用 Postgres 數據庫,默認會安裝並使用 Oracle 的 JDK。默認設置了 Ambari GUI 的登錄用戶為 admin/admin。並且指定 Ambari Server 的運行用戶為 root。
  簡單的 setup 配置完成后。就可以啟動 Ambari 了。運行下面的命令。

1 ambari-server start

  當成功啟動 Ambari Server 之后,便可以從瀏覽器登錄,默認的端口為 8080。以本文環境為例,在瀏覽器的地址欄輸入 http://www.namenode.zgw:8080,登錄密碼默認為 admin/admin。Ambari的在線安裝相對比較簡單,在此就不太詳細敘述,有什么不清楚的可以看下下面的離線安裝。



三,Ambari安裝詳解(離線安裝)

1.安裝環境說明
  安裝ambari前先安裝好 Centos 7.2並更新。要確保之前沒有安裝過Ambari,並且沒有搭建過hadoop環境。我的四台CentOS7.2如下:

namenode,datanode1,datanode2,SecondNamenode。均是新安裝的系統,未做任何設置。
2.操作系統環境准備
  2.1 配置SSH免密碼登錄
  主節點(namenode)里root用戶登錄執行如下步驟:
  

1 ssh-keygen

  一路回車鍵,直到結束。然后復制key到各節點,注意不要漏掉主節點。  

1 ssh-copy-id 192.168.190.21    
2 ssh-copy-id 192.168.190.22   3 ssh-copy-id 192.168.190.23    4 ssh-copy-id 192.168.190.24   


  2.2 創建ambari系統用戶和用戶組(只在主節點操作)
  添加ambari安裝、運行用戶和用戶組,也可以不創建新用戶,直接使用root或者系統其他賬號

1 adduser ambari
2 passwd ambari

  

  2.3 開啟NTP服務(所有集群上節點都需要操作)

1 yum  install ntp
2 systemctl is-enabled ntpd
3 systemctl enable ntpd
4 systemctl start ntpd

  

  2.4 檢查DNS和NSCD(所有節點都要設置)
  ambari在安裝時需要配置全域名,所以需要檢查DNS。在節點里用 Name Service Caching Daemon (NSCD)

1 vi /etc/hosts
1 192.168.190.21    namenode    www.namenode.zgw
2 192.168.190.22    datanode1    www.datanode1.zgw
3 192.168.190.23    datanode2    www.datanode2.zgw
4 192.168.190.24    SecondNamenode    www.SecondNamenode.zgw

  每台節點里配置FQDN,如下以主節點為例

1 vi /etc/sysconfig/network
1 NETWORKING=yes
2 HOSTNAME=www.namenode.zgw


  2.5 關閉防火牆(最簡單粗暴的方式,也可以不關閉防火牆,給需要的應用開方端口。所有節點都要設置)

1 systemctl disable firewalld
2 systemctl stop firewalld 


  2.6 關閉SELinux(所有節點都要設置)
  查看SELinux狀態:

1 sestatus

  如果SELinux status參數為enabled即為開啟狀態

1 SELinux status: enabled

  臨時關閉,不用重啟機器:

1 setenforce 0

  修改配置文件需要重啟機器:

1 vi /etc/sysconfig/selinux
1 SELINUX=disabled


3.制作本地源
  制作本地源只需在主節點上進行即可。

  3.1安裝 Apache HTTP 服務器
  安裝HTTP 服務器,允許 http 服務通過防火牆(永久)。

1 yum install httpd
2 firewall-cmd --add-service=http
3 firewall-cmd --permanent --add-service=http

  添加 Apache 服務到系統層使其隨系統自動啟動。

1 systemctl start httpd.service
2 systemctl enable httpd.service


  3.2 安裝本地源制作相關工具

1 yum install yum-utils createrepo


  3.3下載安裝資源
  下載 Ambari 2.4.2 , HDP 2.5.3 的安裝資源,本次安裝是在Centos 7 上,只列出centos7的資源,其他系統的請現在對用系統的資源。

  Ambari 2.4.2 下載資源:

1 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo
2 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari-2.4.2.0-centos7.tar.gz

  HDP 2.4.2 下載資源:

1 wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.3.0/hdp.repo
2 wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.3.0/HDP-2.5.3.0-centos7-rpm.tar.gz
3 wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

  在httpd網站根目錄,默認是即/var/www/html/,創建目錄ambari,並且將下載的壓縮包解壓到/var/www/html/ambari目錄。

1 cd /var/www/html/
2 mkdir ambari
3 cd ambari/
1 tar -zxvf ambari-2.4.2.0-centos7.tar.gz -C /var/www/html/ambari/
2 tar -zxvf HDP-2.5.3.0-centos7-rpm.tar.gz -C /var/www/html/ambari/
3 tar -zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz -C /var/www/html/ambari/

  驗證http網站是否可用,可以使用links 命令或者瀏覽器直接訪問下面的地址:

1 links http://192.168.190.21/ambari/

  結果如下:


  3.4 配置ambari、HDP、HDP-UTILS的本地源
  首先下載上面資源列表中的相應repo文件,修改其中的URL為本地的地址,相關配置如下:

1 vim ambari.repo
1 #VERSION_NUMBER=2.4.2.0-136
2 
3 [Updates-ambari-2.4.2.0]
4 name=ambari-2.4.2.0 - Updates
5 baseurl=http://namenode/ambari/AMBARI-2.4.2.0/centos7/2.4.2.0-136/
6 gpgcheck=1
7 gpgkey=http://namenode/ambari/AMBARI-2.4.2.0/centos7/2.4.2.0-136/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
8 enabled=1
9 priority=1
1 vim hdp.repo
 1 #VERSION_NUMBER=2.5.3.0-37
 2 [HDP-2.5.3.0]
 3 name=HDP Version - HDP-2.5.3.0
 4 baseurl=http://namenode/ambari/HDP/centos7
 5 gpgcheck=1
 6 gpgkey=http://namenode/ambari/HDP/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
 7 enabled=1
 8 priority=1
 9 
10 
11 [HDP-UTILS-1.1.0.21]
12 name=HDP-UTILS Version - HDP-UTILS-1.1.0.21
13 baseurl=http://namenode/ambari/HDP-UTILS-1.1.0.21/repos/centos7/
14 gpgcheck=1
15 gpgkey=http://namenode/ambari/HDP-UTILS-1.1.0.21/repos/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
16 enabled=1
17 priority=1

  將上面的修改過的源放到/etc/yum.repos.d/下面。

1 mv ambari.repo /etc/yum.repos.d/
2 mv hdp.repo /etc/yum.repos.d/

  然后更新yum。

1 yum clean all
2 yum list update
3 yum makecache
4 yum repolist


  3.5 安裝Mysql數據庫
  Ambari安裝會將安裝等信息寫入數據庫,建議使用自己安裝的MySQL數據庫,也可以不安裝而使用默認數據庫PostgreSQL。
  Mysql數據庫安裝過程如下:
  3.5.1. 下載mysql的repo源(CentOS 7.2的yum源中默認沒有mysql,要先下載mysql的repo源

1 wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

  3.5.2. 安裝mysql57-community-release-el7-8.noarch.rpm包

1 rpm -ivh mysql57-community-release-el7-8.noarch.rpm  --nodeps --force

  安裝這個包后,會獲得兩個mysql的yum repo源:

1 /etc/yum.repos.d/mysql-community.repo
2 
3 /etc/yum.repos.d/mysql-community-source.repo

  3.5.3.安裝mysql

1 yum install mysql-server

  3.5.4. 啟動mysql服務
  查看MySQL服務是否已啟動:

1 service mysqld status

  啟動服務:

1 systemctl start mysqld


  3.5.5. 重置root密碼
  MySQL5.7會在安裝后為root用戶生成一個隨機密碼,而不是像以往版本的空密碼。 可以安全模式修改root登錄密碼或者用隨機密碼登錄修改密碼。下面用隨機密碼方式
MySQL為root用戶生成的隨機密碼通過mysqld.log文件可以查找到:

1 grep 'temporary password' /var/log/mysqld.log

  修改root用戶密碼:(MySQL的密碼策略比較復雜,過於簡單的密碼會被拒絕)

1 mysql -u root -p
2 mysql> Enter password: (輸入剛才查詢到的隨機密碼)
3 mysql> SET PASSWORD FOR 'root'@'localhost'= "Zgw-123";
4 mysql> exit

  用root新密碼登錄:

1 mysql -u root -pZgw-123

  如果上面的方式不能修改可以使用下面安全模式修改root:
  關閉服務:

1 systemctl stop mysqld.service
2 vi /etc/my.cnf

  mysqld下面添加skip-grant-tables 保存退出啟動服務。

1 systemctl start mysqld.service
1 mysql -u root #不用密碼直接回車
2 use mysql
3 update user set authentication_string=password('Zgw-123') where User='root' and Host='localhost';
4 flush privileges;
5 exit;
6 vi /etc/my.cnf #把 skip-grant-tables 一句刪除保存退出重啟mysql服務
7 systemctl restart mysqld.service

  再次登錄即可:

1 mysql -uroot -pZgw123

  如果進行操作出現下面的提示:

1 You must reset your password using ALTER USER statement before executing this statement.

  就再設置一遍密碼:

1 set password = password('Zgw-123');


  3.5.6. 開放3306端口
  允許使用用戶名root密碼Root-123456從任何主機連接到mysql服務器。

1 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Zgw-123' WITH GRANT OPTION;
2 mysql>FLUSH PRIVILEGES;
3 mysql>exit;

  開啟防火牆mysql 3306端口的外部訪問:

1 firewall-cmd --zone=public --add-port=3306/tcp --permanent
2 firewall-cmd --reload

  安裝完成后創建ambari數據庫及用戶,登錄root用戶執行下面語句:

1 create database ambari character set utf8 ; 
2 CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
3 GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
4 FLUSH PRIVILEGES;

  如果要安裝Hive,再創建Hive數據庫和用戶 再執行下面的語句:

1 create database hive character set utf8 ; 
2 CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';
3 GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
4 FLUSH PRIVILEGES;

  如果要安裝Oozie,再創建Oozie數據庫和用戶 再執行下面的語句:

1 create database oozie character set utf8 ;  
2 CREATE USER 'oozie'@'%'IDENTIFIED BY 'Oozie-123';
3 GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
4 FLUSH PRIVILEGES;

  安裝mysql jdbc 驅動:

1 yum install mysql-connector-java

  3.6 安裝JDK
  安裝解壓版JDK,先到官網下載jdk-8u121-Linux-x64.tar.gz ,再執行下面命令:

1 tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt/
2 ln -snf  /opt/jdk1.8.0_121 /opt/jdk
1 vim /etc/profile
1 #JAVA_SET
2 export JAVA_HOME=/opt/jdk
3 export JRE_HOME=/opt/jre
4 export CLASSPATH=$JAVA_HOME/lib
5 export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

4.進行安裝Ambari
  4.1 安裝Ambari2.4.2
  4.1.1安裝Ambari

1 yum install ambari-server

(如果提示找不到KEY,則執行如下命令:rpm --import /var/www/html/ambari/AMBARI-2.4.2.0/centos7/2.4.2.0-460/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins )

  4.1.2配置Ambari

1 ambari-server setup

  下面是配置執行流程,按照提示操作:
  1.檢查SELinux是否關閉,如果關閉不用操作。

1 Using python  /usr/bin/python
2 Setup ambari-server
3 Checking SELinux...
4 SELinux status is 'disabled'

  2.提示是否自定義設置。輸入:y。

1 Customize user account for ambari-server daemon [y/n] (n)? y

  3.ambari-server 賬號。輸入:ambari。

1 Enter user account for ambari-server daemon (root):ambariAdjusting ambari-server permissions and ownership...

  4.檢查防火牆,如果關閉則不用操作。

1 Checking firewall status...
2 Redirecting to /bin/systemctl status  iptables.service
1   5.設置JDK。輸入:32 Checking JDK...Do you want to change Oracle JDK [y/n] (n)? y
3 [] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
4 [] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
5 [] Custom JDK
6 ==============================================================================
7 Enter choice (1): 3

  6.如果上面選擇3自定義JDK,則需要設置JAVA_HOME。輸入:

1 /opt/jdk
1 WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.Path to JAVA_HOME: /opt/java/jdk1.8.0_121Validating JDK on Ambari Server...done.Completing setup...

  7.數據庫配置。選擇:y。

1 Configuring database...Enter advanced database configuration [y/n] (n)? y

  8.選擇數據庫類型。輸入:3。

1 Configuring database...==============================================================================
2 Choose one of the following options:
3 [1] - PostgreSQL (Embedded)
4 [2] - Oracle
5 [3] - MySQL
6 [4] - PostgreSQL
7 [5] - Microsoft SQL Server (Tech Preview)
8 [6] - SQL Anywhere==============================================================================
9 Enter choice (3): 3

  9.設置數據庫的具體配置信息,根據實際情況輸入,如果和括號內相同,則可以直接回車。

1 Hostname (localhost):
2 Port ():
3 Database name (ambari):
4 Username (ambari):
5 Enter Database Password (Ambari-123): 

  10.提示必須安裝MySQL JDBC,回車結束ambari配置。

1 WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java.
2 Press <enter> to continue.

  11.將Ambari數據庫腳本導入到數據庫。
  如果使用自己定義的數據庫,必須在啟動Ambari服務之前導入Ambari的sql腳本。用Ambari用戶(上面設置的用戶)登錄mysql

1 mysql -uambari -p
2 use ambari
3 source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

  4.1.3啟動Amabri。
  執行啟動命令,啟動Ambari服務:

1 ambari-server start

  成功啟動后在瀏覽器輸入Ambari地址:

1 http://www.namenode.zgw:8080/

出現登錄界面,默認管理員賬戶登錄, 賬戶:admin 密碼:admin。

 


  登錄成功后出現下面的界面,至此Ambari的安裝成功。

 



  4.2 安裝安裝HDP 2.4.2 配置集群。(由於安裝過程時沒有打算寫博客,所以沒有截圖,以后再次安裝的時候一定截圖補上)
   點擊上面登錄成功頁面的Launch Install Wizard 按鈕進行集群配置。
   4.2.1設置集群名稱;
  4.2.2設置HDP 安裝源;
   選擇HDP2.4 ,並且設置Advanced Repository Options 的信息,本次使用本地源,所以修改對用系統的安裝源為本地源地址。
   4.2.3設置集群機器;
   4.2.4 Host 確認;
   確認前面配置集群中hosts列表 中的機器是否都可用,也可以移除相關機器,集群中機器Success后進行下一步操作。
   4.2.5 選擇要安裝的服務;
  4.2.6各個服務Master配置 ;
  4.2.6 服務的Slaves 和 Clients節配置 ;
  4.2.7 服務的客制化配置 (如果hive連接mysql失敗,則執行:ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar);
  4.2.8 顯示配置信息 ;
  4.2.9開始安裝;
   安裝各個服務,並且完成安裝后會啟動相關服務,安裝過程比較長,如果中途出現錯誤,請根據具體提示或者log進行操作。
   安裝過程可以隨時查看每個節點的安裝進度及日志 。
  4.2.10安裝完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM