阿里云CentOS7中安装RocketMQ4.10
时间:2017-10-15 10:39 来源:linux.it.net.cn 作者:IT
RocketMQ4.1.0的安装:
Git和GitHub的安装与使用,请参考:http://blog.csdn.net/lichunericli/article/details/78234329
1.RocketMQ源码的获取
cd /usr/local
git clone -b release-4.1.0-incubating https://github.com/apache/incubator-rocketmq.git
cd incubator-rocketmq
2.maven编译
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/apache-rocketmq/bin
Note:注意bin的位置
/usr/local/incubator-rocketmq/distribution/target/apache-rocketmq/bin
3.启动服务器
nohup sh mqnamesrv -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/namesrv.log
4.启动broker
nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true > ~/logs/rocketmqlogs/broker.log 2>&1 &
tail -f ~/logs/rocketmqlogs/broker.log
5.关闭RcocketMQ相关服务
停止broker服务:sh mqshutdown broker
关闭nameserver服务:sh mqshutdown namesrv
Note:以下配置(表示不理解)
# 在bin目录下面执行,将服务器地址引入到环境变量中
$ export NAMESRV_ADDR=localhost:9876
$ echo "ROCKETMQ_HOME=`pwd`" >> ~/.bash_profile
$ source ~/.bash_profile
Note:内存的设置(内存大于8G的不用设置)
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"
runbroker.sh
runserver.sh
Note:向MQ发送和接收消息(验证失败)
# 通过java代码实现的案例生产者生产消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
# 通过java代码实现案例消费者消费消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
# 监控MQ,调用命令监控在target的bin目录下
$ sh mqadmin clusterList -n localhost:9876
异常测试问题:
@1:Could not find or load main class org.apache.rocketmq.broker.BrokerStartup或者nameserv
异常原因:maven编译,distribution目录下的bin启动位置和distribution目录下的target下的bin启动位置搞错
@1:No route info of this topic
异常原因:broker启动不成功
@2:connect to <172.17.0.1:10909> failed或者10911等
异常原因:
第一种可能:虚拟机中的网络太多《验证失败》。
rocketMQ在自动识别网络的时候识别错误,可以先把别的网络down掉或者把想用的那个网让它排在前面(没验证过)。ifconfig查看网络发现还有个docker0的网络的ip就是172.17.0.1,因此连接不上。
把docke0的网络断开:broker部署在虚拟机,并且虚拟双网卡同docker冲突
systemctl stop docker
ifconfig docker0 down
Note:docker服务启动后docker0网络会自动开。
systemctl is-enabled docker #查询是否自启动
systemctl disable docker #禁止自启动
systemctl list-unit-files|grep enabled #查看自启动服务列表
systemctl stop docker #禁止启动
systemctl start docker #开启启动
systemctl status docker
然后在broker.conf中设置brokerip和namesrvAddr,都指定为本机ip后重启《验证失败》。
第二种:setVipChannelEnabled(false)《验证失败》《低版本的不存在这问题,同样未验证》
Rocket默认开启了VIP通道,VIP通道端口为10911-2=10909,若Rocket服务器未启动端口10909,则报connect to <10909> failed。
(责任编辑:IT)
RocketMQ4.1.0的安装: Git和GitHub的安装与使用,请参考:http://blog.csdn.net/lichunericli/article/details/78234329
1.RocketMQ源码的获取 cd /usr/local git clone -b release-4.1.0-incubating https://github.com/apache/incubator-rocketmq.git cd incubator-rocketmq
2.maven编译 mvn -Prelease-all -DskipTests clean install -U cd distribution/target/apache-rocketmq/bin
Note:注意bin的位置 /usr/local/incubator-rocketmq/distribution/target/apache-rocketmq/bin
3.启动服务器 nohup sh mqnamesrv -n localhost:9876 & tail -f ~/logs/rocketmqlogs/namesrv.log
4.启动broker nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true > ~/logs/rocketmqlogs/broker.log 2>&1 & tail -f ~/logs/rocketmqlogs/broker.log
5.关闭RcocketMQ相关服务 停止broker服务:sh mqshutdown broker 关闭nameserver服务:sh mqshutdown namesrv
Note:以下配置(表示不理解) # 在bin目录下面执行,将服务器地址引入到环境变量中 $ export NAMESRV_ADDR=localhost:9876 $ echo "ROCKETMQ_HOME=`pwd`" >> ~/.bash_profile $ source ~/.bash_profile
Note:内存的设置(内存大于8G的不用设置) JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g" runbroker.sh runserver.sh
Note:向MQ发送和接收消息(验证失败) # 通过java代码实现的案例生产者生产消息 $ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer # 通过java代码实现案例消费者消费消息 $ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer # 监控MQ,调用命令监控在target的bin目录下 $ sh mqadmin clusterList -n localhost:9876
异常测试问题: @1:Could not find or load main class org.apache.rocketmq.broker.BrokerStartup或者nameserv 异常原因:maven编译,distribution目录下的bin启动位置和distribution目录下的target下的bin启动位置搞错
@1:No route info of this topic 异常原因:broker启动不成功
@2:connect to <172.17.0.1:10909> failed或者10911等 异常原因: 第一种可能:虚拟机中的网络太多《验证失败》。 rocketMQ在自动识别网络的时候识别错误,可以先把别的网络down掉或者把想用的那个网让它排在前面(没验证过)。ifconfig查看网络发现还有个docker0的网络的ip就是172.17.0.1,因此连接不上。 把docke0的网络断开:broker部署在虚拟机,并且虚拟双网卡同docker冲突 systemctl stop docker ifconfig docker0 down Note:docker服务启动后docker0网络会自动开。 systemctl is-enabled docker #查询是否自启动 systemctl disable docker #禁止自启动 systemctl list-unit-files|grep enabled #查看自启动服务列表 systemctl stop docker #禁止启动 systemctl start docker #开启启动 systemctl status docker 然后在broker.conf中设置brokerip和namesrvAddr,都指定为本机ip后重启《验证失败》。
第二种:setVipChannelEnabled(false)《验证失败》《低版本的不存在这问题,同样未验证》 Rocket默认开启了VIP通道,VIP通道端口为10911-2=10909,若Rocket服务器未启动端口10909,则报connect to <10909> failed。 (责任编辑:IT) |