阿里雲服務器搭建及安裝Ambari環境

實驗報告 第四組

服務器搭建及安裝Ambari環境

  • Ambari簡介

    Ambari 跟 Hadoop 等開源軟件一樣,也是 Apache Software Foundation 中的一個項目。 Ambari的作用就是創建、管理、監視 Hadoop 的集羣,但是這裏的 Hadoop 是廣義,指的是 Hadoop 整個生態圈(例如 Hive,Hbase,Spark,Kafka,Zookeeper 等),而並不僅是特指 Hadoop。用一句話來說,Ambari 就是爲了讓 Hadoop 以及相關的大數據軟件更容易使用的一個工具。

    Ambari 自身也是一個分佈式架構的軟件,主要由兩部分組成:Ambari Server 和 Ambari Agent。簡單來說,用戶通過 Ambari Server 通知 Ambari Agent 安裝對應的軟件;Agent 會定時地發送各個機器每個軟件模塊的狀態給 Ambari Server,最終這些狀態信息會呈現在 Ambari 的 GUI,方便用戶瞭解到集羣的各種狀態,並進行相應的維護。

  • 集羣介紹

    三臺2V CPU 16GB內存 1Gbps內網速度 40G硬盤空間的服務器,分別命名爲

    master	內網IP:172.26.191.114 外網IP:39.98.45.52
    node1	內網IP:172.26.191.113
    node2	內網IP:172.26.191.112
    
  • 配置服務器Ambari環境

    a) 修改機器名、Hosts文件

    查看當前的Hostname:

    # hostname
    

    修改Hostname:(以master爲例)

    # hostnamectl set-hostname master
    

    修改每一臺機器上的/etc/hosts文件:

    # vim /etc/hosts
    172.26.191.114     master
    172.26.191.113     node1
    172.26.191.112     node2
    

    修改完以後,重啓每一臺機器。

    b) 設置ntpd自動啓動,所有機器

    沒有安裝ntpd的機器,用yum命令安裝一下:

    # yum install -y ntp
    

    設置服務開機啓動:

    # systemctl enable ntpd
    

    啓動服務:

    # systemctl start ntpd
    

    c) 設置時間同步,所有機器

    # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    # ntpdate us.pool.ntp.org
    

    d) 關閉Selinux,所有機器

    # vim /etc/sysconfig/selinux
    selinux=disalbed
    

    e) 關閉防火牆

    # systemctl stop firewalld
    # systemctl disable firewalld
    

    f) 製作集羣的SSH免密碼登錄

    在master上創建密鑰:

    # ssh-keygen -t rsa
    

    一路Enter到密鑰生成

    進入~/.ssh目錄,查看密鑰文件:

    私鑰:id_rsa
    公鑰:id_rsa.pub

    切換到node1等機器上,創建~/.ssh目錄

    # mkdir ~/.ssh
    

    從master上,發送公鑰給目標服務器:

    # scp ~/.ssh/id_rsa.pub node1:/root/.ssh/authorized_keys_from_master
    # scp ~/.ssh/id_rsa.pub node2:/root/.ssh/authorized_keys_from_master
    

    在被登錄的服務器上,合併公鑰:

    # cd ~/.ssh
    # cat authorized_keys_from_ambari >> authorized_keys
    

    對所有服務器上的.ssh目錄和文件授權:

    # chmod 700 ~/.ssh
    # chmod 600 ~/.ssh/*
    

    在master上驗證SHH可以免密碼登錄目標服務器:

    # ssh hadoop.namenode
    

    如果無需輸入密碼,且用hostname命令查看到正確的主機名,則表示配置免密碼登錄成功;

    如果仍需要輸入密碼,則不成功;如果不成功,先嚐試權限修改;如果仍不成功,則要刪除密鑰再做一次。

  • 安裝JDK1.8

    下載JDK 1.8.0.tar.gz文件,解壓:

    # wget -c https://download.oracle.com/otn/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
    # mkdir /usr/local/jdk
    # tar -xvf jdk-8u131-linux-x64.tar.gz -C /usr/local/jdk/
    

    配置環境變量,添加以下內容:

    # vim /etc/profile
    #java
    export JAVA_HOME=/usr/local/jdk/jdk1.8.0_131
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    

    執行以下語句,使環境變量立刻生效:

    # source /etc/profile
    

    驗證Java安裝成功:

    # java -version
    
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
    
  • 安裝MySQL

    Ambari安裝會將安裝等信息寫入數據庫,建議使用自己安裝的MySQL數據庫,也可以不安裝而使用默認數據庫PostgreSQL。

    Mysql數據庫安裝過程如下:

    下載mysql的repo源(CentOS 7.2的yum源中默認沒有mysql,要先下載mysql的repo源):

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

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

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

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

    # cd /etc/yum.repos.d
    # ls -l
    

    確認存在下列兩個repo源文件:

    mysql-community.repo
    mysql-community-source.repo
    

    安裝mysql:

    # yum install -y mysql-server
    

    啓動mysql服務,查看MySQL服務是否已啓動:

    # systemctl start mysqld
    # service mysqld status
    

    重置root密碼:

    MySQL5.7會在安裝後爲root用戶生成一個隨機密碼,而不是像以往版本的空密碼。 可以安全模式修改root登錄密碼或者用隨機密碼登錄修改密碼。

    下面用隨機密碼方式:

    MySQL爲root用戶生成的隨機密碼通過mysqld.log文件可以查找到:

    # grep 'temporary password' /var/log/mysqld.log
    # mysql -u root -p
    mysql> Enter password: #(輸入剛纔查詢到的隨機密碼)
    

    修改root用戶密碼:(MySQL的密碼策略比較複雜,過於簡單的密碼會被拒絕)。首先修改安全策略,避免過於簡單的密碼被拒絕:

    mysql> set global validate_password_policy=0;
    mysql> set global validate_password_length=4;
    

    重置用戶密碼:

    mysql> alter user 'root'@'localhost' identified by 'root-1234';
    

    完成後,保存退出:

    mysql> flush privileges;
    mysql> quit;
    

    使用剛剛設置的新密碼登錄:

    # mysql -u root -p
    
    mysql> use mysql;
    如果進行操作出現下面的提示:
    You must reset your password using ALTER USER statement before executing this statement. 
    
    就再設置一遍密碼:
    mysql> set password = password('root-1234');
    

    開放3306端口

    允許使用用戶名root密碼root-1234從任何主機連接到mysql服務器。

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ' root-1234' WITH GRANT OPTION;
    mysql> FLUSH PRIVILEGES;
    

    安裝mysql jdbc 驅動:

    # yum install -y mysql-connector-java
    
  • 創建必要的數據庫和數據庫用戶

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

    mysql> create database ambari character set utf8;
    mysql> CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari-1234';
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
    mysql> FLUSH PRIVILEGES;
    

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

    mysql> create database hive character set utf8;
    mysql> CREATE USER 'hive'@'%' IDENTIFIED BY 'hive-1234';
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
    mysql> FLUSH PRIVILEGES;
    

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

    mysql> create database oozie character set utf8;
    mysql> CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie-1234';
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
    mysql> FLUSH PRIVILEGES; 
    
  • 下載Ambari的資源

    下載HortWorks官網上的3個庫到本地(也可以在線下載,但是速度會很慢)。

    我們先把hortworks官網上需要下載的3個庫下載到本地(這個還是需要很長時間的,當然你也可以在線下載,通過wget但是由於文件比較大,所以下載會非常慢)然後把他上傳到我們的鏡像服務器上。

    三個庫分別爲:

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

    http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz

    http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.0.0/HDP-2.4.0.0-centos7-rpm.tar.gz

    下載之後,在master上配置httpd服務:

    # yum install -y httpd
    

    把下載到的3個資源文件,上傳到master,並解壓到指定目錄:

    # mkdir /var/www/html/ambari-hdp
    
    # mkdir /var/www/html/ambari-hdp/HDP-UTILS
    
    # tar -xvf ambari-2.2.1.0-centos7.tar.gz -C /var/www/html/ambari-hdp/
    # tar -xvf HDP-2.4.0.0-centos7-rpm.tar.gz -C /var/www/html/ambari-hdp/
    # tar -xvf HDP-UTILS-1.1.0.20-centos7.tar.gz -C /var/www/html/ambari-hdp/HDP-UTILS
    

    啓動httpd服務:

    # systemctl start httpd
    

    通過瀏覽器訪問本地資源地址,如果能看到以下頁面,則表示配置成功:
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3VQ3vXO8-1577503163067)(F:\堅果雲\各種報告\大數據基礎\center實驗報告 劉浩壯部分center.assets\img_367c6195b7891296075c9175aec03490.png)]

  • 配置Yum本地Repos資源池

    在ambari.server上執行:

    # yum install -y yum-plugin-priorities
    

    a) 修改Yum安裝源的校驗

    # vi /etc/yum/pluginconf.d/priorities.conf
    

    設置爲以下內容

    [main]
    enabled=1
    gpgcheck=0
    

    b) 製作本地資源文件

    創建Ambari、HDP、HDP-UTIL資源文件:

    - ambari.repo:

    [ambari-2.2.1.0]
    name=ambari-2.2.1.0
    baseurl=http://master/ambari-hdp/AMBARI-2.2.1.0/centos7/2.2.1.0-161
    gpgcheck=0
    gpgkey=http://master/ambari-hdp/AMBARI-2.2.1.0/centos7/2.2.1.0-161/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    enabled=1
    priority=1
    

    - hdp.repo

    [HDP-2.4.0.0]
    name=Hortonworks Data Platform Version - HDP-2.4.0.0
    baseurl=http://master/ambari-hdp/HDP/centos7/2.x/updates/2.4.0.0
    gpgcheck=0
    gpgkey=http://master/ambari-hdp/HDP/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    enabled=1
    priority=1
    

    - hdp-util.repo

    [HDP-UTILS-1.1.0.20]
    name=Hortonworks Data Platform Version - HDP-UTILS-1.1.0.20
    baseurl= http://master/ambari-hdp/HDP-UTILS-1.1.0.20/repos/centos7
    gpgcheck=0
    enabled=1
    priority=1
    

    製作完成後,移動到/etc/yum.repos.d/;依次執行以下命令,更新本地資源池:

    # yum clean list
    # yum update list
    # yum makecache
    

    等待更新完畢後,查看資源池:

    # yum repolist
    

    如果看到以下資源,表示配置成功:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-YmggmqsV-1577503163068)(F:\堅果雲\各種報告\大數據基礎\center實驗報告 劉浩壯部分center.assets\img_1b33627bbe9dd849f12ba1b193cb7b80.png)]

  • 安裝Ambari-Server

    執行安裝命令:

    # yum install -y ambari-server
    

    安裝過程無需互動

    如果提示找不到KEY,則執行如下命令:

    rpm --import /var/www/html/ambari-hdp/AMBARI-2.2.1.0/centos7/2.2.1.0-161/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    

    將Ambari數據庫腳本導入到數據庫。

    Ambari安裝會將安裝等信息寫入數據庫,建議使用自己安裝的MySQL數據庫,也可以不安裝而使用默認數據庫PostgreSQL。如果使用自己定義的數據庫,必須在啓動Ambari服務之前導入Ambari的sql腳本。

    用root用戶登錄mysql

    # mysql -uroot -p
    mysql> use ambari;
    mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
    
  • 配置Ambari-Server

    執行配置命令:

    # ambari-server setup
    

    提示是否自定義設置?輸入:y

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

    ambari-server 賬號。輸入:root

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

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

    Checking firewall status...
    
    Redirecting to /bin/systemctl status iptables.service
    

    設置JDK。輸入:3

    Checking JDK...Do you want to change Oracle JDK [y/n] (n)? y
    
    [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 choice (1): 3
    

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

    /usr/local/jdk/jdk1.8.0_131
    
    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: /usr/local/jdk/jdk1.8.0_131
    
    Validating JDK on Ambari Server...done.
    Completing setup...
    

    數據庫配置。選擇:y

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

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

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

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

    Hostname (localhost): ambari.server
    Port (3306):
    Database name (ambari):
    Username (ambari):
    Enter Database Password (ambari-1234):
    

    提示必須安裝MySQL JDBC,已安裝則直接通過。

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

    啓動ambari-server服務

    # ambari-server start
    

    啓動後在瀏覽器輸入Ambari地址:http://39.98.45.52:8080/#/login

    看到如下頁面,則表示安裝成功:
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fEajTPpV-1577503163068)(F:\堅果雲\各種報告\大數據基礎\center實驗報告 劉浩壯部分center.assets\img_fbc227483ddff10cbaa62525cf35a1ca.png)]

    進入Ambari配置管理頁面:

    用戶名:admin

    密碼: admin

    登錄成功進入以下頁面:
    在這裏插入圖片描述

  • 安裝Hadoop集羣

    a) 在集羣節點上安裝JDK

    在3臺作爲Hadoop集羣的機器上安裝JDK,要與master上安裝的完全一致

    b) 安裝ambari-agent

    將master上的3個.repo文件複製到hadoop集羣的三臺服務器上;並完成yum源更新的命令。

    安裝ambari-agent:在集羣的3臺電腦上執行添加,並添加成開機自啓動服務:

    # yum install -y ambari-agent
    # chkconfig --add ambari-agent
    

    c) 通過安裝嚮導,配置Hadoop集羣

  • 安裝嚮導

    由於服務器已經釋放掉了這部分截圖沒有保留,使用網上的HDP2.3版本的圖片進行說明

    首先點擊Launch Install Wizard
    在這裏插入圖片描述
    新建集羣,輸入集羣的名字
    在這裏插入圖片描述
    版本號選擇,這裏選擇的是HDP2.4
    在這裏插入圖片描述
    選擇本地安裝包的路徑,這裏OS選redhat7就可以(其實可以隨便選),然後HDP 和HDP-UTILS的路徑使用之前設置的路徑

    http://master/ambari-hdp/HDP/centos7/2.x/updates/2.4.0.0

    http://master/ambari-hdp/HDP-UTILS-1.1.0.20/repos/centos7

    這裏可能需要master換成內網IP

    之後選擇跳過validation

在這裏插入圖片描述

創建ssh免登錄,之前設置的.ssh文件夾下有該文件,選擇master的私鑰id_rsa,上邊要把每個節點的名字寫上去,每個佔一行

master
node1
node2

在這裏插入圖片描述

Confirm Hosts,此處可能報錯,因爲openssl版本問題,可執行一下指令重新安裝

yum install openssl

然後又可能出現另一個問題,執行

# vim /etc/python/cert-verification.cfg
verify=disable #修改該變量

即可看到安裝成功
在這裏插入圖片描述
選擇要安裝哪些Services,Service簡介可見:

https://yq.aliyun.com/articles/491137?spm=a2c4e.11153940.0.0.4e8f26ab77Hq1J

http://www.wangjialong.cc/2017/09/25/ambari_info/
在這裏插入圖片描述

分配Master節點
在這裏插入圖片描述
配置一些服務信息

注意:安裝一些需要數據庫的service時,如果選擇已有的Mysql數據庫的話,需要在對應的節點上配置數據庫,配置過程可以見之前的安裝MySQL部分。
在這裏插入圖片描述
之後就一路下一步知道成功了。
最終運行成功的界面
在這裏插入圖片描述

參考文檔

https://yq.aliyun.com/articles/672277

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章