今天,带来一篇搭建RocketMQ单机环境的文章,为后面的分布式事务专栏做准备。RocketMQ是阿里巴巴开源的一款高性能分布式消息中间件,有关RocketMQ的详细讲解,后面会单独开设一个RocketMQ专栏。这里,先简单介绍一下搭建RocketMQ的单机环境,为分布式事务的介绍做准备。接下来,进入主题。
注意:我这里搭建RocketMQ环境的主机操作系统为:CentOS 6.8,IP地址为:192.168.175.100。
一、下载并安装RocketMQ
1.下载RocketMQ
首先,到Apache官网下载RocketMQ安装包,这里,我下载的RocketMQ的版本为4.5.2。在CentOS 6.8命令行输入如下命令下载RocketMQ安装包。
wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip
2.安装RocketMQ
(1)解压RocketMQ,如下所示:
unzip rocketmq-all-4.5.2-bin-release.zip
(2)重命名RocketMQ文件夹,如下所示:
mv rocketmq-all-4.5.2-bin-release rocketmq-all-4.5.2-bin
(3)配置系统环境变量,如下所示:
JAVA_HOME=/usr/local/jdk1.8.0_212 CLASS_PATH=.:$JAVA_HOME/lib ROCKETMQ_HOME=/usr/local/rocketmq-all-4.5.1-bin MYSQL_HOME=/usr/local/mysql3306 PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$MYSQL_HOME/bin:$PATH export PATH CLASS_PATH JAVA_HOME ROCKETMQ_HOME MYSQL_HOME
二、配置RocketMQ
1.修改runserver.sh文件
修改$ROCKET_HOME/bin目录下的runserver.sh文件,找到下面的一行代码。
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
将其注释掉,如下所示。
#JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
然后添加如下一行代码,如下所示。
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=320m"
2.修改runbroker.sh文件
修改$ROCKET_HOME/bin目录下的runbroker.sh文件,找到下面的一行代码。
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
将其注释掉,如下所示。
#JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
然后添加如下一行代码,如下所示。
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=320m"
3.修改broker.conf文件
修改ROCKET_HOME/conf目录下的broker.conf文件,修改后的文件内容如下所示。
brokerClusterName = DefaultCluster brokerName = broker-a namesrvAddr=192.168.175.100:9876 brokerId = 0 brokerIP1=192.168.175.100 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH storePathRootDir=/soft/rocketmq/data storePathCommitLog=/soft/rocketmq/logs
此时,需要执行如下命令创建RocketMQ的配置目录,如下所示。
mkdir -p /soft/rocketmq/datamkdir -p /soft/rocketmq/logs
三、启动RocketMQ
1.启动 namesrv
nohup mqnamesrv >> /dev/null 2>&1 &
2.启动broker
nohup mqbroker >> /dev/null 2>&1 &
四、验证RocketMQ是否启动成功
输入如下命令验证RocketMQ是否启动成功。
[root@binghe100 ~]# jps2080 NamesrvStartup2412 BrokerStartup2632 Jps
可以看到,RocketMQ的namesrv和broker启动成功,说明RocketMQ单机环境搭建成功。