该方式使用外置Broker,网上查询到的大部分都是该种方式,但是都存在问题。也有使用内置Broker的方式,此时Broker也将是一个集群。

一、测试规划

IP

节点名称

部署

修改配置文件

192.168.125.130

MQ Broker

tomcat、activemqBroker-*.war

activemqBroker-*\WEB-INF\classes\standalone-broker.properties

192.168.125.131

geoserver-1

tomcat、geoserver.war及jms插件

\geoserver\data\cluster\cluster.properties

192.168.125.132

geoserver-2

tomcat、geoserver.war及jms插件

\geoserver\data\cluster\cluster.properties

192.168.125.133

geoserver-3

tomcat、geoserver.war及jms插件

\geoserver\data\cluster\cluster.properties

二、下载相关的软件:

geoserver-2.20.1

geoserver-2.20-SNAPSHOT-jms-cluster-plugin

geoserver-2.20-SNAPSHOT-activeMQ-broker-plugin 或者 ActiveMQ

# tomcat解压缩
unzip apache-tomcat-8.5.51-windows-x64.zip
# 添加控制权限
chmod -R 777 apache-tomcat-8.5.51
# 启动
./apache-tomcat-8.5.51/bin/startup.sh
# 查看日志
tail -f apache-tomcat-8.5.51/logs/catalina.out

三、Broker两种方式:

1、geoserver-2.20-SNAPSHOT-activeMQ-broker-plugin 方式:

装载activemqBroker-*.war的tomcat先启动一次,war包释放出文件夹.

修改配置后重启,activemqBroker-*\WEB-INF\classes\standalone-broker.properties

# 改成具体的ip或者0.0.0.0
activemq.transportConnectors.server.uri=tcp://0.0.0.0:61666?maximumConnections=1000&wireFormat.maxFrameSize=104857600&jms.useAsyncSend=true&transport.daemon=true

2、ActiveMQ 方式:

conf\jetty.xml修改,默认只本机访问

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
    <property name="host" value="0.0.0.0"/>
    <property name="port" value="8161"/>
</bean>

conf\activemq.xml修改,修改成activemqBroker-*.war的端口,方便分别测试。

<transportConnectors>
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61666?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors>

该方式方便通过http://192.168.125.130:8161/admin/connections.jsp查看连接和消息队列。

四、geoserver集群:

(2)装载geoserver.war的三个tomcat先启动一次,war包释放出文件夹.

(3)将geoserver-*-activeMQ-broker-plugin包里面的jar包分别拷贝到 \geoserver\WEB-INF\lib,tomcat重启,重启后自动创建 \geoserver\data\cluster 文件夹。

(4)三个geoserver修改配置,修改后重启

\geoserver\data\cluster\cluster.properties

# 为“三”中的Broker的地址
brokerURL=tcp://192.168.125.130:61666
# 使用“三”的单节点Broker,因此不启动内置Broker
embeddedBroker=disabled
# 每个节点名字要唯一
instanceName=geoserver-1

使用不同的浏览器访问geoserver可以看到“Cluster Settings”,在某一节点的“图层”中删除某一图层,其他节点的浏览器刷新一下即可验证。

五、nginx负载均衡和keepalived高可用查其它资料。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐