您好,登錄后才能下訂單哦!
這篇文章主要講解了“ambari怎么增加ElasticSearch服務”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ambari怎么增加ElasticSearch服務”吧!
Ambari是支持服務擴展的,只需要,恩,整理,打包,扔我們的服務到它的資源目錄,重啟服務器就可以了。聽起來很簡單。它的服務組織結構是分Stack / Service /Component 3層的 。所以我們從Stack開始。一個自定義Stack的目錄結構如圖(從HDP的復制過來)。
[root@master stacks]# pwd /var/lib/ambari-server/resources/stacks [root@master stacks]# tree NQ NQ └── 1.1 ├── configuration │ └── cluster-env.xml ├── metainfo.xml ├── repos │ └── repoinfo.xml #軟件倉庫的URL └── services #服務目錄 └── ELASTICSEARCH ├── configuration │ └── elasticsearch-env.xml ├── metainfo.xml ├── metrics.json └── package ├── archive.zip ├── scripts │ └── master.py └── templates 9 directories, 8 files
有了Stack后(當然,你直接扔到HDP的服務下面也可以),我們可以添加自己的服務了。可以看到服務是在Stack的services下的,每個目錄。
目錄結構
|_ services |_ <service_name> metainfo.xml #服務配置文件 metrics.json #運維指標配置,映射ganglia和ambari |_ configuration {configuration files} #配置文件 |_ package {files, scripts, templates} #安裝腳本,模板和一些文件
metainfo.xml 服務配置文件,我盡量寫全面一點,為了解釋清楚各個配置項。
<?xml version="1.0"?> <metainfo> <schemaVersion>2.0</schemaVersion> <services> <service> <name>ELASTICSEARCH</name> <displayName>ElasticSearch</displayName> <comment>ElasticSearch service</comment> <version>1.4.0</version> <components> <component> <name>ELASTICSEARCH</name> <displayName>ElasticSearch</displayName> <category>MASTER</category> <cardinality>1</cardinality> <commandScript> <script>scripts/master.py</script> <scriptType>PYTHON</scriptType> <timeout>600</timeout> </commandScript> </component> <component> <name>ELASTICSEARCH_NODE</name> <displayName>ElasticSearchNode</displayName> <category>SLAVE</category> <cardinality>ALL</cardinality> <auto-deploy> <!--自動部署,僅在cardinality滿足的情況下,界面上就不問,在這臺主機,是否安裝這個組件了--> <enabled>false</enabled> </auto-deploy> <commandScript> <script>scripts/slave.py</script> <scriptType>PYTHON</scriptType> <timeout>600</timeout> </commandScript> <!--<configFiles> <configFile> <type>env</type> <fileName>elasticsearch-env.xml</fileName> <dictionaryName>elasticsearch-env</dictionaryName> </configFile> </configFiles>--> </component> </components> <osSpecifics> <osSpecific> <osFamily>any</osFamily> <packages> <package> <name>elasticsearch</name> </package> </packages> </osSpecific> </osSpecifics> <requiredServices> <service>GANGLIA</service> <!--依賴服務,安裝的時候限制,沒有不能繼續安裝--> </requiredServices> <configuration-dependencies> <config-type>elasticsearch-env</config-type> </configuration-dependencies> <monitoringService>false</monitoringService> <!--如果是監控服務的話,每個組件重啟,他都要重啟--> </service> </services> </metainfo>
服務和組件名字一定要大寫,不然后面你會全部重新來過的。不要問我為什么知道,我重試了N次。
package節點的name 很重要。yum install [name]
category節點組件類型可以有MASTER,SLAVE,CLIENT幾種,那p2p集群咋辦?
MASTER不是必須得有,只有SLAVE也可以
cardinality節點是安裝基數。1+ 最少一個 , 0-1 最多一個 ,ALL 全部
master.py 一個最簡單的安裝腳本,好吧,實際上它什么也沒做
import sys from resource_management import * class Master(Script): def install(self, env): print 'Install the ES Master'; def stop(self, env): print 'Stop the ES Master'; def start(self, env): print 'Start the ES Master'; def status(self, env): print 'Status of the ES Master'; def configure(self, env): print 'Configure the ES Master'; if __name__ == "__main__": Master().execute()
部署,重啟,安裝,然后就能看到我們的成果了,雖然看起來超級簡單,沒關系,下面我們會繼續完善功能,配置,監控,告警管理。。。。
感謝各位的閱讀,以上就是“ambari怎么增加ElasticSearch服務”的內容了,經過本文的學習后,相信大家對ambari怎么增加ElasticSearch服務這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。