1. 安装jdk,配置环境变量

    2. 安装maven,配置环境变量

    3. 下载部署RocketMQ

      • 新建rocketmq目录,下载依赖 wget http://mirror.bit.edu.cn/apache/rocketmq/4.5.2/rocketmq-all-4.5.2-source-release.zip
      • 解压 unzip rocketmq-all-4.5.2-source-release.zip
      • 如果提示 -bash: unzip: command not found,说明没有找到命令,安装unzip即可 yum install -y unzip zip
      • 进入 rocketmq-all-4.5.2-source-release 目录构建项目 mvn -Prelease-all -DskipTests clean install -U (构建过程比较耗时,需要下载很多依赖)
        [INFO] ------------------------------------------------------------------------
        [INFO] Reactor Summary for Apache RocketMQ 4.5.2 4.5.2:
        [INFO]
        [INFO] Apache RocketMQ 4.5.2 .............................. SUCCESS [16:08 min]
        [INFO] rocketmq-logging 4.5.2 ............................. SUCCESS [02:33 min]
        [INFO] rocketmq-remoting 4.5.2 ............................ SUCCESS [04:01 min]
        [INFO] rocketmq-common 4.5.2 .............................. SUCCESS [ 4.037 s]
        [INFO] rocketmq-client 4.5.2 .............................. SUCCESS [02:15 min]
        [INFO] rocketmq-store 4.5.2 ............................... SUCCESS [01:46 min]
        [INFO] rocketmq-srvutil 4.5.2 ............................. SUCCESS [ 0.453 s]
        [INFO] rocketmq-filter 4.5.2 .............................. SUCCESS [01:46 min]
        [INFO] rocketmq-acl 4.5.2 ................................. SUCCESS [ 4.938 s]
        [INFO] rocketmq-broker 4.5.2 .............................. SUCCESS [ 7.455 s]
        [INFO] rocketmq-tools 4.5.2 ............................... SUCCESS [ 2.229 s]
        [INFO] rocketmq-namesrv 4.5.2 ............................. SUCCESS [ 1.095 s]
        [INFO] rocketmq-logappender 4.5.2 ......................... SUCCESS [ 3.447 s]
        [INFO] rocketmq-openmessaging 4.5.2 ....................... SUCCESS [ 2.441 s]
        [INFO] rocketmq-example 4.5.2 ............................. SUCCESS [ 1.075 s]
        [INFO] rocketmq-test 4.5.2 ................................ SUCCESS [ 5.868 s]
        [INFO] rocketmq-distribution 4.5.2 ........................ SUCCESS [11:18 min]
        [INFO] ------------------------------------------------------------------------
        [INFO] BUILD SUCCESS
        [INFO] ------------------------------------------------------------------------
    4. 启动namesrv

      • 修改runserver.sh的默认内存(如果是土豪配置,可以忽略) /rocketmq/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/bin

        #这是RocketMQ默认值
        JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" #这是修改后的值
        JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
      • 启动服务 nohup sh mqnamesrv > /dev/null 2>&1 &
      • 查看namesrv服务日志,确认是否成功启动,默认日志路径 ${user.home}/logs/rocketmqlogs/namesrv.log,如下所示表明启动成功
        2019-08-28 10:42:11 INFO main - tls.client.authServer = false
        2019-08-28 10:42:11 INFO main - tls.client.trustCertPath = null
        2019-08-28 10:42:12 INFO main - Using OpenSSL provider
        2019-08-28 10:42:12 INFO main - SSLContext created for server
        2019-08-28 10:42:12 INFO main - Try to start service thread:FileWatchService started:false lastThread:null
        2019-08-28 10:42:12 INFO main - The Name Server boot success. serializeType=JSON
        2019-08-28 10:42:12 INFO FileWatchService - FileWatchService service started
        2019-08-28 10:42:12 INFO NettyEventExecutor - NettyEventExecutor service started
    5. 启动broker

      • 修改broker启动脚本的默认内存配置

        #这是默认值
        JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g" #这是修改后的值
        JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512g"
      • 创建broker.conf配置文件,内容如下

        namesrvAddr={你自己的阿里云服务器外网IP或者内网IP}:9876
        brokerIP1={你自己的阿里云服务器外网IP}
        brokerName=james
        brokerClusterName=DefaultCluster
        brokerId=0
        autoCreateTopicEnable=true
        autoCreateSubscriptionGroup=true
      • 启动服务 nohup sh mqbroker -c broker.conf> /dev/null 2>&1 &

      • 查看broker启动日志    
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_192]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_192]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_192]
        2019-08-28 11:04:35 INFO TransactionalMessageCheckService - create new topic TopicConfig [topicName=RMQ_SYS_TRANS_HALF_TOPIC, readQueueNums=1, writeQueueNums=1, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false]
        2019-08-28 11:04:38 WARN brokerOutApi_thread_4 - registerBroker Exception, 你的阿里云服务器IP:9876
        org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <你的阿里云服务器IP:9876> failed
        at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeOneway(NettyRemotingClient.java:556) ~[rocketmq-remoting-4.5.2.jar:4.5.2]
        at org.apache.rocketmq.broker.out.BrokerOuterAPI.registerBroker(BrokerOuterAPI.java:187) ~[rocketmq-broker-4.5.2.jar:4.5.2]
        at org.apache.rocketmq.broker.out.BrokerOuterAPI.access$000(BrokerOuterAPI.java:61) ~[rocketmq-broker-4.5.2.jar:4.5.2]
        at org.apache.rocketmq.broker.out.BrokerOuterAPI$1.run(BrokerOuterAPI.java:150) ~[rocketmq-broker-4.5.2.jar:4.5.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_192]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_192]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_192]
      • 出现上面这种情况,首先去阿里云上检查是否对外暴露了9876端口,如果没有,在阿里云上添加对外暴露9876端口(安全组 -> 配置规则 -> 添加安全组规则)
      • 添加完毕,后重启broker服务,提示如下,就说明启动成功
        2019-08-28 11:10:54 INFO PullRequestHoldService - PullRequestHoldService service started
        2019-08-28 11:10:54 INFO brokerOutApi_thread_1 - register broker[0]to name server 你的阿里云服务器IP:9876 OK
        2019-08-28 11:10:54 INFO main - The broker[james, 47.105.147.14:10911] boot success. serializeType=JSON and name server is 你的阿里云服务器IP:9876
      • 输入 jps 命令,查看Java进程
        #说明 NamesrvStartup,BrokerStartup两个服务启动成功
        21251 Jps
        21175 BrokerStartup
        20989 NamesrvStartup
    6. 特别注意:

      • nameserver端口默认为 9876
      • broker监听端口默认为 10911
      • 这两个端口务必一定要在阿里云安全组里对外暴露
    7. 关闭namesrv服务 sh mqshutdown namesrv,关闭broker服务 sh mqshutdown broker

    8. 安装 rocketmq-console 控制台

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

      • 选择 rocketmq-console 模块中加入maven,修改resources目录下的application.properties文件
        server.contextPath=
        server.port=8080 ### SSL setting
        #server.ssl.key-store=classpath:rmqcngkeystore.jks
        #server.ssl.key-store-password=rocketmq
        #server.ssl.keyStoreType=PKCS12
        #server.ssl.keyAlias=rmqcngkey #spring.application.index=true
        spring.application.name=rocketmq-console
        spring.http.encoding.charset=UTF-8
        spring.http.encoding.enabled=true
        spring.http.encoding.force=true
        logging.config=classpath:logback.xml
        #if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
        rocketmq.config.namesrvAddr=你的阿里云服务器IP:9876

        #if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
        rocketmq.config.isVIPChannel=false

        #rocketmq-console's data path:dashboard/monitor
        rocketmq.config.dataPath=/tmp/rocketmq-console/data
        #set it false if you don't want use dashboard.default true
        rocketmq.config.enableDashBoardCollect=true
        #set the message track trace topic if you don't want use the default one
        rocketmq.config.msgTrackTopicName=james
        rocketmq.config.ticketKey=ticket #Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
        rocketmq.config.loginRequired=false

阿里云安装RocketMQ的更多相关文章

  1. 阿里云安装mysql后查看不到初始密码的解决办法

    在阿里云安装mysql后用grep 'A temporary password' /var/log/mysqld.log命令查看MySQL初始密码,毛线都没有看到,然后直接到/var/log/mysq ...

  2. 阿里云安装Nginx+vue项目部署

    阿里云安装Nginx+vue项目部署 nginx安装包下载 http://nginx.org/en/download.html nginx安装 首先先安装PCRE pcre-devel 和Zlib,因 ...

  3. 阿里云安装JDK1.7

    本人阿里云选择的是CentOS 7.0系统,本系列文件将全部基于此环境. 1.下载JDK,版本为jdk-7u79-linux-x64.tar.gz   2.使用FileZilla上传至/softwar ...

  4. 阿里云安装LNMP以及更改网站文件和MySQL数据目录

    LNMP安装了哪些软件?安装目录在哪LNMP相关软件安装目录Nginx 目录: /usr/local/nginx/MySQL 目录 : /usr/local/mysql/MySQL数据库所在目录:/u ...

  5. 阿里云安装wordpress遇到的问题

    在阿里云服务器上安装Nginx,php5.3.3环境,使用阿里云的RDS数据库 1,安装wordpress,提示您的PHP似乎没有安装运行WordPress所必需的MySQL扩展 解决方案:移除已经安 ...

  6. 阿里云安装配置mysql(centos版)

    这种是利用yum下载的也可以使用xftp上传 1,安装mysql数据库 a)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-re ...

  7. 阿里云安装kubernetes-UI报错endpoints \"kubernetes-dashboard\" not found解决方法

    问题:阿里云ECS安装kube-ui v5后,访问 http://master_ip:8080/ui/跳转到http://master_ip:8080/api/v1/proxy/namespaces/ ...

  8. 非ECS阿里云安装插件,给阿里云云监控平台

    linux的init学习: https://blog.csdn.net/kunkliu/article/details/80942279 阿里云官方文档: https://help.aliyun.co ...

  9. 阿里云安装配置Ghost

    阿里云手动重装系统N次了,折腾不止.  系统环境 CentOS 6.3 X64 , 两块硬盘 系统 +数据盘 #重新挂载硬盘 [root@AY14040623435015772eZ ~]# fdisk ...

随机推荐

  1. Redis高可用架构

    前言 Redis是一个高性能的key-value数据库,现时越来越多企业与应用使用Redis作为缓存服务器.楼主是一枚JAVA后端程序员,也算是半个运维工程师了.在Linux服务器上搭建Redis,怎 ...

  2. 前端架构师亲述:前端工程师成长之路的 N 问 及 回答

    问题回答者:黄轶,目前就职于 Zoom 公司担任前端架构师,曾就职于滴滴和百度. 1. 前端开发 问题 大佬,能分享下学习路径么,感觉天天忙着开发业务,但是能力好像没有太大提升,不知道该怎么充实自己 ...

  3. Linux配置使用SSH Key登录并禁用root密码登录

    Linux系统大多数都支持OpenSSH,生成公钥.私钥的最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server r ...

  4. hihocoder #1609 : 数组分拆II(思维)

    题目链接:http://hihocoder.com/problemset/problem/1609 题解:就先拿一个数组最多分成两部分来说吧 8 1 2 3 4 5 1 2 3 显然 输出时2 3 可 ...

  5. codeforces 817 D. Imbalanced Array(单调栈+思维)

    题目链接:http://codeforces.com/contest/817/problem/D 题意:给你n个数a[1..n]定义连续子段imbalance值为最大值和最小值的差,要你求这个数组的i ...

  6. CodeForces 982 C Cut 'em all!

    Cut 'em all! 题意:求删除了边之后,剩下的每一块联通块他的点数都为偶数,求删除的边最多能是多少. 题解:如果n为奇数,直接返回-1,因为不可能成立.如果n为偶数,随意找一个点DFS建树记录 ...

  7. spring组件注册

    基于注解和类的组件注册 @Conditional 作用:按照一定的条件进行判断,如果满足条件的话就给spring容器中注册bean ​ 该注解既可以标注到方法上面,也可以标注到类上面(只有满足条件时, ...

  8. 【Offer】[66] 【构建乘积数组】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 给定一个数组A[0, 1, -, n-1],请构建一个数组B[0, 1, -, n-1],其中B中的元素B[i] =A[0]×A[1]× ...

  9. Vue组件间通信方式

    一.Props传递数据 在父组件中使用子组件,本质通过v-bind绑定属性传入子组件,子组件通过props接收父组件传入的属性 <template> <div> 父组件:{{m ...

  10. 基于Selenium+Python的web自动化测试框架

    一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...