当前位置: 首页 > wzjs >正文

国内做优秀的农业信息网站郴州网站建设

国内做优秀的农业信息网站,郴州网站建设,word还是wordpress,企业如何做好网络推广环境:mac M4 Linux:虚拟机 centos9 1. 下载 官网下载地址链接 rocketmq-dashboard可视化界面下载链接 官网文档链接 2. 修改配置 修改两个.sh配置文件的目的仅仅是为了运行时占用的内存少一些,如果电脑配置够高,不修改也行 下…

环境:mac M4
Linux:虚拟机 centos9

1. 下载

官网下载地址链接
rocketmq-dashboard可视化界面下载链接
官网文档链接

2. 修改配置

修改两个.sh配置文件的目的仅仅是为了运行时占用的内存少一些,如果电脑配置够高,不修改也行

  1. 下载rocketmq-all-5.3.2-bin-release.zip后拷贝到centos中解压
unzip rocketmq-all-5.3.2-bin-release.zip
  1. 修改解压后/bin目录中的两个文件,将内存改小,目的是为了在虚拟机中好运行

runbroker.sh

  • 将原来的-Xms8g -Xmx8g改成-Xms2g -Xmx2g
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g"

runserver.sh

  • 代码中有个判断语句if [ -z "$JAVA_MAJOR_VERSION" ] || [ "$JAVA_MAJOR_VERSION" -lt "9" ] ; then一个if判断,如果java版本小于9就会走上面的配置,大于9就会走else中的配置。
  • 将原来的-Xms4g -Xmx4g改成-Xms2g -Xmx2g
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
  1. 修改/conf中的broker.conf配置文件

在最后追加3行代码

brokerClusterName = DefaultCluster
...
flushDiskType = ASYNC_FLUSHnamesrvAddr = 192.168.89.129:9876
autoCreateTopicEnable = true
brokerIP1 = 192.168.89.129
  • 这个配置文件是给mqbroker启动时的配置
  • namesrvAddr = 192.168.89.129:9876:当 Broker 启动时,会依据这个配置的地址和端口,主动连接 NameServer 并注册自身的信息
  • autoCreateTopicEnable = true:当生产者尝试向一个不存在的主题发送消息时,Broker 会自动创建这个主题,生产环境中,通常不建议开启此功能
  • brokerIP1 = 192.168.89.129:指定 Broker 对外暴露的 IP 地址。Broker 在向 NameServer 注册自身信息时,会把 brokerIP1 配置的 IP 地址一并注册上去。NameServer 再把这个 IP 地址提供给生产者和消费者,从而保证它们能够正确地连接到 Broker。
  • 在生产环境NameServer和Broker可能不在同一个服务器中,配置地址时需配置服务器提供的地址。
  • 在虚拟机中也不要配置127.0.0.1,rocketmq-dashboard有时会找不到,不知道是哪儿的bug

3. 启动

修改profile

vim /etc/profile

将rocketmq加入path中,启动和停止的时候不用使用路径了,省事

# 配置rocketmq
export ROCKETMQ_HOME=/root/rocketmq
export PATH=$ROCKETMQ_HOME/bin:$PATH
# 启动NameServer
[root@centoshost rocketmq]# mqnamesrv
The Name Server boot success. serializeType=JSON, address 0.0.0.0:9876
# 启动Bocker
[root@centoshost ~]# mqbroker -n 192.168.89.129:9876
# 中间有很多日志,可拷贝给ai看看
The broker[centoshost, 192.168.89.129:10911] boot success. serializeType=JSON and name server is 192.168.89.129:9876
  • mqbroker -n 192.168.89.129:9876:192.168.89.129:9876是NameServer的地址,我不配置这个mqbroker可以启动,但是rocketmq-dashboard看不到mqbroker,感觉是没有自动取加载conf配置文件

4. 安装rocketmq-dashboard

这里没有使用docker镜像,直接运行的jar包
修改yml文件

rocketmq:config:namesrvAddrs:- 192.168.89.129:9876
  • 在idea中运行测试一下,已经可以看到NameServer和Broker
  • 将jar包拷贝到虚拟机中运行,也可以在本地运行
# 启动 rocketmq-dashboard
[root@centoshost rocketmq-dashboard]# java -jar rocketmq-dashboard-2.0.1-SNAPSHOT.jar 

页面显示

在这里插入图片描述
在这里插入图片描述

5. Docker 部署 RocketMQ5

如果运行环境是mac主机、虚拟机安装centos,想使用docker镜像安装rocketmq行不通,因为他们的镜像是arm64的,不能用,需要重新编译,包括:rocketmq-dashboard、mqnamesrv、broker3个镜像都需要重新制作镜像,制作镜像的方法链接

参考文章[链接]
(https://blog.csdn.net/weixin_44606481/article/details/129758920)

# 拉取rocketmq
docker pull apache/rocketmq:5.3.2

部署nameServer

# 创建日志目录,脚本目录
mkdir /root/rocketmq/nameserver/logs -p
mkdir /root/rocketmq/nameserver/bin -p
# 修改文件权限
chmod 777 -R /root/rocketmq/nameserver/*
# 随便启动mqnamesrv,拷贝完文件就删除
docker run -d \
--privileged=true \
--name rmqnamesrv \
apache/rocketmq:5.3.2 sh mqnamesrv
# 复制容器内启动脚本到挂载目录
docker cp rmqnamesrv:/home/rocketmq/rocketmq-5.3.2/bin/runserver.sh /root/rocketmq/nameserver/bin/runserver.sh
# 删除容器
docker rm -f rmqnamesrv
# 启动nameServer
docker run -d \
--privileged=true \
--restart=always \
--name rmqnamesrv \
-p 9876:9876  \
-v /root/rocketmq/nameserver/logs:/home/rocketmq/logs \
-v /root/rocketmq/nameserver/bin/runserver.sh:/home/rocketmq/rocketmq-5.3.2/bin/runserver.sh \
-e "MAX_HEAP_SIZE=256M" \
-e "HEAP_NEWSIZE=128M" \
apache/rocketmq:5.3.2 sh mqnamesrv

部署Broker

# 创建需要的挂载目录
mkdir /root/rocketmq/broker/logs -p \
mkdir /root/rocketmq/broker/data -p \
mkdir /root/rocketmq/broker/conf -p \
mkdir /root/rocketmq/broker/bin -p
# 设置权限
chmod 777 -R /root/rocketmq/broker/*
# 创建Broker的配置文件
vi /root/rocketmq/broker/conf/broker.conf
# broker.conf# 集群名称
brokerClusterName = DefaultCluster
# 节点名称
brokerName = broker-a
# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0 
brokerId = 0
# 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04
deleteWhen = 04
# 以小时计算的文件保留时间 默认值72小时
fileReservedTime = 48
# Broker角色
brokerRole = ASYNC_MASTER
# 刷盘方式
flushDiskType = ASYNC_FLUSH# nameServer 地址多个用;隔开 默认值null
# 例:127.0.0.1:6666;127.0.0.1:8888 
namesrvAddr = 192.168.3.234:9876
# 是否允许Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
# Broker服务地址,内部使用填内网ip,如果是需要给外部使用填公网ip
brokerIP1 = 192.168.3.234
# 启动Broker,用于拷贝文件
docker run -d \
--name rmqbroker \
--privileged=true \
apache/rocketmq:5.3.2 \
sh mqbroker
# 拷贝Broker里面的文件
docker cp rmqbroker:/home/rocketmq/rocketmq-5.3.2/bin/runbroker.sh /root/rocketmq/broker/bin/runbroker.sh
# 删除Broker容器
docker rm -f rmqbroker
# 启动Broker
docker run -d \
--restart=always \
--name rmqbroker \
-p 10911:10911 -p 10909:10909 \
--privileged=true \
-v /root/rocketmq/broker/logs:/root/logs \
-v /root/rocketmq/broker/store:/root/store \
-v /root/rocketmq/broker/conf/broker.conf:/home/rocketmq/broker.conf \
-v /root/rocketmq/broker/bin/runbroker.sh:/home/rocketmq/rocketmq-5.3.2/bin/runbroker.sh \
-e "MAX_HEAP_SIZE=512M" \
-e "HEAP_NEWSIZE=256M" \
apache/rocketmq:5.3.2 \
sh mqbroker -c /home/rocketmq/broker.conf

部署rocketmq-dashboard

# 拉取
docker pull apacherocketmq/rocketmq-dashboard:latest
# RocketMQ Dashboard启动
docker run -d \
--restart=always \
--name rmqdashboard \
-e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=192.168.3.234:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 9875:8080 \
apacherocketmq/rocketmq-dashboard:latest

在这里插入图片描述

6. 使用 docker-compose部署

创建yml文件,文件位置随意

vim /root/docker-compose
  • 拷贝以下代码,使用了RocketMq 5.2
services:rmqnamesrv:image: apache/rocketmq:5.2.0container_name: rmqnamesrvrestart: alwaysprivileged: trueports:- "9876:9876"volumes:- /root/rocketmq/nameserver/logs:/home/rocketmq/logs- /root/rocketmq/nameserver/bin/runserver.sh:/home/rocketmq/rocketmq-5.2.0/bin/runserver.shcommand: sh mqnamesrvrmqbroker:image: apache/rocketmq:5.2.0container_name: rmqbrokerrestart: alwaysprivileged: trueports:- "10911:10911"- "10909:10909"volumes:- /root/rocketmq/broker/logs:/root/logs- /root/rocketmq/broker/store:/root/store- /root/rocketmq/broker/conf/broker.conf:/home/rocketmq/broker.conf- /root/rocketmq/broker/bin/runbroker.sh:/home/rocketmq/rocketmq-5.2.0/bin/runbroker.shcommand: sh mqbroker -c /home/rocketmq/broker.confdepends_on:- rmqnamesrvrmqdashboard:image: apacherocketmq/rocketmq-dashboard:latestcontainer_name: rmqdashboardrestart: alwaysenvironment:- JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.3.234:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=falseports:- "9875:8080"depends_on:- rmqnamesrv- rmqbroker

启动

docker-compose up -d

7. docker-compose的基本命令

docker-compose.yml 是 Docker Compose 的配置文件,用于定义和管理多个 Docker 容器的应用程序。以下是使用 docker-compose.yml 的基本步骤:

  1. 安装 Docker Compose:首先,确保你已经安装了 Docker Compose。下载的docker中一般已经包含了Compose
[root@centos9 ~]# docker-compose --version
Docker Compose version v2.35.1
  1. 创建 docker-compose.yml 文件:在随意一个目录中创建一个名为 docker-compose.yml 的文件。这个文件使用 YAML 格式来定义你的应用程序的服务、网络和卷等。

  2. 定义服务:在 docker-compose.yml 文件中,使用 services 关键字来定义你的应用程序的各个服务。每个服务都有一个名称,并且可以指定以下属性:

    • image:指定服务使用的 Docker 镜像。
    • ports:指定服务暴露的端口。
    • volumes:指定服务使用的卷。
    • environment:指定服务的环境变量。
    • depends_on:指定服务之间的依赖关系。

例如,以下是一个简单的 docker-compose.yml 文件,定义了一个 Web 服务和一个数据库服务:

services:web:image: nginxports:- "80:80"volumes:-./html:/usr/share/nginx/htmldb:image: mysqlenvironment:- MYSQL_ROOT_PASSWORD=password- MYSQL_DATABASE=mydatabasevolumes:-./data:/var/lib/mysql

在这个例子中,web 服务使用了 Nginx 镜像,并将容器的 80 端口映射到主机的 80 端口。web 服务还使用了一个卷,将主机的 ./html 目录挂载到容器的 /usr/share/nginx/html 目录。db 服务使用了 MySQL 镜像,并设置了一些环境变量。db 服务也使用了一个卷,将主机的 ./data 目录挂载到容器的 /var/lib/mysql 目录。

  1. 启动服务:在目录中打开终端,运行以下命令来启动服务,在终端显示日志,退出则会关闭容器:
docker-compose up

这个命令会读取 docker-compose.yml 文件,并启动其中定义的所有服务。你可以使用 -d 选项来在后台运行服务:

docker-compose up -d
  1. 管理服务:使用 docker-compose 命令来管理服务。例如,你可以使用以下命令来停止服务:
docker-compose down

你还可以使用以下命令来重启服务:

docker-compose restart
  1. 查看服务状态:使用 docker-compose ps 命令来查看服务的状态。这个命令会列出所有正在运行的服务及其状态。

  2. 查看服务日志:使用 docker-compose logs 命令来查看服务的日志。这个命令会显示所有服务的日志输出。

  3. 扩展服务:使用 docker-compose scale 命令来扩展服务。例如,你可以使用以下命令来将 web 服务扩展到 3 个实例:

docker-compose scale web=3
http://www.dtcms.com/wzjs/397484.html

相关文章:

  • wordpress phonegap深圳知名seo公司
  • 网站搜索引擎关键字怎么做百度知道问答
  • 大数据网站开发工程师网络外包
  • 视频网站砸钱做生态hyein seo
  • 网教网站源码广州四楚seo顾问
  • 东莞企业为什么网站建设网络营销的5种方式
  • 苏州网站公司什么是网络营销工具
  • crm系统客户管理系统seo营销优化
  • 北京最好的网站制作公司厦门seo培训学校
  • 广东高端网站建设报价大地资源网在线观看免费
  • 项目宣传网站模板免费下载百度霸屏推广一般多少钱
  • 处方药可以做网站吗如何做市场调研和分析
  • 百度搜索下载app青岛招聘seo
  • 目前做哪些网站致富福州seo代理计费
  • 关于做好全国网站建设近期的新闻热点
  • 那个网站卖做防水的烤枪竞价推广课程
  • 泉州网站建设学徒招聘外贸网站推广方式
  • 定做网站建设甘肃seo网站
  • 遵义做网站的网站推广和优化的原因
  • 河南开封网站建设自己做网站的软件
  • 网站短信通知网站建设加推广优化
  • 国内主要免费的b2b网站有浏览器打开是2345网址导航
  • 怎么样自己制作网页seo技巧是什么
  • 做网站年薪百万我为什么不建议年轻人做运营
  • 长沙个人网站建设淘宝店铺买卖交易平台
  • php一台电脑做网站windows优化大师的作用
  • 家装设计网站怎么做上海互联网公司排名
  • 网站开发的常见编程语言有哪些浏览器看b站
  • 自做网站多少钱百度网页游戏
  • 西安seo服务外包seo如何优化