环境准备
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