實驗機器總數3臺。html
IPjava |
主機名node |
部署環境python |
192.168.1.223mysql |
223linux |
Ambari-server、ambari-agent、yum源sql |
192.168.1.224apache |
224vim |
Ambari-agentcentos |
192.168.1.225 |
225 |
Ambari-agent |
在三臺主機中添加主機名與IP之間的對應關係。
vim /etc/hosts
將如下內容添加進去
192.168.1.223 223 192.168.1.224 224 192.168.1.225 225
在全部的主機上,執行以下命令,關閉防火牆。
chkconfig iptables off service iptables stop
在全部的主機上,執行以下命令
SELINUX修改
vim /etc/selinux/config
作以下更改:SELINUX=disabled
PackageKit(系統中已經安裝了PackageKit)
vim /etc/yum/pluginconf.d/refresh-packagekit.conf
作以下更改:enabled=0
在全部的主機上,執行以下操做
安裝NTP服務
yum install -y ntp chkconfig ntpd on
啓動NTP服務
service ntpd start
在全部的主機上創建互信,要求全部的機器必須可以項目無密碼登錄。
首先,登錄ambari-server機器,執行以下命令生成公鑰
//首先切換到當前登陸用戶的用戶目錄下 cd ~/ mkdir .ssh ssh-keygen -t rsa cd .ssh cat id_rsa.pub >> authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
將authorized_keys中的祕鑰分發到全部ambari-agent節點上。
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.224 ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.225
在其它ambari-agent節點上也一樣利用上面的命令生成公鑰,而後將公鑰分發給ambari-server。而後,兩個agent相互信任。
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
卸載自帶的Open-jdk
rpm -qa | grep java rpm -e –nodeps 加上查詢出來的名字
從官網下載JDK安裝包
利用終端工具將安裝包上傳至服務器
執行以下命令
mkdir /usr/local/jdk tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/jdk/ vim /etc/profile
將以下內容放到文件底部,保存
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin
使環境變量生效
source /etc/profile
檢查是否安裝成功
java -version
yum install yum-utils createrepo
yum install httpd
將本地安裝包上傳服務器後,解壓到/var/www/html目錄下。若是解壓後的目錄中沒有repodata文件夾,則用如下命令生成repodata。
cd /root/HDP/ tar -vzxf ambari.tar.gz -C /var/www/html/ambari/ tar -vzxf HDP.tar.gz -C /var/www/html/HDP/ tar -vzxf HDP-UTILS.tar.gz -C /var/www/html/hdp-util/ # 若是解壓後的目錄中沒有repodata才執行 createrepo操做 createrepo /var/www/html/ambari/centos6/
chkconfig httpd on service httpd start
添加源的時候baseurl填寫安裝包託管到apache服務器的地址。
添加ambari源
cd /etc/yum.repos.d/ vim ambari.repo
將如下內容添加進ambari.repo
baseurl爲當前ambari安裝包託管到apache服務器的地址
gpgkey填寫當前GPGKEY託管到apache服務器的地址
#VERSION_NUMBER=2.6.2.0-155 [ambari-2.6.2.0] name=ambari Version - ambari-2.6.2.0 baseurl=http://192.168.1.223/ambari/centos6/ gpgcheck=1 gpgkey=http://192.168.1.223/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1
添加HDP源
cd /etc/yum.repos.d/ vim hdp.repo
將如下內容添加進hdp.repo
baseurl爲當前hdp安裝包託管到apache服務器的地址
gpgkey填寫當前GPGKEY託管到apache服務器的地址
#VERSION_NUMBER=2.6.5.0-292 [HDP-2.6.5.0] name=HDP Version - HDP-2.6.5.0 baseurl=http://192.168.1.223/hdp/centos6 gpgcheck=1 gpgkey=http://192.168.1.223/hdp/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1 [HDP-UTILS-1.1.0.22] name=HDP-UTILS Version - HDP-UTILS-1.1.0.22 baseurl=http://192.168.1.223/hdp-util gpgcheck=1 gpgkey=http://192.168.1.223/hdp-util/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1
查看是否添加成功
yum clean all yum repolist
從網上下載相對應linux版本的完整版安裝包
在服務器上建立相應yum源託管目錄。因爲文件較大,咱們經過軟鏈接方式託管到服務器。
mkdir -p /var/www/html/centos/7/os/ mkdir -p /opt/centos/7/os/x86_64/Packages ln -s /opt/centos/7/os/x86_64/ /var/www/html/centos/7/os/
解壓linux安裝包,將Packages目錄下的文件拷貝到/opt/centos/7/os/x86_64/Packages目錄下,將RPM-GPG-KEY-CentOS-7拷貝到/opt/centos/7/os/x86_64/目錄下。
執行以下命令
createrepo /var/www/html/centos/7/os/x86_64/ vim /etc/yum.repos.d/local.repo
將以下內容拷貝到local.repo而後保存
#LOCAL [local] name=local baseurl=http://服務器IP地址/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://服務器IP地址/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7 enabled=1 priority=1
執行以下命令進行測試
yum clean all yum makecache yum repolist
首先,在一臺機器上製做好局域網本地源後,其它機器只須要按照2.5和2.8步驟進行相應的配置便可。
yum install ambari-server
注意加粗地方的選擇
ambari-server setup Using python /usr/bin/python2 Setup ambari-server Checking SELinux... SELinux status is 'disabled' Customize user account for ambari-server daemon [y/n] (n)? y Enter user account for ambari-server daemon (root):root Adjusting ambari-server permissions and ownership... Checking firewall status... Checking JDK... [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 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_60 Validating JDK on Ambari Server...done. Completing setup... Configuring database... Enter advanced database configuration [y/n] (n)? n
ambari-server start
訪問服務器IP地址+8080端口,看到ambari界面,則安裝成功。
將驅動更名爲mysql-connector-java.jar複製到ambari-server服務器的/var/lib/ambari-server/resources目錄下
進入管理界面後,點擊這個按鈕
輸入集羣名字
選擇HDP版本,填寫HDP,和相應本地yum源地址
填寫目標機器主機名,和ambari-server的私鑰
Ambari-server私鑰查看
cat ~/.ssh/id_rsa
等待安裝
選擇須要服務
默認安裝就好,後期能夠改,一路next。
注意在進行這一步操做時,須要填寫幾種環境的用戶名和密碼
最終安裝成功後,跳轉到主頁
當ambari-agent向ambari-server註冊時出現以下錯誤,則執行此步驟。
NetUtil.py:96 - EOF occurred in violation of protocol (_ssl.c:579) NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions.
執行以下步驟解決
vim /etc/ambari-agent/conf/ambari-agent.ini
相應位置配置作出以下修改
[security] force_https_protocol=PROTOCOL_TLSv1_2
若是python版本爲2.7那麼還須要進行以下修改
vim /etc/python/cert-verification.cfg
將以下內容進行修改
[https] verify=disable