Rocketmq安装
本集群三台服务器,Dledger模式,单master,前两台部署nameserver+broker,最后一台不部署nameserver
注:
(Dledger集群方案至少需要 3 个节点,通过 Raft 自动选举出一个 Leader,其余节点 作为 Follower,并在 Leader 和 Follower 之间复制数据以保证高可用。Dledger集群能自动容灾切换,并保证数据一致。)
安装前提,服务器必须有jdk环境
三台执行
安装包解压在/apps/svr/下
nameserver两台执行
cd /apps/svr/rocketmq/bin
dos2unix *
nohup sh mqnamesrv & #启动namesrv
cat nohup.out #查看是否启动成功
三台执行
vim /apps/svr/rocketmq/conf/dledger/broker-n0.conf #第二台就是broker-n1.conf、第三台就是broker-n2.conf
brokerClusterName = RaftCluster
brokerName=RaftNode00
listenPort=30911 #不是一台服务器上多实例的话不用改
brokerIP2=10.206.56.6 #本服务器ip
brokerIP1=10.206.56.6 #本服务器ip
namesrvAddr=10.206.56.6:9876;10.206.56.7:9876 #nameserver的ip+端口
storePathRootDir=/apps/data/rocketmq/n0/store #三台分别为n0、n1、n2
storePathCommitLog=/apps/data/rocketmq/n0/store/commitlog #三台分别为n0、n1、n2
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
dLegerPeers=n0-10.206.56.6:40911;n1-10.206.56.7:40912;n2-10.206.56.8:40913 #所有rocketmq节点,端口顺排
##must be unique
dLegerSelfId=n0 #三台分别为n0、n1、n2
sendMessageThreadPoolNums=16
cd /apps/svr/rocketmq/bin
nohup sh mqbroker -c …/conf/dledger/broker-n0.conf & #第二台为n1,第三台为n2
至此部署结束
#检查集群状态
cd /apps/svr/rocketmq/bin
sh mqadmin clusterlist -n 10.154.4.184:9876 #其中一台的ip:9876
Q&A:
如果出现报错类似于 [10015:signature-failed] unable to calculate 之类的
需要修改/apps/svr/rocketmq/bin/tools.sh 中
J
A
V
A
H
O
M
E
/
j
r
e
/
l
i
b
/
e
x
t
后
加
上
e
x
t
文
件
夹
的
绝
对
路
径
(
j
d
k
路
径
)
例
如
:
J
A
V
A
O
P
T
=
"
{JAVA_HOME}/jre/lib/ext后加上ext文件夹的绝对路径(jdk路径) 例如: JAVA_OPT="
JAVAHOME/jre/lib/ext后加上ext文件夹的绝对路径(jdk路径)例如:JAVAOPT="{JAVA_OPT} -Djava.ext.dirs=
B
A
S
E
D
I
R
/
l
i
b
:
{BASE_DIR}/lib:
BASEDIR/lib:{JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre/lib/ext"