centos6.5搭建rocketmq-4.9.2集群环境,双主双从,4台服务器

centos6.5搭建rocketmq-4.9.2集群环境,双主双从,4台服务器,第1张

我的环境是:CentOS release 6.5 (Final) + 1.8.0_144

rocketmq-4.9.2安装包和RocketMQ-console-图形化界面控制台可以在这个地址下载得到:

rocketmq-4.9.2版本-Java文档类资源-CSDN下载

rocketmq-externals-master-Java文档类资源-CSDN下载

4台机器,2m-2s
集群中的m-s使用的是sync方式(async)

1、准备环境

上传安装包到虚拟机,并解压,我上传的路径是:/opt/rocketmq-4.9.2,有一个细节,要注意,上传到,切换到bin目录,执行受权命令,让所有可执行文件可以执行:

chmod 777 *

然后配置环境变量:

vi /etc/profile
export ROCKETMQ_HOME=/opt/rocketmq-4.9.2
export PATH=$PATH:$JAVA_HOME/bin:$ROCKETMQ_HOME/bin

 

  修改成功后保存,退出。

执行:. /etc/profile 或source /etc/profile

使用文件生效

然后在命令行输入mq,然后按“tab"键,如果能自动提示,证明环境变更设置成功,否则失败:

 在关闭防火墙:

永久关闭防火墙: chkconfig iptables off
 

2、修改配置

分别在4台服务器上执行,创建目录:

mkdir -p  /var/rocketmq/{logs,store/{commitlog,consumequeue,index}}

然后选择其中一台,进入

/opt/rocketmq-4.9.2/conf

可以看看,官方已经准备有配置文件了,我们只需要复制一份就行。

执行命令:

cp -r 2m-2s-sync/  22conf

 然后修改22conf目录下的文件,一共有4个文件,每个文件分别添加以下的配置就行。

namesrvAddr=192.168.1.26:9876;192.168.1.27:9876;192.168.1.28:9876

这个配置要根据自己虚拟机的IP,我的是这个。

添加以下的配置:

flushDiskType=ASYNC_FLUSH
namesrvAddr=192.168.1.26:9876;192.168.1.27:9876;192.168.1.28:9876
storePathRootDir=/var/rocketmq/store
storePathCommitLog=/var/rocketmq/store/commitlog
storePathIndex=/var/rocketmq/store/index
storePathConsumeQueue=/var/rocketmq/store/consumequeue

然后再修改日志路径,切换到:/opt/rocketmq-4.9.2/conf  ,执行:

sed -i 's#${user.home}#/var/rocketmq#g'  *.xml

 注意,要修改默认内存,默认是4G内存,如果虚拟机配置不够,会导致服务无法启动,得修改两个配置文件: runbroker.sh 和runserver.sh

vi runbroker.sh
vi runserver.sh

修改:

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g  -Xmn128m"

 

修改完成,然后把这个22conf目录,分别发送剩下的3台服务器,放的位置在:

/opt/rocketmq-4.9.2/conf/22conf

3、启动服务

启动nameserver

我的三台服务器:192.168.1.26 ,192.168.1.27,192.168.1.28,分别执行命令:

mqnamesrv
#或者用后台启动, 这样启动的好处是按ctrl+C 程序不会停:
nohup sh mqnamesrv &

 

 

 

启动broker,分别在4台机器上执行以下命令:

192.168.1.26:
     mqbroker  -c  /opt/rocketmq-4.9.2/conf/22conf/broker-a.properties
或者:nohup mqbroker  -c  /opt/rocketmq-4.9.2/conf/22conf/broker-a.properties &

192.168.1.27:
    mqbroker  -c /opt/rocketmq-4.9.2/conf/22conf/broker-a-s.properties
或者 nohup  mqbroker  -c /opt/rocketmq-4.9.2/conf/22conf/broker-a-s.properties &

192.168.1.28:
     mqbroker -c /opt/rocketmq-4.9.2/conf/22conf/broker-b.properties
或者 nohup mqbroker -c /opt/rocketmq-4.9.2/conf/22conf/broker-b.properties &

n192.168.1.29:
     mqbroker  -c /opt/rocketmq-4.9.2/conf/22conf/broker-b-s.properties 
或者 nohup mqbroker  -c /opt/rocketmq-4.9.2/conf/22conf/broker-b-s.properties &

 

 至此集群搭建好了。

用代码验证一下:

    @Test
    public void admin() throws Exception {

        DefaultMQAdminExt admin = new DefaultMQAdminExt();
        admin.setNamesrvAddr("192.168.1.26:9876;192.168.1.27:9876;192.168.1.28:9876");
        admin.start();

        ClusterInfo clusterInfo = admin.examineBrokerClusterInfo();
        HashMap brokerAddrTable = clusterInfo.getBrokerAddrTable();
        Set> entries = brokerAddrTable.entrySet();
        Iterator> iter = entries.iterator();
        while(iter.hasNext()){
            Map.Entry next = iter.next();
            System.out.println(next.getKey()+ " "+ next.getValue());
        }



//        TopicList topicList = admin.fetchAllTopicList();
//        topicList.getTopicList().forEach(s->{
//            System.out.println(s);
//        });
    }

4、安装RocketMQ-console-图形化界面控制台

 可以看我写一另个博客:

window 10安装rocketmq-4.9.2,并安装RocketMQ-console-图形化界面控制台_fyihdg的博客-CSDN博客

不同的是,application.properties这个配置要修改:

 配置后,本地windwos打包,把rocketmq-console-ng-2.0.0.jar上传到192.168.1.26服务器,

我上传到了/opt,执行命令:

 java -jar rocketmq-console-ng-2.0.0.jar

#也可用这个后台运行:
nohup java -jar rocketmq-console-ng-2.0.0.jar >mq.log &

 

集群就这样搭建好了。是不是很简单 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/877914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存