知识库

标准化实施手册及常见错误


消息中心部署

<h2>消息中心部署</h2> <h5>系统:centos</h5> <h5>环境搭建:jdk nginx</h5> <h5>安装清单:docker rocketMq 数据库 中间件</h5> <h2>rocketMq部署(非集群 单个broker和单个namesrv配置)</h2> <h3><strong>安装docker</strong></h3> <p>配置仓库信息 编辑文件/etc/docker/daemon.json,没有则直接创建 vim /etc/docker/daemon.json</p> <p>文件没有内容添加如下: { &quot;data-root&quot;:&quot;/risen/docker&quot;, &quot;insecure-registries&quot;:[&quot;60.191.64.3:9963&quot;],&quot;bip&quot;:&quot;192.168.88.1/24&quot; } 配置完成后重启docker</p> <h3>拉取镜像</h3> <ul> <li> <p><strong>X86:</strong> 拉取rocketmq_namesrv docker pull 60.191.64.3:9963/risen/rocketmq_namesrv_x86 拉取rocketmq_broker docker pull 60.191.64.3:9963/risen/rocketmq_broker_x86 拉取rocketmq-console-ng docker pull 60.191.64.3:9963/risen/rocketmq_console_ng_x86</p> </li> <li> <p><strong>mips64:</strong> 拉取broker与namesrv,此镜像包含broker与namesrv,根据启动命令不同,启动不同的程序 docker pull 60.191.64.3:9963/risen/rocketmq_all_mips64 拉取控制台镜像 docker pull 60.191.64.3:9963/risen/rocketmq_console_mips64</p> </li> <li><strong>arm64:</strong> 拉取broker与namesrv,此镜像包含broker与namesrv,根据启动命令不同,启动不同的程序 docker pull 60.191.64.3:9963/risen/rocketmq_all_arm64 拉取控制台镜像 docker pull 60.191.64.3:9963/risen/rocketmq_console_arm64</li> </ul> <h3><strong> 部署rocketmq</strong></h3> <p><strong>创建所需要的文件夹</strong></p> <ul> <li><strong>创建namesrv日志文件夹</strong> mkdir -p /risen/soft/rocketmq/namesrv/logs 创建broker日志文件夹 mkdir -p /risen/soft/rocketmq/broker/logs 创建broker数据文件夹 mkdir -p /risen/soft/rocketmq/broker/store 给上述文件夹赋权 chmod 777 -R /risen/soft/rocketmq</li> </ul> <p><strong>运行rocketmq_namesrv容器</strong></p> <ul> <li> <p><strong>X86运行命令</strong></p> <p>docker run -d -p 9876:9876 -v /risen/soft/rocketmq/namesrv/logs:/home/rocketmq/logs --name rmqnamesrv --restart=always -e jvm_Xmx=&quot;2048M&quot; -e jvm_Xms=&quot;2048M&quot; -e jvm_Xmn=&quot;1024M&quot; 60.191.64.3:9963/risen/rocketmq_namesrv_x86:latest sh mqnamesrv</p> <p>参数解析: -p 映射端口到宿主机(宿主机端口:容器端口),容器端口不变,根据情况修改宿主机端口 -v 映射目录到宿主机,该命令映射的是日志文件夹 --name 给容器命名 -e jvm_Xmx=&quot;2048M&quot; 设置jvm的Xmx内存,如不设置该参数,默认为:服务器内存大于4G时,取四分之一;服务器内存小于4G时,取二分之一 -e jvm_Xms=&quot;2048M&quot; 设置jvm的Xms内存,如不设置该参数,默认为:服务器内存大于4G时,取四分之一;服务器内存小于4G时,取二分之一 -e jvm_Xmn=&quot;1024M&quot; 设置jvm的Xmn内存,默认为:(cpu核数*100)M与Xmx默认内存的四分之一作比较,谁小取谁 60.191.64.3:9963/risen/rocketmq_namesrv_x86:latest 使用的镜像 sh mqnamesrv 运行此镜像使用的命令 注:jvm三个参数必须同时配置或者默认,不可出现只配置部分jvm。</p> </li> </ul> <ul> <li><strong> mips64运行命令与arm64运行命令一致(注意镜像名称即可)</strong> docker run -d -p 9876:9876 -v /risen/soft/rocketmq/namesrv/logs:/root/logs --name rmqnamesrv --restart=always -e jvm_Xmx=&quot;2048M&quot; -e jvm_Xms=&quot;2048M&quot; -e jvm_Xmn=&quot;1024M&quot; 60.191.64.3:9963/risen/rocketmq_all_mips64:latest sh mqnamesrv</li> </ul> <p><strong>运行rocketmq_broker容器</strong></p> <ul> <li> <p><strong>X86运行命令</strong> docker run -d -p 10911:10911 -p 10909:10909 -p 10912:10912 --name rmqbroker \ --restart=always -v /data/soft/rocketmq/broker/logs:/home/rocketmq/logs -v /risen/soft/rocketmq/broker/store:/home/rocketmq/store -e &quot;NAMESRV_ADDR=192.168.133.148:9876&quot; -e &quot;MAX_POSSIBLE_HEAP=200000000&quot; -e &quot;BROKER_ID=0&quot; -e &quot;BROKER_CLUSTER_NAME=DefaultCluster&quot; -e &quot;BROKER_NAME=broker-a&quot; -e &quot;LISTEN_PORT=10911&quot; -e &quot;BROKERIP1=192.168.133.148&quot; -e other_conf=&quot;enablePropertyFilter=true,aclEnable=true&quot; -e acl_conf=&quot;192.168.1.*, 192.168.133.148&quot; -e jvm_Xmx=&quot;2048M&quot; -e jvm_Xms=&quot;2048M&quot; -e jvm_Xmn=&quot;1024M&quot; 60.191.64.3:9963/risen/rocketmq_broker_x86:latest sh ./brokerStart.sh</p> <p>参数解析: -p 10911:10911 -p 10909:10909 -p 10912:10912 映射端口到宿主机修改宿主机端口,此处内外端口映射必须一致,否则namesrv连接不到broker,主端口为n时(例子中为:10911),其他两个端口为n+1(10912)和n-2(10909) -v 映射目录到宿主机,该命令映射的是日志文件夹与数据文件夹 --name 给容器命名 -e &quot;NAMESRV_ADDR=192.168.109.132:5176&quot; 此处配置namesrv的地址,ip(不可用127.0.0.1) -e &quot;BROKER_ID=0&quot;设置broker的id(0为主其他为从),单实例默认为0 -e &quot;BROKER_NAME=broker-a&quot;设置broker的name -e &quot;LISTEN_PORT=10911&quot;设置broker的主端口 -e &quot;BROKERIP1=192.168.109.132&quot; 设置broker的ip地址,即本机ip -e other_conf=&quot;enablePropertyFilter=true&quot; 设置其他配置,如有其他配置以逗号’,’相隔 例:-e other_conf=&quot;enablePropertyFilter=true,其他配置&quot; -e acl_conf=&quot;192.168.1.<em>,192.168.133.148&quot; 设置acl策略,多个ip之间以逗号’,’相隔,docker没有修改容器ip段时此参数填写172.17.0.</em>与宿主机机ip与其他ip策略,如docker修改了容器ip网段,则改为容器ip网段与宿主机ip与其他ip策略即可。 -e jvm_Xmx=&quot;2048M&quot; 设置jvm的Xmx内存,如不设置该参数,默认为:服务器内存大于4G时,取四分之一;服务器内存小于4G时,取二分之一 -e jvm_Xms=&quot;2048M&quot; 设置jvm的Xms内存,如不设置该参数,默认为:服务器内存大于4G时,取四分之一;服务器内存小于4G时,取二分之一 -e jvm_Xmn=&quot;1024M&quot; 设置jvm的Xmn内存,默认为:(cpu核数*100)M与Xmx默认内存的四分之一作比较,谁小取谁 60.191.64.3:9963/risen/rocketmq_broker_x86:latest 使用的镜像 sh ./brokerStart.sh 运行此镜像使用的命令</p> </li> </ul> <ul> <li><strong>mips64运行命令与arm64运行命令一致(注意镜像名称即可)</strong> docker run -d -p 10911:10911 -p 10909:10909 -p 10912:10912 --name rmqbroker --restart=always -v /data/soft/rocketmq/broker/logs:/root/logs -v /data/soft/rocketmq/broker/store:/root/store -e &quot;NAMESRV_ADDR=172.20.17.105:56667&quot; -e &quot;MAX_POSSIBLE_HEAP=200000000&quot; -e &quot;BROKER_ID=0&quot; -e &quot;BROKER_CLUSTER_NAME=DefaultCluster&quot; -e &quot;BROKER_NAME=broker-a&quot; -e &quot;LISTEN_PORT=10911&quot; -e &quot;BROKERIP1=172.20.17.105&quot; -e other_conf=&quot;enablePropertyFilter=true,aclEnable=true&quot; -e acl_conf=&quot;172.17.0.*, 172.20.17.105&quot; -e jvm_Xmx=&quot;2048M&quot; -e jvm_Xms=&quot;2048M&quot; -e jvm_Xmn=&quot;1024M&quot; 60.191.64.3:9963/risen/rocketmq_all_arm64:latest sh ./brokerStart.sh</li> </ul> <p><strong>运行console容器</strong></p> <ul> <li> <p><strong>X86运行命令</strong> docker run -dt -e &quot;JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.133.148:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false&quot; --name=rmqconsole --restart=always -p 8080:8080 60.191.64.3:9963/risen/rocketmq_console_ng_x86</p> <p>参数解析: -e &quot;JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.133.148:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false&quot; 修改其中的ip与端口指向namesrv即可,ip使用本机地址,不可使用(127.0.0.1) --name 给容器命名 -p 映射端口到宿主机(宿主机端口:容器端口),容器端口不变,根据情况修改宿主机端口</p> </li> <li><strong>mips64运行命令与arm64运行命令一致(注意镜像名称即可)</strong> docker run -dt -e &quot;JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.133.148:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false&quot; --name=rmqconsole --restart=always -p 8080:8080 60.191.64.3:9963/risen/rocketmq_console_mips64</li> </ul> <h3>修改ACL控制</h3> <p>进入容器,rmqbroker为创建的broker容器名称 docker exec -it -u root rmqbroker /bin/bash 查看acl配置文件 vi ../conf/plain_acl.yml 修改白名单地址,最好控制仅对应的消息中心服务与当前服务器可访问 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/0f8a594771ac1fb0f065ae8e451e08d8" alt="" /> 启动顺序:rmqnamesrv——rmqbroker——rmqconsole</p> <h3>访问控制台验证即可</h3> <p>访问ip:(console容器的宿主机端口) 用户密码:risen/risen*123 对应组里有对应的broker即可 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/92a61a4a063e318d631b680aa87b6c5c" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/7f78d699128a1a71f4edb2685b5fdb53" alt="" /></p> <h3>项目部署</h3> <p>mkdir -p /risen/soft/tomcat #创建安装目录 unzip apache-tomcat-8.5.63.zip #解压 mv apache-tomcat-8.5.63 /risen/soft/tomcat/tomcat-message-8081</p> <p>修改好数据配置文件信息: 项目包/WEB-INF/classes/com/risen/base/config/connection.properties 修改首页跳转地址: 项目包/WEB-INF/classes/com/risen/base/config/view-extend-message.properties <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/069e5e5c6b58feb3f72e28f3ffa3231d" alt="" /> cd /risen/soft/tomcat/tomcat-message-8081/bin/ chmod +x catalina.sh startup.sh shutdown.sh #赋予执行权限 ./startup.sh #启动服务 ./shutdown.sh #关闭服务 tail -f /risen/soft/tomcat/tomcat-message-8081/logs/catalina.out #查看实时日志 chmod +x /etc/rc.d/rc.local vim /etc/rc.d/rc.local #设置开机自启 sh /risen/soft/tomcat/tomcat-message-8081/bin/startup.sh</p> <p>nginx 配置信息 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/939e65123f8e1bc5f73baae9c8ce92d7" alt="" /></p> <h3>浏览器访问 <a href="http://ip+端口+项目名">http://ip+端口+项目名</a> 访问</h3> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/3c7a6618061e0447bf19eca4ce9ff97f" alt="" /></p>

页面列表

ITEM_HTML