RocketMQ(1):单机部署4.2.0版本

梦想与她 提交于 2020-10-28 13:05:32

       最近用了用kafka,踩了各种各样的坑(一口老血)。其中最让人头疼的是消费失败后的重发问题,目前我自己的解决办法是消费该分区的某批数据时,如果该批数据有消费失败的,就不提交该批数据的偏移量,从而让生产者重发数据。然而只有在重启生产者时,消费失败的数据才能重新消费,非常谜,打算以后抽出时间看看这是为啥(如果有解决办法请大力评论。。我的kafka版本是0.10你懂的)。

       然后我在找kafka相关解决办法的时候,发现rocketmq的重发机制十分好,于是决定再踩踩rocketmq的坑。

单机部署

       单机部署rocketmq4.2.0尝尝鲜(三口老血),到rocketmq的官网里找到quick start(我现在理解的quick大约得有一百万年的时间),有个单机部署教程(http://rocketmq.apache.org/docs/quick-start/),然而里面的坑很多。所以在此记录一下我的安装历程:

        1.安装环境要遵循官方的建议(环境的安装在此不赘述)

         64bit OS, Linux/Unix/Mac is recommended;

         64bit JDK 1.8+;

         Maven 3.2.x

         Git

        2.下载安装包,并解压:

        unzip rocketmq-all-4.2.0-source-release.zip

        3.进入解压后的文件的根目录,编译:

        mvn -Prelease-all -DskipTests clean install -U

        但是会编译失败,并且报找不到netty-tcnative包的错误,这时我们到rocketmq-all-4.2.0/remoting/pom.xml中注释一行代码(蓝色部分):

        

        之后再编译,就编译成功了。

        4.按照quick start,我们在根目录进入到该路径:

         cd distribution/target/apache-rocketmq

        5.我们需要在该路径下启动name server,在这之前,我们要改一改runserver.sh(在distribution/target/apache-rocketmq/bin下)的相关配置:

         

          接着我们就可以启动name server了:

           nohup sh bin/mqnamesrv &

          6.启动broker前,我们也需要改一些runbroker.sh的配置(在distribution/target/apache-rocketmq/bin下,修改位置与name server配置文件相同):

              修改后,还要增加broker的配置(在distribution/target/apache-rocketmq下,新增broker1.sh文件并打开增加以下内容,保存):            

 

                 还需要再改一些tools.sh的配置(在distribution/target/apache-rocketmq/bin下,修改位置与name server配置文件相同):

              

 

              最后在distribution/target/apache-rocketmq路径下启动broker:

              nohup sh bin/mqbroker -n localhost:9876 -c /opt/rocketmq-all-4.2.0/distribution/target/apache-rocketmq/broker1.properties &

             

             7.接下来,我们就可以试一试官方提供的生产者消费者实例了,按照quick start的方法操作即可

 

             8.停止name server和broker,也是按照quick start的方法操作

        

 

 

         

       

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!