安装zip和maven
yum install -y unzip zip

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
yum -y install apache-maven

cd /opt/rocketmq
mvn -Prelease-all -DskipTests clean install -U

wget -P /opt/downloads http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.5.0/rocketmq-all-4.5.0-bin-release.zip
unzip /opt/downloads/rocketmq-all-4.5.0-bin-release.zip -d /opt
mv /opt/rocketmq-all-4.5.0-bin-release /opt/rocketmq

jdk9以上版本,官方脚本报错比较多,参照https://www.cnblogs.com/wintersoft/p/10881601.html

强烈建议jdk版本不要超过8,否则后面容易出现各种奇葩问题。

备份防止意外
cp -r /opt/rocketmq/conf/ /opt/rocketmq/conf.default/

mkdir /opt/rocketmqs/
cp -a /opt/rocketmq/* /opt/rocketmqs

参照
vim /opt/rocketmq/conf/2m-2s-sync/broker-a.properties
修改
vim /opt/rocketmq/conf/broker.properties

配置文件后面加入
listenPort=10911
namesrvAddr=192.168.1.101:9876;192.168.1.102:9876
brokerIP1=192.168.1.102
storePathRootDir=/opt/rocketmq/store
storePathCommitLog=/opt/rocketmq/store/commitlog
storePathConsumeQueue=/opt/rocketmq/store/consumequeue
storePathIndex=/opt/rocketmq/store/index
storeCheckpoint=/opt/rocketmq/store/checkpoint
多网卡需指定brokerIP1否则会报connect to XXXX:10911 failed
另一台服务器a换成b

参照
vim /opt/rocketmqs/conf/2m-2s-sync/broker-a-s.properties
修改
vim /opt/rocketmq/conf/broker.properties

配置文件后面加入
listenPort=10912
namesrvAddr=192.168.1.101:9876;192.168.1.102:9876
brokerIP1=192.168.1.102
storePathRootDir=/opt/rocketmqs/store
storePathCommitLog=/opt/rocketmqs/store/commitlog
storePathConsumeQueue=/opt/rocketmqs/store/consumequeue
storePathIndex=/opt/rocketmqs/store/index
storeCheckpoint=/opt/rocketmqs/store/checkpoint

另一台服务器a换成b

注意坑:默认并不会读取conf目录的broker.conf

安装nameserver守护进程
vim /lib/systemd/system/rocketmq-nameserver.service

[Unit]
Description=rocketmq-nameserver
After=syslog.target network.target remote-fs.target nss-lookup.target [Service]
Type=simple
ExecStart=/bin/sh /opt/rocketmq/bin/mqnamesrv
ExecStop=/bin/sh /opt/rocketmq/bin/mqshutdown namesrv
Restart=always
PrivateTmp=true [Install]
WantedBy=multi-user.target

权限
chmod 777 /lib/systemd/system/rocketmq-nameserver.service

systemctl enable rocketmq-nameserver.service
systemctl daemon-reload

运行
systemctl start rocketmq-nameserver.service
默认端口9876

安装broker-master守护进程
vim /lib/systemd/system/rocketmq-broker.service

[Unit]
Description=rocketmq-broker-master
After=syslog.target network.target remote-fs.target nss-lookup.target [Service]
Type=simple
ExecStart=/bin/sh /opt/rocketmq/bin/mqbroker -c /opt/rocketmq/conf/broker.properties
ExecStop=/bin/sh /opt/rocketmq/bin/mqshutdown broker
Restart=always
PrivateTmp=true [Install]
WantedBy=multi-user.target

权限
chmod 777 /lib/systemd/system/rocketmq-broker.service

systemctl enable rocketmq-broker.service
systemctl daemon-reload

运行
systemctl start rocketmq-broker.service

安装broker-slave守护进程
vim /lib/systemd/system/rocketmq-broker-s.service

[Unit]
Description=rocketmq-broker-slave
After=syslog.target network.target remote-fs.target nss-lookup.target [Service]
Type=simple
ExecStart=/bin/sh /opt/rocketmqs/bin/mqbroker -c /opt/rocketmqs/conf/broker.properties
ExecStop=/bin/sh /opt/rocketmqs/bin/mqshutdown broker
Restart=always
PrivateTmp=true [Install]
WantedBy=multi-user.target

权限
chmod 777 /lib/systemd/system/rocketmq-broker-s.service

systemctl enable rocketmq-broker-s.service
systemctl daemon-reload

运行
systemctl start rocketmq-broker-s.service

安装rocketmq-console
下载源码https://github.com/apache/rocketmq-externals

修改配置rocketmq.config.isVIPChannel=false 否则会报connect to XXXX:10909 failed,Rocket默认开启10909端口为vip通道。

console启用登录参照https://github.com/apache/rocketmq-externals/blob/master/rocketmq-console/doc/1_0_0/UserGuide_CN.md

打包mvn clean package -Dmaven.test.skip=true 得到rocketmq-console-ng-1.0.1.jar,参照https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console

复制到/opt/rocketmq-console

查找java文件软连接路径(略)
ls /usr/bin/java -al 得到/etc/alternatives/java
ls /etc/alternatives/java -al
真实路径为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java

vim /lib/systemd/system/rocketmq-console.service

[Unit]
Description=rocketmq-console
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/bin/java -jar /opt/rocketmq-console/rocketmq-console-ng-1.0.1.jar --server.port=9875 --rocketmq.config.namesrvAddr=192.168.1.101:9876;192.168.1.101:9876 --rocketmq.config.isVIPChannel=false
Restart=always
PrivateTmp=true

[Install]
WantedBy=multi-user.target

权限
chmod 777 /lib/systemd/system/rocketmq-console.service

systemctl enable rocketmq-console.service
systemctl daemon-reload

运行
systemctl start rocketmq-console.service

RocketMQ集群安装 2主2从 console的更多相关文章

  1. redis 集群安装 3主3从3台云主机

    穷呀!! 3台云主机来搭建个集群! 配置低的伤心! 1u2G ! 不说了,干吧! 可以看出 OK了. 准备工作 :

  2. rocketmq集群安装,配置,测试

    完整的安装包及demo请到百度云盘下载: 1.上传安装包 2.解压安装包 创建目录rocketmq mkdir -p /apps/install/rocketmq 解压到目录rocketmq tar ...

  3. rocketmq学习(二) rocketmq集群部署与图形化控制台安装

    1.rocketmq图形化控制台安装 虽然rocketmq为用户提供了使用命令行管理主题.消费组以及broker配置的功能,但对于不够熟练的非运维人员来说,命令行的管理界面还是较难使用的.为此,我们可 ...

  4. RocketMQ集群部署记录

    RocketMQ集群部署记录 #引用    https://cloud.tencent.com/developer/article/1147765         一.RocketMQ基础知识介绍 A ...

  5. 搭建RocketMQ集群

    一.环境及准备 集群环境: 软件版本: 部署前操作: 关闭防火墙,关闭selinux(生产环境按需关闭或打开) 同步服务器时间,选择公网ntpd服务器或者自建ntpd服务器 [root@es1 ~]# ...

  6. RocketMq 集群方式搭建 步骤教学包教包会

    mq集群方式搭建 有段时间没写这些技术文章了, 今天抽空写一点,不然自己都快忘记了 这篇文章记录了rocketmq 集群方式搭建的过程, 也是自己半天的成果记录吧! 感兴趣的朋友点个赞在走呗! 好了, ...

  7. RocketMQ集群搭建(3m-3s-async)

    RocketMQ集群搭建(3m-3s-async) 各角色介绍 角色 作用 Producer 消息发送者,将消息发送到 Broker.无状态,其与NameServer集群中的一个节点建立长连接,定期从 ...

  8. codis集群安装

    在网上找了很多codis的集群安装方法,看起来都是大同小异,本人结合了大多种方法完成了一套自己使用的codis的集群安装,可以供大家学习使用,如果有什么问题或者不懂的地方欢迎指正 1.集群规划: 三台 ...

  9. 一步步教你Hadoop多节点集群安装配置

    1.集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hadoop Distributed Filesys ...

随机推荐

  1. Android为TV端助力之热修复原理

    通过源码我们知道Android加载类是通过ClassLoad类里面的findClass先去查找的,如下图所示 通过看源码我们知道,ClassLoad是一个抽象类,它本身并没有实现findclass() ...

  2. Python学习日记(二十九) 网络编程

    早期的计算机通信需要有一个中间件,A要给B传东西,A必须要把信息传给中间件,B再把从中间件中拿到信息 由于不同机器之间需要通信就产生了网络 软件开发的架构 1.C/S架构 服务器-客户机,即Clien ...

  3. 修改mysql数据存储位置

    停止mysql服务. 在mysql安装目录下找到mysql配置文件my.ini. 在my.ini中找到mysql数据存储位置配置datadir选项,比如我电脑上的配置如下: # Path to the ...

  4. docker容器监控:cadvisor+influxdb+grafana

    cadvisor+influxdb+grafana可以实现容器信息获取.存储.显示等容器监控功能,是目前流行的docker监控开源方案. 方案介绍 cadvisor Google开源的用于监控基础设施 ...

  5. Gradle 使用教程之 Task 详解

    最近打算学习下 gradle 在 Android 中的使用,结果百度出来的文章都是介绍性文章,没啥干货.后来找到 gradle 官网教程,自己对着撸. Gradle 概述: Gradle 是一个基于 ...

  6. ES6中Number中的扩展

    1.Number.parseInt() , Number.parseFloat() 在ES6中将parseInt()和parseFloat()都移植到Number对象上去,方法的行为保持不变. // ...

  7. vscode编写html,常用快捷方式与插件

      一.tab键补全 1.1打开vscode新建html文件,在第一行输入!,然后按下tab键,会直接出现编写html语言的基本框架标签 效果如下: <!DOCTYPE html> < ...

  8. 微信小程序转百度小程序代码

    听说百度小程序开始出现手机端搜索流量,作为SEO一员,必须搞他.但是又奈何之前做的都是微信小程序,所以用php写了一个微信小程序转百度小程序代码. 修改文件后缀名 .wxml转换为.swan .wxs ...

  9. hive日期转换函数2

    转自大神 http://www.oratea.net/?p=944 无论做什么数据,都离不开日期函数的使用. 这里转载一下Hive的日期函数的使用,写的相当完整. 日期函数UNIX时间戳转日期函数: ...

  10. 36氪首发 | 掘金RPA百亿新蓝海,弘玑Cyclone获DCM、源码千万美元A轮融资

    https://36kr.com/p/5213638?ktm_source=feed 在“没风口”的2019年,RPA算是一个“小风口”了. 36氪了解到,近日国内数家RPA公司已完成或即将完成融资, ...