iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 10
0
Software Development

用30天介紹 open source 專案 Ohara 系列 第 10

Day 10 操作 Ohara Configurator Restful API

  • 分享至 

  • xImage
  •  

昨天已經大概介紹了 Ohara Configurator 服務的架構所包含的功能了,今天就來實際的操作幾個常用的 Configurator Restful API,在使用 Configurator Restful API 之前需要確認 Ohara Configurator container 服務連線的 Port 是否有開放對外其它主機也可以連線,如下指令:

$ docker ps -a 

如下圖:
https://ithelp.ithome.com.tw/upload/images/20190925/20103456I0fjvtBmL9.png

在 PORTS 的欄位有看到 Port 的資訊,就代表這個 PORT 有提供給其它的主機可以連進 Configurator 服務的 Container 裡面。除了開 container 的 Port 之外,也要確認對外主機的防火牆是否有關閉或是設定防火牆對外的 Port 有開放。可以使用以下指令來確認防火牆是否有關閉:

# systemctl status firewalld 

在預設的情況下把 Configurator 服務的 container 關閉之後,下次重新啟動之後,有些之前設定的資料就會不見,例如是 Pipeline Graph 設定的資料就會不見。如果使用者不希望有設定資料不見的情況,在啟動 Configurator 服務的 container 時可以加上 -v 參數,讓 RocksDB 存放的資料對應到執行 docker container 的主機上,避免 container 被刪除有設定資料不見的現象,指令如下:

$ docker run --rm -d -v /tmp/configurator:/home/ohara/configurator -u root -p 12345:12345 oharastream/configurator:0.7.1 --port 12345 --folder /home/ohara/configurator 

以上的指令主要是主機的 /tmp/configurator 的資料夾會對應到 container 裡面的 /home/ohara/configurator 資料夾,然後在執行 configuraotr 服務的時侯會使用 --folder 參數,指定要在 container 裡的 /home/ohara/configurator 的路徑存放資料。

**操作 Ohara Configurator 的 Restful API: **

  1. 建立 Node 的 Restful API,指令如下:
$ curl -H "Content-Type: application/json" \ 
     -X POST \ 
     -d '{"name": "192.168.56.103", "port": 22, "user": "ohara", "password": "oharastream"}' http://192.168.56.103:12345/v0/nodes 

2.建立 Zookeeper Cluster的 Restful API,指令如下:

$ curl -H "Content-Type: application/json" \ 
     -X POST \ 
     -d '{"name": "zk", "clientPort": 2181, "imageName": "oharastream/zookeeper:0.7.1", "peerPort": 2000, "electionPort": 2001, "nodeNames": ["192.168.56.103"]}' http://192.168.56.103:12345/v0/zookeepers 
 
$ curl -H "Content-Type: application/json" -X PUT http://192.168.56.103:12345/v0/zookeepers/zk/start 

以上的第一個指令用來建立 zookeeper cluster,第二個指令是用來啟動 Zookeeper Cluster

3.建立 Broker Cluster 的 Restful API,指令如下:

$ curl -H "Content-Type: application/json" \ 
     -X POST \ 
     -d '{"name": "bk", "clientPort": 9092, "zookeeperClusterName": "zk", "nodeNames": ["192.168.56.103"]}' http://192.168.56.103:12345/v0/brokers 

$ curl -H "Content-Type: application/json" -X PUT http://192.168.56.103:12345/v0/brokers/bk/start 

以上的第一個指令用來建立 broker cluster,第二個指令用來啟動 Broker Cluster

  1. 使用 docker ps -a 的指令來查看,建立 cluster 的結果,如下圖
    https://ithelp.ithome.com.tw/upload/images/20190925/20103456tzXyNOvPje.png

今天介紹了如何使用 Ohara Configurator API 來建立 Node、 Broker 和 Zookeeper Cluster 主要的目的是除了使用 UI 之外,讓開發者也可以使用透過寫程式的方式來操作 Ohara,Ohara 還有提供更多的 API 資訊,可以參考 Ohara 官方的文件:
https://ohara.readthedocs.io/en/latest/rest/index.html#rest


上一篇
Day 9 介紹 Ohara Configurator 的元件
下一篇
Day 11 介紹如何使用 Ohara Configurator 的 Client API
系列文
用30天介紹 open source 專案 Ohara 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言