PYTHONPYTHON
圖 19. Sample Service 的目錄結構
Python 腳本的示例代碼:
Master.py:
import sys, os
from resource_management import *
from resource_management.core.exceptions import ComponentIsNotRunning
from resource_management.core.environment import Environment
from resource_management.core.logger import Logger
class Master(Script):
def install(self, env):
print "Install My Master"
def configure(self, env):
print "Configure My Master"
def start(self, env):
print "Start My Master"
def stop(self, env):
print "Stop My Master"
def status(self, env):
print "Status..."
if __name__ == "__main__":
Master().execute()
Slave.py:
import sys, os
from resource_management import *
from resource_management.core.exceptions import ComponentIsNotRunning
from resource_management.core.environment import Environment
from resource_management.core.logger import Logger
class Slave(Script):
def install(self, env):
print "Install My Slave"
def configure(self, env):
print "Configure My Slave"
def start(self, env):
print "Start My Slave"
def stop(self, env):
print "Stop My Slave"
def status(self, env):
print "Status..."
if __name__ == "__main__":
Slave().execute()
第四步,需要重啟 Ambari Server。因為 Ambari Server 只有在重啟的時候才會讀取 Service 和 Stack 的配置。命令行執行:
1
ambari-server restart
第五步,登錄 Ambari 的 GUI,點擊左下角的 Action,選擇 Add Service。如下圖:
圖 20. Add Service 按鈕
這時候就可以看到我們自定義的 Service:SAMPLE。如下圖:
圖 21. Sample Service 列表
選擇左側 My Sample 後,就可以一路 Next 了,這個過程其實和我們在搭建 Hadoop2.x 集群的時候是類似的。由於這個 Service 沒有真的安裝包,所以安裝過程會非常的快,啟動命令也沒有真正的邏輯,所以啟動過程也是很快的。等最後點擊完 Complete,整個安裝過程也就結束了。再回到 Ambari 的 Dashboard 的時候,我們就可以看到這個 My Sample 了,如下圖:
圖 22. My Sample 的 Service 頁面
到此就可以和第四節中管理 Hadoop 集群一樣管理我們的 My Sample。例如下圖,Stop 我們的 My Sample。
圖 23. Stop Sample 頁面 1
圖 24. Stop Sample 頁面 2
圖 25. Stop Sample 頁面 3
進階的篇幅中,將會探討如何給我們的 My Sample 自定義一些 Actions,以及 Action 之間的依賴關係如何定義。篇幅有限,這裡就先到此為止。希望以上的介紹能夠燃起大家對 Ambari 的熱情。
總結
大數據與雲計算可謂是如今數據中心中最火的兩項技術領域,幾乎所有的 IT 服務商都想在這兩項技術中有所建樹。相信 Ambari 可以幫助一些 Hadoop 的初學者。長遠看來,大數據的發展離不開雲計算,雲計算中 IaaS 可謂已經很成熟,並且價格低廉。這時候許多公司將目光聚集在了 PaaS。大數據的流行更是加速了相關 PaaS 產品的發展,而 Ambari 的出現必然可以拉近 IaaS 和 PaaS 的距離。也就是說有了 Ambari,或許再加上 Docker,那麼快速從 IaaS 演進到 PaaS 就顯得不是那麼困難了。
當然這裡 Ambari 要跟 IaaS 更好的切合,還有個對手那就是 Sahara。它是另一個土生土長的 OpenStack 的子項目,其目的也是為了在 Openstack 上面快速搭建 Hadoop 等集群。期望著這些項目能夠快速成長,將來對大家都有所幫助。
相關主題
- Apache Ambari:官方的介紹文檔。
- developerWorks 開源技術主題:查找豐富的操作信息、工具和項目更新,幫助您掌握開源技術並將其用於 IBM 產品。
原文地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/
閱讀更多 互聯網技術棧 的文章