rocketMQ4.8.0入门记录(一)

随便说两句:

rocketMQ是阿里云出品,现在并入了apache,所以在最开始找rocketMQ官方库的时候找了半天也没找到,虽然看见好几次apache/rocketMq,但都被我主动略过了,惭愧。

写这篇记录,一是为了刚了解rocketMQ的人能少走一些弯路,二是为了能让我自己以后少走些弯路。

linux用的是wsl2-ubuntu20.04,环境是docker。

一、创建容器

创建

新手入门,创建一个干净的linux环境最好的方式不外乎docker,所以没有ubuntu镜像的先拉取最新的ubuntu镜像:

docker pull ubuntu:20.04

接下来创建容器,rocketMQ可能用到两个端口98768080,暂时不管这两个端口的作用,先把映射添加上再说:

docker run -itd --name rocketmq -p 8080:8080 -p 9876:9876 ubuntu

配置

一个干净的ubuntu容器因为太干净,啥都没有,在使用时并不方便。

先换阿里云镜像:

sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list

安装可能需要用到的软件:

apt update && apt upgrade -y && apt install -y nano curl openjdk-8-jdk git maven unzip

不要自作聪明安装8+的jdk

配置 github 加速:github全局代理或cdn加速 - 简书 (jianshu.com)

添加raw.githubusercontent.com域名映射:

sudo vim /etc/hosts

添加:

185.199.108.133 raw.githubusercontent.com

可选安装配置vim

apt install vim wget
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
wget https://raw.githubusercontent.com/thep0y/vim/master/.vimrc
vim .vimrc
:PluginInstall

可选安装配置zsh:

参考 linux和macOS安装oh my zsh - 简书 (jianshu.com)

二、下载

既然是阿里云的东西,那阿里云镜像站里肯定有,下面两条命令二选一:

# 编绎好的包
wget https://mirrors.aliyun.com/apache/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip
# 需要自行编绎的包
wget https://mirrors.aliyun.com/apache/rocketmq/4.8.0/rocketmq-all-4.8.0-source-release.zip

想自行编绎的,参考官方文档:Quick Start - Apache RocketMQ

解压二进制压缩包:

unzip rocketmq-all-4.8.0-bin-release.zip

三、配置

cd rocketmq-all-4.8.0-bin-release

先试一下能不能正常启动nameserverbroker服务器。

sh bin/mqnamesrv
sh bin/mqbroker localhost:9876

只是测试用的,有报错的话复制错误信息的关键部分在Issues · apache/rocketmq-client-go (github.com)里通常都能找到解决办法或找到同病相怜之人 。

上面测试通过后,需要修改runserver.shrunbroker.sh里的内存容量部分,在这两个脚本里都搜索-server -Xms,将其内存分配小点(默认是4G和8G,建议根据比例调整)。

# runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

四、rocketMQ控制台

控制台在官方扩展库里:

git clone https://github.com/apache/rocketmq-externals.git

设置maven镜像,不然接下来的编绎会在apache官方源里下载文件,速度以b计。

nano ~/.m2/settings.xml

粘贴:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors>
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>central</mirrorOf>
     <name>阿里云公共仓库</name>
     <url>https://maven.aliyun.com/repository/central</url>
    </mirror>
    <mirror>
      <id>repo1</id>
      <mirrorOf>central</mirrorOf>
      <name>central repo</name>
      <url>http://repo1.maven.org/maven2/</url>
    </mirror>
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>apache snapshots</mirrorOf>
     <name>阿里云阿帕奇仓库</name>
     <url>https://maven.aliyun.com/repository/apache-snapshots</url>
    </mirror>
  </mirrors>
  <proxies/>
  <activeProfiles/>
  <profiles>
    <profile>
        <repositories>
           <repository>
                <id>aliyunmaven</id>
                <name>aliyunmaven</name>
                <url>https://maven.aliyun.com/repository/public</url>
                <layout>default</layout>
                <releases>
                        <enabled>true</enabled>
                </releases>
                <snapshots>
                        <enabled>true</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>MavenCentral</id>
                <url>http://repo1.maven.org/maven2/</url>
            </repository>
            <repository>
                <id>aliyunmavenApache</id>
                <url>https://maven.aliyun.com/repository/apache-snapshots</url>
            </repository>
        </repositories>
     </profile>
  </profiles>
</settings>

编绎rocketmq-console

cd rocketmq-externals/rocketmq-console
mvn clean package -DskipTests

编绎成功后的jar文件在子目录target里:

cd target
java -jar rocketmq-console-ng-x.x.x.jar --rocketmq.config.namesrvAddr=127.0.0.1:9876

然后在浏览器地址栏输入网址http://localhost:8080回车,就进入控制台了。

五、测试

rocketMQ给我们提供的默认测试工具在bin目录下,叫tools.sh。我们测试前需要配置这个脚本,为他指定namesrv地址才可以,否则测试发送/消费消息的时候会出现如下错误 connect to null failed

export NAMESRV_ADDR=localhost:9876
cd cd rocketmq-all-4.8.0-bin-release/bin
# 发送消息
./tools.sh org.apache.rocketmq.example.quickstart.Producer
# 消费消息
./tools.sh org.apache.rocketmq.example.quickstart.Consumer

可以在控制台Message-TOPIC-Topic: Topic Test里查看刚刚发送和消费的信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容