系列文章目录
RocketMQ【1】linux安装配置Rocketmq(单机版)
RocketMQ【2】Rocketmq控制台安装启动(单机版)
文章目录
前言
作为RocketMQ的第一章节,这章主要介绍在linux下RocketMQ的安装。主要涉及JDK安装配置、RocketMQ4.9的下载、RocketMQ的基本配置。
一、JDK和RocketMQ安装包
1、官网地址
【官网地址-中文版】
官网下载龟速,这里提供快速下载。
2、JDK1.8
链接:https://pan.baidu.com/s/1KF_u8fIHbAK2puOILPQkZQ
提取码:dq8v
–来自百度网盘超级会员V5的分享
3、RocketMQ
1、清华镜像网站
https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq
2、百度云
链接:https://pan.baidu.com/s/1KP4PwObzUs7_MdOkG4Y8og
提取码:qry8
–来自百度网盘超级会员V5的分享
二、将安装包推送到linux服务器或者虚拟机
scp -r 安装包地址 用户名@远程地址:服务器文件存放位置
scp -r jdk-8u341-linux-x64.tar.gz root@192.168.3.106:/usr/local
三、JDK安装
1、配置profile文件
在/etc/profile
文件的末尾添加以下内容
vim /etc/profile
export JAVA_HOME= JDK安装目录
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2、刷新profile文件
source /etc/profile
3、验证是否安装成功
java -version
[root@rocketmqOS bin]# java -version
java version “1.8.0_341”
Java™ SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot™ 64-Bit Server VM (build 25.341-b10, mixed mode)
四、RocketMQ配置文件修改
1、关于虚拟机内存参数
-Xms 是应用程序的最小使用内存
Xmx是应用程序能够使用的最大内存
-Xmn4g:设置年轻代大小为4G,一般大小为堆大小的3/8
-Xss256m:设置每个线程的堆栈大小。
JDK5.0以后,每个线程堆栈大小为1M,以前每个线程堆栈大小为128k。更新应用的线程,所需内存大小进行调整。在相同物理内存下,减小这个值,能生成更多的线程。但是操作系统,对一个进程内的线程数,还是有限制的,不能无限生成,经验值在3000~5000左右
2、修改初始内存
1、修改/bin/runserver.sh
文件
-Xms4g -Xmx4g -Xmn2g修改为-Xms1g -Xmx1g -Xmn500m
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn500m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC"
JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
1、修改/bin/runbroker.sh
文件
-Xms8g -Xmx8g修改为-Xms1g -Xmx1g
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"
choose_gc_options
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -XX:+AlwaysPreTouch"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=15g"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages -XX:-UseBiasedLocking"
#JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}
五、RocketMQ启动
1、启动nameserver
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
2、启动broker
nohup sh bin/mqbroker -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/Broker.log
6、消息收发
在进行消息收发之前,我们需要告诉客户端NameServer的地址,RocketMQ有多种方式在客户端中设置NameServer地址,这里我们利用环境变量NAMESRV_ADDR
export NAMESRV_ADDR=localhost:9876
启动生产者生产消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
启动消费者消费消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
总结
以上为单机版的RocketMQ在linux环境下的安装配置,初步的测试发送和消费消息,后面的博客会继续写高级的内容。