RocketMq安装踩坑日记

服务器上安装rocketmq真的踩了不少了坑,后来经过几次不同方式的重装才搞定了!

下面来解说下安装的过程,希望各位经过的伙伴如果遇到这些坑能够快速解决!

安装所需环境如下:

jdk,maven(需要maven来编译rocketmq成二进制文件)

1.安装jdk

jdk这里就不说安装步骤了,网上大把。

查看jdk是否安装成功

java -version

 

 

 

2.安装maven

下载

wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

 

解压

tar -zxvf  包名

 

配置环境变量

# vi /etc/profile

export MAVEN_HOME=mamven的安装位置(包括包名)
export PATH=$MAVEN_HOME/bin:$PATH

 

修改配置记得刷新配置
# source /etc/profile

 

安装rocketmq

下载

wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.2.0.tar.gz

 

解压

tar -zxvf  包名

 

进到rocketmq目录使用maven下载依赖

mvn -Prelease-all -DskipTests clean install -U

编译完后可以看到多了distribution文件

编译后的路径:rocketmq-rocketmq-all-4.2.0/distribution/target/apache-rocketmq/bin

配置rocketmq的环境变量

export rocketmq=/usr/software/rocketmq/rocketmq-all-4.7.1-source-release/distribution/target/apache-rocketmq
export PATH=$PATH:$rocketmq/bin

配置完记得刷新配置:source /etc/profile

接下来就可以启动mq了。

 

启动name server(namesrv)

可以以日志的形式启动

进入到rocket的bin目录下执行

nohup sh mqnamesrv >/usr/mq/logs/rocketmqlogs/mqnamesrv.log 2>&1 &

普通启动:# nohup sh mqnamesrv &

进入bin目录,查看是否启动成功: # ./mqnamesrv

 

启动代理(broker)

普通启动:# nohup sh mqbroker -n localhost:9876 &

进入bin目录,查看是否启动成功
./mqbroker -p 47.115.149.74:9876

指定日志启动(启动前记得创建好日志文件,mkdir 文件名;)
nohup sh mqbroker -n 外网的ip地址:9876 >/usr/mq/logs/rocketmqlogs/broker.log 2>&1 &
启动配上主题
nohup sh mqbroker -n 外网的ip地址:9876 autoCreateTopicEnable=true >/usr/mq/logs/rocketmqlogs/broker.log 2>&1 &

#重点:mrbroker 启动时通过 -c 加载配置文件
#注意 指定配置启动(避免添加不了主题) nohup sh mqbroker -n 外网的ip地址:9876 -c /usr/mq/rocketmq/rocketmq-rocketmq-all-4.2.0/distribution/target/apache-rocketmq/conf/broker.conf &

为了避免启动后使用mq的控制台添加不了主题,命令后面加上 autoCreateTopicEnable=true

启动broker很容易出错,大家伙要小心为妙,我就是以配置文件的形式来启动broker的(服务器装法)。

 

如果你在服务器上部署了rocketmq之后,用本地的rocket-externals(可视图化工具,控制台)去连接,然后报如下错误

 

rocketmq org.apache.rocketmq.remoting.exception.RemotingConnectException:connect to <10909> failed

这是由于跨域造成的: 修改服务器中broker的配置,添加服务器IP(公网)即可。

broker.conf配置文件地址:rocketmq-rocketmq-all-4.2.0/distribution/target/apache-rocketmq/conf

 进入到conf目录下修改broker.conf配置文件

#  vi broker.conf

在配置的最后一行加上:brokerIP1=xx.xx.xx.xx  #你的公网IP

改完后记得从启动服务和代理(broker记得以加载broker.conf配置文件的方式启动)

nohup sh mqbroker -n 外网的ip地址:9876 -c /usr/mq/rocketmq/rocketmq-rocketmq-all-4.2.0/distribution/target/apache-rocketmq/conf/broker.conf &

 

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。

 

关闭服务

# sh mqshutdown broker

# sh mqshutdown namesrv

杀进程:#kill +进程id

查看进程# ps -aux|grep rocketmq

 

4.rocketmq可视图化控制台

源码下载地址: https://github.com/apache/rocketmq-externals/tree/master/

进入到application.properties配置文件指定 mq 的IP地址(如果mq部署在服务器上,记得用服务器的ip地址

rocketmq.config.namesrvAddr=127.0.0.1:9876

找到rocketmq-console项目,进入打包

打包

# mvn clean package -Dmaven.test.skip=true

运行

# java -jar  jar名

 

访问mq控制台

http://localhost:端口

 

还有的就是如果你是在服务器上装的mq记得在本服务器上配上安全组

阿里云服务器并进入控制台(云服务器ECS)-->实例-->实例列表找到【更多】-->【网络和安全组】--》【安全组配置】-->配置规则

posted @ 2021-04-15 09:41  安详的苦丁茶  阅读(563)  评论(0编辑  收藏  举报