環境準備
1. otter node會受otter manager進行管理,所以需要預先安裝otter manager參考
https://blog.csdn.net/Crystalqy/article/details/95453765
2. 完成manager安裝後,需要在manager頁面爲node定義配置信息,並生一個唯一id.
首先訪問manager頁面的機器管理頁面,點擊添加機器按鈕:
參數說明:
- 機器名稱:可以隨意定義,方便自己記憶即可
- 機器ip:對應node節點將要部署的機器ip,如果有多ip時,可選擇其中一個ip進行暴露. (此ip是整個集羣通訊的入口,實際情況千萬別使用127.0.0.1,否則多個機器的node節點會無法識別)
- 機器端口:對應node節點將要部署時啓動的數據通訊端口,建議值:2088
- 下載端口:對應node節點將要部署時啓動的數據下載端口,建議值:9090
- 外部ip :對應node節點將要部署的機器ip,存在的一個外部ip,允許通訊的時候走公網處理。
- zookeeper集羣:爲提升通訊效率,不同機房的機器可選擇就近的zookeeper集羣.
node這種設計,是爲解決單機部署多實例而設計的,允許單機多node指定不同的端口
機器添加完成後,跳轉到機器列表頁面,獲取對應的機器序號nid
通過這兩步操作,獲取到了node節點對應的唯一標示,稱之爲node id,簡稱:nid. 記錄該nid,後續啓動nid時會使用
啓動Node節點
1.下載otter node
wget https://github.com/alibaba/otter/releases/download/otter-4.2.17/node.deployer-4.2.17.tar.gz
2. 解壓縮
mkdir node
tar zxvf node.deployer-$version.tar.gz -C node
3. 配置修改
a. nid配置 (將環境準備中添加機器後獲取到的序號,保存到conf目錄下的nid文件,比如我添加的機器對應序號爲1)
echo 1 > conf/nid
b. otter.properties配置修改
# otter node root dir
otter.nodeHome = ${user.dir}/../node
## otter node dir
otter.htdocs.dir = ${otter.nodeHome}/htdocs
otter.download.dir = ${otter.nodeHome}/download
otter.extend.dir= ${otter.nodeHome}/extend
## default zookeeper sesstion timeout = 60s
otter.zookeeper.sessionTimeout = 60000
## otter communication payload size (default = 8388608)
otter.communication.payload = 8388608
## otter communication pool size
otter.communication.pool.size = 10
## otter arbitrate & node connect manager config
otter.manager.address = 127.0.0.1:1099
需要注意的是上面的otter.manager.address 後面的端口是之前安裝otter manger的時候配置的otter communication port而不是manger的訪問端口,一定不能搞錯,錯誤信息如下:
Connection: close in channel: NettyChannel [channel=[id: 0x79777070, /10.2.50.135:17330 => /10.2.50.135:8081]], url: dubbo://10.2.50.135:8081/endpoint?acceptEvent.timeout=50000&client=netty&codec=dubbo&connections=30&heartbeat=60000&iothreads=4&lazy=true&send.reconnect=true&serialization=java&threads=50, dubbo version: 2.5.3, current host: 127.0.0.1