Ambari實戰-5:構建Ambari私有源
我們本篇文章主要講述如何去同步遠端伺服器中的Ambari資料來源到本地,並將其作為區域網yum安裝源。
基本環境資訊
由於是通過Ambari資料來源安裝ambari,我們只需要在一臺機器上執行即可,我們這裡部署到了和ambari-common(該節點壓力較小)節點在一起。不過在實際的線上環境我們推薦將其分開部署。
主機名 | IP | 版本 |
---|---|---|
ambari-common | 10.10.0.201 | CentOS 7 |
Ambari資料來源配置
- 登入到
ambari-common
節點中
ssh ambari-common -p 22
ambari-common需要在本地
/etc/hosts
檔案中配置相應伺服器對映,否則無法直接使用登入操作
- 下載hortonworks官方提供的Amari倉庫源
在下載前我們需要檢驗是否安裝wget
命令列,如果沒有安裝此命令,使用以下命令安裝它
sudo yum install wget
使用以下命令下載hortonworks官方提供的Amari倉庫源
wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
-O
指定的是我們下載檔案到的本地路徑,注意這裡是大寫的O不是0
ambari的官方源的格式為ambari/<OsVersion>/<AmbariVersionRegex>/updates/<AmbariVersion>/ambari.repo
如果我們需要安裝其他系統的或者其他版本的源只需要修改<OsVersion>
和<AmbariVersionRegex>
(ambari大版本),<AmbariVersion>
(ambari絕對版本)
需要注意的是
/etc/yum.repos.d/ambari.repo
路徑儘量不要修改,這樣方便我們記住ambari的源所在系統的位置。
- 安裝源配置檔案下載完成後需要進行源的校驗
sudo yum repolist
返回類似如下響應
Updates-ambari-2.2.2.0 Updates-ambari-2.2.2.0/primary_db 源標識 Updates-ambari-2.2.2.0
這標誌著我們的ambari安裝源配置檔案是可用的。
Ambari資料來源同步
- 建立本地需要存放安裝包檔案路徑
sudo mkdir -p /var/www/html/ambari/centos7/
-p
命令標誌我們需要進行遞迴建立資料夾
我們建議您的命名格式和我們類似<源名稱>/<系統版本>
- 進入剛剛建立的目錄中
cd /var/www/html/ambari/centos7/
當然我們也可以使用&&
組合命令模式
- 開始同步遠端服務資源到本地
reposync -r Updates-ambari-2.2.2.0
-r
是告訴系統要進行遞迴同步
Updates-ambari-2.2.2.0
指的是我們剛剛使用源檢測命令返回的源標識
此時會去hortonworks官網進行同步,同步的速度具體是根據主機的網路而定。
或者可以使用後臺同步方式:
nohup reposync -r Updates-ambari-2.2.2.0 >> sync.log &
或者可以使用screen命令進行視窗session模式同步。
構建內網mirror源
- 生成本地資源庫
createrepo /var/www/html/ambari/centos7/Updates-ambari-2.2.2.0
會出現類似如下反饋資訊
Spawning worker xxx with xxx pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite Dbs complete
出現以上提示資訊時,標誌著我們的本地針對於ambari的庫資訊已經構建完成。
- 啟動提供mirror源的http服務
service httpd start
當然也可以使用以下命令啟動服務
/bin/systemctl start httpd.service
- 校驗源是否可以使用http服務對外開放
瀏覽器開啟http://ambari-common/ambari/centos7/Updates-ambari-2.2.2.0
這裡我們是不需要新增埠資訊的,因為http服務的預設埠就是80,瀏覽器開啟後會出現一個檔案瀏覽器,會顯示一些檔案以及目錄列表,當然也可以使用nginx去做mirror源。