rocketMQ - v4.0.0 - incubating集群安装
2017-09-12 10:58
543 查看
**
[持续集成、自动化部署、弹性伸缩教程](http://edu.csdn.net/course/detail/6452) http://edu.csdn.net/course/detail/6452 ————————————————————————
**
rocketMQ - release-4.0.0-incubating安装教程
安装 rocketMQ - release-4.0.0-incubating
rocketMQ下载URL:https://github.com/apache/incubator-rocketmq
(使用 apache-rocketmq-all.tar.gz 。注意,rocketMQ需要自己下载源码进行mavne编译)
一共需要6台服务器(NameServer、Master、Slave 各2台。Master 和 Slave是一对一的关系)
假设6台服务器IP设置如下:
NameServer 服务器IP(2台):192.168.188.130(hostname : rocket1)、192.168.188.131(hostname : rocket2)
Master 服务器IP(2台):192.168.188.132(hostname : rocket3)、192.168.188.133(hostname : rocket4)
Slave 服务器IP(2台):192.168.188.134(hostname : rocket5)、192.168.188.135(hostname : rocket6)
参考:
http://my.oschina.net/firxiao/blog/314834
http://www.myexception.cn/program/1670110.html
—————————————————————————————————- 我是传说中的分割线 —————————————————————————————————-
依赖项目:java ( 假设你已经安装好了java 。查看java是否已安装好:java -version )
注意:rocketMQ - release-4.0.0-incubating需要的jdk版本必须不低于 1.7.x
—————————————————————————————————- 我是传说中的分割线 —————————————————————————————————-
rocketMQ默认使用3个端口:9876 、10911、10912。如果防火墙没有关闭的话,那么防火墙就必须开放 9876 端口 、 10911 端口 、 10912 端口
name server 默认使用 9876 端口,master 和 slave 默认使用 10911 端口 、 10912 端口
开通防火墙端口命令(仅限 centos 6.x 以及之前版本):
—————————————————————————————————- 我是传说中的分割线 —————————————————————————————————-
配置 /etc/hosts 文件
以下操作需要分别在 6台 机子上都执行一遍。
[root@rocket1 ~]#
[root@rocket1 ~]#
在 /ect/hosts 文件末尾增加 主机名 和 127.0.0.1 的映射
127.0.0.1 rocket1
保存并退出。其它几台机器也都要执行此操作。.
注意:各台机子映射的是自己的主机名(例如:在 192.168.188.131 机子上,映射的是:127.0.0.1 rocket2)
修改rocketMQ的默认配置,并执行优化脚本os.sh
以下操作需要分别在 6台 机子上都执行一遍。 注意:所有的机子都执行相同的操作即可。
一、上传 apache-rocketmq-all.tar.gz 到/opt/rocketmq文件夹中
二、使用
[root@rocket1 ~]#
[root@rocket1 bin]#
修改runbroker.sh文件中的jvm参数(如果有需要的话)
-server -Xms8g -Xmx8g -Xmn4g
修改为:
-server -Xms4g -Xmx4g -Xmn2g
——————————————————————————————————–
-XX:MaxDirectMemorySize=15g
修改为
-XX:MaxDirectMemorySize=1g
修改的目的主要是为了节省内存资源。如果不需要节省内存资源,就无需修改
[root@rocket1 bin]#
)
安装rocketMQ
以下操作需要分别在 6台 机子上都执行一遍。 注意:所有的机子都执行相同的操作即可。
三、配置环境变量
在 /etc/profile 文件最后添加:
export ROCKETMQ_HOME=/opt/rocketmq
export PATH=PATH:ROCKETMQ_HOME/bin
# rocketMQ的 name server集群 的所有IP
export NAMESRV_ADDR="192.168.188.130:9876;192.168.188.131:9876"
添加完成后,执行 source /etc/profile 命令使修改生效
[root@rocket1 opt]#
[root@rocket1 opt]#
[root@rocket1 bin]#
启动 rocketMQ(多 Master 多 Slave 模式,异步复制)
启动顺序:NameServer、Master、Slave
一、在 192.168.188.130、192.168.188.131 两台机器上执行启动 NameServer 的操作(两台各执行一遍,操作完全相同)
[root@rocket1 bin]#
[root@rocket1 bin]#
[root@rocket1 bin]#
4644 Jps
4579 NamesrvStartup
如果看到进程中存在 NamesrvStartup,就代表 NameServer 启动成功了
也可以通过 ps -ef | grep mqnamesrv 命令来查看
————————————————————————————————————————————————————————————————————————————————
二、在 192.168.188.132 机器上执行启动第 1 个 Master 的操作
[root@rocket3 bin]#
[root@rocket3 bin]#
如果没有在 /etc/profile 文件中配置 NameServer 变量,那么就需要使用下面的命令:
[root@rocket3 bin]#
在命令中使用 -n 参数来指定 NameServer 的 IP和端口 来启动 Master(broker)
[root@rocket3 bin]#
4774 Jps
4718 BrokerStartup
如果看到进程中存在 BrokerStartup,就代表 Broker 启动成功了
也可以通过 ps -ef | grep mqbroker 命令来查看
备注: NameServer也可以不使用单独的机器,而是放在Master、Slave机器上也可以的 ( 一般不建议这么做 )
————————————————————————————————————————————————————————————————————————————————
三、在 192.168.188.133 机器上执行启动第 2 个 Master 的操作
[root@rocket4 bin]#
[root@rocket4 bin]#
如果没有在 /etc/profile 文件中配置 NameServer 变量,那么就需要使用下面的命令:
[root@rocket4 bin]#
在命令中使用 -n 参数来指定 NameServer 的 IP和端口 来启动 Master(broker)
[root@rocket4 bin]#
4674 BrokerStartup
4718 Jps
如果看到进程中存在 BrokerStartup,就代表 Broker 启动成功了
也可以通过 ps -ef | grep mqbroker 命令来查看
————————————————————————————————————————————————————————————————————————————————
四、在 192.168.188.134 机器上执行启动第 1 个 Slave 的操作
[root@rocket5 bin]#
[root@rocket5 bin]#
如果没有在 /etc/profile 文件中配置 NameServer 变量,那么就需要使用下面的命令:
[root@rocket5 bin]#
在命令中使用 -n 参数来指定 NameServer 的 IP和端口 来启动 Slave(broker)
[root@rocket5 bin]#
4850 BrokerStartup
4918 Jps
如果看到进程中存在 BrokerStartup,就代表 Broker 启动成功了
也可以通过 ps -ef | grep mqbroker 命令来查看
————————————————————————————————————————————————————————————————————————————————
五、在 192.168.188.135 机器上执行启动第 2 个 Slave 的操作
[root@rocket6 bin]#
[root@rocket6 bin]#
如果没有在 /etc/profile 文件中配置 NameServer 变量,那么就需要使用下面的命令:
[root@rocket6 bin]#
在命令中使用 -n 参数来指定 NameServer 的 IP和端口 来启动 Slave(broker)
[root@rocket6 bin]#
5875 BrokerStartup
5920 Jps
如果看到进程中存在 BrokerStartup,就代表 Broker 启动成功了
也可以通过 ps -ef | grep mqbroker 命令来查看
到此为止,rockeyMQ已经启动成功了
关闭rocketMQ
关闭顺序:Slave –> Master –> NameServer
一、关闭命令:
[root@rocket6 bin]#
[root@rocket6 bin]#
[root@rocket6 bin]#
PS:mqshutdown命令在 /opt/rocketmq/bin 目录下
二、注意:执行关闭操作后,需要等待一会儿,关闭操作会有一些延迟的
三、在 192.168.188.134、192.168.188.135 2台 Slave 机器上分别执行以下命令(先关第 1 个 Slave 或者 第 2 个 Slave 都是可以的 )
[root@rocket6 bin]#
[root@rocket6 bin]#
[root@rocket6 bin]#
————————————————————————————————————————————————————————————————————————————————
四、等对应的 Slave 线程关闭后,就可以开始关闭 Master 了。关闭 Master 的操作和关闭 Slave 的操作完全相同。因此关闭 Master 请参考关闭 Slave 的操作
————————————————————————————————————————————————————————————————————————————————
五、等 Master 和 Slave 的线程都关闭以后,就可以开始关闭 NameServer 了。在 192.168.188.130、192.168.188.131 2台 NameServer 机器上分别执行以下命令(先关第 1 个 NameServer 或者 第 2 个 NameServer 都是可以的 )
[root@rocket1 bin]#
[root@rocket1 bin]#
[root@rocket1 bin]#
常用命令
[持续集成、自动化部署、弹性伸缩教程](http://edu.csdn.net/course/detail/6452) http://edu.csdn.net/course/detail/6452 ————————————————————————
**
rocketMQ - release-4.0.0-incubating安装教程
安装 rocketMQ - release-4.0.0-incubating
rocketMQ下载URL:https://github.com/apache/incubator-rocketmq
(使用 apache-rocketmq-all.tar.gz 。注意,rocketMQ需要自己下载源码进行mavne编译)
一共需要6台服务器(NameServer、Master、Slave 各2台。Master 和 Slave是一对一的关系)
假设6台服务器IP设置如下:
NameServer 服务器IP(2台):192.168.188.130(hostname : rocket1)、192.168.188.131(hostname : rocket2)
Master 服务器IP(2台):192.168.188.132(hostname : rocket3)、192.168.188.133(hostname : rocket4)
Slave 服务器IP(2台):192.168.188.134(hostname : rocket5)、192.168.188.135(hostname : rocket6)
参考:
http://my.oschina.net/firxiao/blog/314834
http://www.myexception.cn/program/1670110.html
—————————————————————————————————- 我是传说中的分割线 —————————————————————————————————-
依赖项目:java ( 假设你已经安装好了java 。查看java是否已安装好:java -version )
注意:rocketMQ - release-4.0.0-incubating需要的jdk版本必须不低于 1.7.x
—————————————————————————————————- 我是传说中的分割线 —————————————————————————————————-
rocketMQ默认使用3个端口:9876 、10911、10912。如果防火墙没有关闭的话,那么防火墙就必须开放 9876 端口 、 10911 端口 、 10912 端口
name server 默认使用 9876 端口,master 和 slave 默认使用 10911 端口 、 10912 端口
开通防火墙端口命令(仅限 centos 6.x 以及之前版本):
/sbin/iptables -I INPUT -p tcp --dport 9876 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 10911 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 10912 -j 4000 ACCEPT
service iptables save
service iptables restart
—————————————————————————————————- 我是传说中的分割线 —————————————————————————————————-
配置 /etc/hosts 文件
以下操作需要分别在 6台 机子上都执行一遍。
[root@rocket1 ~]#
hostname;( 查看机器的主机名:rocket1 )
[root@rocket1 ~]#
vi /ect/hosts;
在 /ect/hosts 文件末尾增加 主机名 和 127.0.0.1 的映射
127.0.0.1 rocket1
保存并退出。其它几台机器也都要执行此操作。.
注意:各台机子映射的是自己的主机名(例如:在 192.168.188.131 机子上,映射的是:127.0.0.1 rocket2)
修改rocketMQ的默认配置,并执行优化脚本os.sh
以下操作需要分别在 6台 机子上都执行一遍。 注意:所有的机子都执行相同的操作即可。
一、上传 apache-rocketmq-all.tar.gz 到/opt/rocketmq文件夹中
二、使用
tar zxvf apache-rocketmq-all.tar.gz命令解压 apache-rocketmq-all.tar.gz 文件 ( rocketMQ最终位置:/opt/rocketmq/ )
[root@rocket1 ~]#
cd /opt/rocketmq/bin;
[root@rocket1 bin]#
ll;
修改runbroker.sh文件中的jvm参数(如果有需要的话)
-server -Xms8g -Xmx8g -Xmn4g
修改为:
-server -Xms4g -Xmx4g -Xmn2g
——————————————————————————————————–
-XX:MaxDirectMemorySize=15g
修改为
-XX:MaxDirectMemorySize=1g
修改的目的主要是为了节省内存资源。如果不需要节省内存资源,就无需修改
[root@rocket1 bin]#
sh ./os.sh;( 修改linux的内核参数。PS:结合deadline的电梯IO算法, 效率更高一点
)
安装rocketMQ
以下操作需要分别在 6台 机子上都执行一遍。 注意:所有的机子都执行相同的操作即可。
三、配置环境变量
在 /etc/profile 文件最后添加:
export ROCKETMQ_HOME=/opt/rocketmq
export PATH=PATH:ROCKETMQ_HOME/bin
# rocketMQ的 name server集群 的所有IP
export NAMESRV_ADDR="192.168.188.130:9876;192.168.188.131:9876"
添加完成后,执行 source /etc/profile 命令使修改生效
[root@rocket1 opt]#
source /etc/profile;
[root@rocket1 opt]#
cd /opt/rocketmq/bin;
[root@rocket1 bin]#
chmod +x mqadmin mqbroker mqfiltersrv mqshutdown mqnamesrv( 赋予 mqadmin mqbroker mqfiltersrv mqshutdown mqnamesrv 这5个文件执行权限 )
启动 rocketMQ(多 Master 多 Slave 模式,异步复制)
启动顺序:NameServer、Master、Slave
一、在 192.168.188.130、192.168.188.131 两台机器上执行启动 NameServer 的操作(两台各执行一遍,操作完全相同)
[root@rocket1 bin]#
cd /opt/rocketmq/bin;
[root@rocket1 bin]#
nohup ./mqnamesrv &( 注意不要忽略了 & )
[root@rocket1 bin]#
jps( 也可以使用
jps -v来查看详细的内容 )
4644 Jps
4579 NamesrvStartup
如果看到进程中存在 NamesrvStartup,就代表 NameServer 启动成功了
也可以通过 ps -ef | grep mqnamesrv 命令来查看
————————————————————————————————————————————————————————————————————————————————
二、在 192.168.188.132 机器上执行启动第 1 个 Master 的操作
[root@rocket3 bin]#
cd /opt/rocketmq/bin;
[root@rocket3 bin]#
nohup ./mqbroker -c ../conf/2m-2s-async/broker-a.properties &(注意这里的 -a 。第 2 台 Master 就会是 -b )
如果没有在 /etc/profile 文件中配置 NameServer 变量,那么就需要使用下面的命令:
[root@rocket3 bin]#
nohup ./mqbroker -n "192.168.188.130:9876;192.168.188.131:9876" -c ../conf/2m-2s-async/broker-a.properties &
在命令中使用 -n 参数来指定 NameServer 的 IP和端口 来启动 Master(broker)
[root@rocket3 bin]#
jps( 也可以使用
jps -v来查看详细的内容 )
4774 Jps
4718 BrokerStartup
如果看到进程中存在 BrokerStartup,就代表 Broker 启动成功了
也可以通过 ps -ef | grep mqbroker 命令来查看
备注: NameServer也可以不使用单独的机器,而是放在Master、Slave机器上也可以的 ( 一般不建议这么做 )
————————————————————————————————————————————————————————————————————————————————
三、在 192.168.188.133 机器上执行启动第 2 个 Master 的操作
[root@rocket4 bin]#
cd /opt/rocketmq/bin;
[root@rocket4 bin]#
nohup ./mqbroker -c ../conf/2m-2s-async/broker-b.properties &(注意这里的 -b 。第 1 台 Master 就会是 -a )
如果没有在 /etc/profile 文件中配置 NameServer 变量,那么就需要使用下面的命令:
[root@rocket4 bin]#
nohup ./mqbroker -n "192.168.188.130:9876;192.168.188.131:9876" -c ../conf/2m-2s-async/broker-b.properties &
在命令中使用 -n 参数来指定 NameServer 的 IP和端口 来启动 Master(broker)
[root@rocket4 bin]#
jps( 也可以使用
jps -v来查看详细的内容 )
4674 BrokerStartup
4718 Jps
如果看到进程中存在 BrokerStartup,就代表 Broker 启动成功了
也可以通过 ps -ef | grep mqbroker 命令来查看
————————————————————————————————————————————————————————————————————————————————
四、在 192.168.188.134 机器上执行启动第 1 个 Slave 的操作
[root@rocket5 bin]#
cd /opt/rocketmq/bin;
[root@rocket5 bin]#
nohup ./mqbroker -c ../conf/2m-2s-async/broker-a-s.properties &(注意这里的-a-s。第 1 台 Slave < 对应第 1 台 Master > 就会是-a-s)
如果没有在 /etc/profile 文件中配置 NameServer 变量,那么就需要使用下面的命令:
[root@rocket5 bin]#
./mqbroker -n "192.168.188.130:9876;192.168.188.131:9876" -c ../conf/2m-2s-async/broker-a-s.properties &
在命令中使用 -n 参数来指定 NameServer 的 IP和端口 来启动 Slave(broker)
[root@rocket5 bin]#
jps( 也可以使用
jps -v来查看详细的内容 )
4850 BrokerStartup
4918 Jps
如果看到进程中存在 BrokerStartup,就代表 Broker 启动成功了
也可以通过 ps -ef | grep mqbroker 命令来查看
————————————————————————————————————————————————————————————————————————————————
五、在 192.168.188.135 机器上执行启动第 2 个 Slave 的操作
[root@rocket6 bin]#
cd /opt/rocketmq/bin;
[root@rocket6 bin]#
nohup ./mqbroker -c ../conf/2m-2s-async/broker-b-s.properties &(注意这里的-b-s。第 2 台 Slave < 对应第 2 台 Master >就会是-b-s)
如果没有在 /etc/profile 文件中配置 NameServer 变量,那么就需要使用下面的命令:
[root@rocket6 bin]#
./mqbroker -n "192.168.188.130:9876;192.168.188.131:9876" -c ../conf/2m-2s-async/broker-b-s.properties &
在命令中使用 -n 参数来指定 NameServer 的 IP和端口 来启动 Slave(broker)
[root@rocket6 bin]#
jps( 也可以使用
jps -v来查看详细的内容 )
5875 BrokerStartup
5920 Jps
如果看到进程中存在 BrokerStartup,就代表 Broker 启动成功了
也可以通过 ps -ef | grep mqbroker 命令来查看
到此为止,rockeyMQ已经启动成功了
关闭rocketMQ
关闭顺序:Slave –> Master –> NameServer
一、关闭命令:
[root@rocket6 bin]#
cd /opt/rocketmq/bin;
[root@rocket6 bin]#
sh ./mqshutdown broker;(用来关闭 Master、Slave);
[root@rocket6 bin]#
sh ./mqshutdown namesrv;(用来关闭 NameServer)
PS:mqshutdown命令在 /opt/rocketmq/bin 目录下
二、注意:执行关闭操作后,需要等待一会儿,关闭操作会有一些延迟的
三、在 192.168.188.134、192.168.188.135 2台 Slave 机器上分别执行以下命令(先关第 1 个 Slave 或者 第 2 个 Slave 都是可以的 )
[root@rocket6 bin]#
cd /opt/rocketmq/bin
[root@rocket6 bin]#
./mqshutdown broker
[root@rocket6 bin]#
ps -ef| grep mqbroker;( 关闭操作可能会有一些延迟,所以需要稍微等一会儿 )
————————————————————————————————————————————————————————————————————————————————
四、等对应的 Slave 线程关闭后,就可以开始关闭 Master 了。关闭 Master 的操作和关闭 Slave 的操作完全相同。因此关闭 Master 请参考关闭 Slave 的操作
————————————————————————————————————————————————————————————————————————————————
五、等 Master 和 Slave 的线程都关闭以后,就可以开始关闭 NameServer 了。在 192.168.188.130、192.168.188.131 2台 NameServer 机器上分别执行以下命令(先关第 1 个 NameServer 或者 第 2 个 NameServer 都是可以的 )
[root@rocket1 bin]#
cd /opt/rocketmq/bin a9f5 ;
[root@rocket1 bin]#
./mqshutdown namesrv;
[root@rocket1 bin]#
ps -ef| grep namesrv;( 关闭操作可能会有一些延迟,所以需要稍微等一会儿 )
常用命令
cd /opt/rocketmq/bin;
nohup ./mqnamesrv &
ps -ef|grep mqnamesrv
cd /opt/rocketmq/bin;
nohup ./mqbroker -c ../conf/2m-2s-async/broker-a.properties &
nohup ./mqbroker -c ../conf/2m-2s-async/broker-b.properties &
ps -ef|grep mqbroker
cd /opt/rocketmq/bin;
nohup ./mqbroker -c ../conf/2m-2s-async/broker-a-s.properties &
nohup ./mqbroker -c ../conf/2m-2s-async/broker-b-s.properties &
ps -ef|grep mqbroker
相关文章推荐
- 十步搞定rocketmq3.5.8 集群安装
- CentOS 6.8 minimal版本安装RocketMQ集群
- rocketmq集群安装部署过程(4.0.0版本)、安装中的常见问题举例
- RocketMQ集群配置笔记(一)
- rocketmq集群部署实战-双master-双slave-同步双写-异步刷盘(7台机器)
- rocketmq之windows的安装使用
- linux Haproxy+rabbitMQ 镜像集群安装
- RocketMQ集群配置笔记(二)
- CentOS7.3安装rocketmq
- cent7下rocketmq集群配置
- mq系列kafka01-简介和集群安装
- [RocketMQ]快速安装使用
- rocketmq安装部署过程(4.0.0版本)
- Linux下安装zookeeper和rocketmq
- RocketMQ集群配置 / localtransactionexecuter
- (三)RocketMQ集群部署实践
- linux安装rocketmq
- RocketMQ安装教程
- centos 安装alibaba-rocketmq
- RocketMQ安装