草庐IT

Linux部署rocketmq和可视化客户端

贺haha 2023-03-28 原文

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

部署rocketmq和可视化客户端

一、 服务器资源

服务名称:Linux服务器

IP:[请查看资源分配文档]

操作系统:CentOS 7.8 x64

二、rocketmq安装

2.1下载

下载地址:rocketmq.apache.org/dowloading/…

这里,咋们下载4.8.0版本

2.2、将压缩包放到 tools目录下并解压

rocketmq-all-4.8.0-bin-release.zip上传到/opt/tools目录下并解压并重命名

# cd /opt/tools

# unzip -d /opt/apps/ rocketmq-all-4.8.0-bin-release.zip

# cd /opt/apps/

# mv rocketmq-all-4.8.0-bin-release rocketmq-4.8.0

2.3、配置环境变量

# vi /etc/profile

在文件末尾添加以下内容:

#rocketmq env

export ROCKETMQ_HOME=/opt/apps/rocketmq-4.8.0

export PATH=$PATH:$ROCKETMQ_HOME/bin

使修改生效:

# source /etc/profile

2.4、创建存储路径和日志目录

# mkdir -p /opt/apps/rocketmq-4.8.0/store/{store,commitlog,consumequeue,index}

# mkdir /opt/apps/rocketmq-4.8.0/logs

2.5、broker配置

备份原配置文件

# cd /opt/apps/rocketmq-4.8.0/conf

# mv broker.conf broker.conf.bak

# vi broker.conf

添加以下内容:

#ip为服务器内网地址,port可自由设置一般为9876

namesrvAddr=xxx.xxx.x.xx:9876

messageIndexSafe=true

#是否允许Broker 自动创建。Topic,建议线下开启,线上关闭

autoCreateTopicEnable=true

waitTimeMillsInSendQueue=5000

#发送消息线程池数量

sendMessageThreadPoolNums=64

useReentrantLockWhenPutMessage=true

defaultReadQueueNums = 16

defaultWriteQueueNums = 16

#ip设置外网ip,不需要连接外网的话,可以在参数前面加#注释掉

#brokerIP1=ip(外网ip)

#默认值为DefaultCluster,可以修改为broker所属的哪个集群

brokerClusterName=DefaultCluster

#原始值为本机主机名,Broker名称

brokerName=broker-a

#BrokerId,必须是大等于 0 的整数,0 表示Master,>0 表示 Slave,一个 Master 可以挂多个 Slave,Master 与 Slave通过 BrokerName 来配对,原始值为0

brokerId=0

deleteWhen=04

fileReservedTime=48

brokerRole=ASYNC_MASTER

flushDiskType=ASYNC_FLUSH

#port可自由设置,一般设置10911

listenPort=10911

storePathRootDir=/opt/apps/rocketmq-4.8.0/store

storePathCommitLog=/opt/apps/rocketmq-4.8.0/store/commitlog

storePathConsumeQueue=/opt/apps/rocketmq-4.8.0/store/consumequeue

storePathIndex=/opt/apps/rocketmq-4.8.0/store/index

修改启动脚本参数,根据自己linux的配置进行调整:

# vi /opt/apps/rocketmq-4.8.0/bin/runbroker.sh

调整以下内容:

JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"

注意:Xms和Xmx至少是1G  否则启动不起来  Xmn一般是前者的一半,这边设置的内存不能大于机器实际的内存,根据实际情况调整

# vi /opt/apps/rocketmq-4.8.0/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"

注意:Xms和Xmx至少是1G  否则启动不起来  Xmn一般是前者的一半,这边设置的内存不能大于机器实际的内存,根据实际情况调整

2.6、启动NameSrv

# nohup sh mqnamesrv > /opt/apps/rocketmq-4.8.0/logs/mqnamesrv.log 2>&1 &

验证是否启动成功

# tail -f /opt/apps/rocketmq-4.8.0/logs/mqnamesrv.log

# jps

2.7、启动broker

# nohup sh mqbroker -c /opt/apps/rocketmq-4.8.0/conf/broker.conf >/opt/apps/rocketmq-4.8.0/logs/broker.log 2>&1 &

验证是否启动成功

# tail -f /opt/apps/rocketmq-4.8.0/logs/broker.log

# jps

2.8、停止broker

# sh mqshutdown broker

备注:停止这个任务时不能用kill,如果用kill的话,重新启动的话,broker是启动不了的。

2.9、停止namesrv

# sh mqshutdown namesrv

备注:停止这个任务时不能用kill,如果用kill的话,重新启动的话,broker是启动不了的。

三、配置防火墙

3.1、配置防火墙

启动9876、10911端口

# firewall-cmd --permanent --add-port=9876/tcp

# firewall-cmd --permanent --add-port=10911/tcp

重启防火墙

# systemctl restart firewalld

四、可视化客户端

这里,rocketmq提供了可视化客户端,就是rocketmq-console-ng

4.1下载

下载地址

4.2源码打包

mvn clean package -Dmaven.test.skip=true

如果你下载依赖慢,可以配置一下maven仓库地址,修改mavensettings.xml文件

<mirrors>
    <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>

4.3jar包启动

打包成功后,可以看到target下,生成rocketmq-console-ng-1.0.0.jar

启动即可:

java -jar target/rocketmq-console-ng-1.0.0.jar --server.port=7777 --rocketmq.config.namesrvAddr=xxxx:9876
  • server.port是指定启动端口
  • rocketmq.config.namesrvAddr是指定rocketmq的nameserver地址

可以看到启动成功!!!

  • 直接访问localhost:7777,即可看到rocketmq可视化客户端

好了,rocketmq部署成功,可视化客户端部署成功!!!

本文转自:https://juejin.cn/post/7091642840651923486

有关Linux部署rocketmq和可视化客户端的更多相关文章

  1. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  2. ruby - Ruby 中的波形可视化 - 2

    我即将开始一个将录制和编辑音频文件的项目,我正在寻找一个好的库(最好是Ruby,但会考虑Java或.NET以外的任何库)以进行实时可视化波形。有人知道我应该从哪里开始搜索吗? 最佳答案 要流入浏览器的数据量很大。Flash或Flex图表可能是唯一能提高内存效率的解决方案。Javascript图表往往会因大型数据集而崩溃。 关于ruby-Ruby中的波形可视化,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

  3. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  4. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  5. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  6. Ruby,使用包含 TK GUI 的 ocra 部署一个 exe - 2

    Ocra无法处理需要“tk”的应用程序require'tk'puts'nope'用奥克拉http://github.com/larsch/ocra不起作用(如链接中的一个问题所述)问题:https://github.com/larsch/ocra/issues/29(Ocra是1.9的"new"rubyscript2exe,本质上它用于将rb脚本部署为可执行文件)唯一的问题似乎是缺少tcl的DLL文件我不认为这是一个问题据我所知,问题是缺少tk的DLL文件如果它们是已知的,则可以在执行ocra时将它们包括在内有没有办法知道tk工作所需的DLL依赖项? 最佳答

  7. ruby-on-rails - NameError(未初始化常量 Unzipper::Zip)但仅在 Heroku 部署(Rails)上 - 2

    我有一个类unzipper.rb,它使用Rubyzip解压文件。在我的本地环境中,我可以成功解压缩文件,而无需使用require'zip'明确包含依赖项但是在Heroku上,我得到一个NameError(uninitializedconstantUnzipper::Zip)我只能通过使用明确的require来解决问题:为什么这在H​​eroku环境中是必需的,但在本地主机上却不是?我的印象是Rails自动需要所有gem。app/services/unzipper.rbrequire'zip'#OnlyrequiredforHeroku.Workslocallywithout!class

  8. ruby - Sinatra + Heroku + Datamapper 使用 dm-sqlite-adapter 部署问题 - 2

    出于某种原因,heroku尝试要求dm-sqlite-adapter,即使它应该在这里使用Postgres。请注意,这发生在我打开任何URL时-而不是在gitpush本身期间。我构建了一个默认的Facebook应用程序。gem文件:source:gemcuttergem"foreman"gem"sinatra"gem"mogli"gem"json"gem"httparty"gem"thin"gem"data_mapper"gem"heroku"group:productiondogem"pg"gem"dm-postgres-adapter"endgroup:development,:t

  9. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  10. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

随机推荐