Linux操作系统安装MetaQ
来源:互联网 发布:知乎 林存德 编辑:程序博客网 时间:2024/06/06 05:37
版权声明:本文为博主原创文章,未经博主允许不得转载。
进入下载目录
- cd /usr/local
下载ZooKeeper
- wget http://fnil.net/downloads/metaq-server-1.4.6.2.tar.gz
解压缩
- tar -zxvf metaq-server-1.4.6.2.tar.gz
配置Broker
默认server.ini提供了一个topic——test用于测试,你可以添加自己定义的topic
大多数system参数都可以topic参数所覆盖。
启动&验证
确保你的机器上安装了JDK并正确设置JAVA_HOME和PATH变量,启动服务器:
- /usr/local/taobao/metamorphosis-server-wrapper/bin/metaServer.sh start local
当然如果要关闭,则是stop
如何验证呢,继续看吧
除了通过观察日志logs/metaServer.log外,你还可以通过stats命令来观察服务器运行状况。开机自启动
首先请登陆你的Linux服务器在/etc/rc.d/init.d/目录下创建一个文件
- touch /etc/init.d/metaq
给启动脚本赋予执行权限
- chmod +x /etc/init.d/metaq
接着用vi metaq来编辑这个文件
接着在metaq里面输入如下内容
然后保存退出
先按esc
然后按:键盘
接这个输入wq即可保存退出
添加服务
- chkconfig --add metaq
设置开机启动
- chkconfig --level 35 metaq on
查看是否设置成功
- chkconfig --list | grep metaq
集群模式配置
上文提到的启动方式是以本地模式也就是单机模式启动,它将启动一个内置的zookeeper,并将broker注册到该zookeeper。这对于单机应用或者测试开发是最便捷方式的。
但是MetaQ是作为分布式软件设计的,更通常作为一个集群提供服务。MetaQ的集群管理是利用zookeeper实现的,因此首先需要配置zookeeper。 一个MetaQ集群必须使用同一个zookeeper集群。
Broker集群配置非常容易,假设你已经按照如何开始和服务器配置管理配置好并启用了你第一台broker,某一天你发现这个单台
broker无法支撑更大的消息量,那么你可能就需要
引入更多的broker作为集群来提供服务,你要做的事情很简单:
- 拷贝broker1的配置文件conf/server.ini到新的broker,假设为broker2。
- 修改broker2的server.ini,只要修改brokerId为另一个不同于broker1的值即可
- 启动broker2,这样一来broker2将和broker1组成一个服务器集群
- 在这个过程中你不需要重启任何现有的服务,包括生产者、消费者和broker1,他们都将自动感知到新的broker2
brokerId: 服务器集群中唯一的id,必须为整型0-1024之间。对服务器集群的定义是使用同一个zookeeper并且在zookeeper上的root
path相同,具体参见zookeeper配置。
也就是说和你的zookeeper中的/var/zookeeper/data/myid 中的id对应就好了
另外请记得修改conf/server.ini文件中的zookeeper配置,保证zookeeper地址正确:
zk.zkConnect=localhost:2181 修改为各个集群ip的地址,如
zk.zkConnect=192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181
各个集群中的zookeeper配置都如此
停止local模式启动的broker1, 并重新以集群模式启动:
高可用配置
Meta相比于kafka的一个重要特性就是消息高可用方案的实现,我们称之为HA方案。消息在发送到broker之后立即写入磁盘才返回客户端告诉消息生产者消息发送成功,通过unflushThreshold和unflushInterval两个参数的控制,可以保证单机消息数据的安全性,只要机器的磁盘没有永久损坏,消息总可以在重启后恢复并正常投递给消费者们。但是,如果遇到了磁盘永久损坏或者数据文件永久损坏的情况,那么该broker上的消息数据将可能永久丢失。为了防止这种情况的发生,一个可行的方案就是将消息数据复制到多台机器,类似MySQL的主从复制功能
异步复制配置
配置slave文件。编辑conf/async_slave.properties:
slaveId 和zookeeper的pid文件对应,切记
执行下列命令启动slave:
那么作为从机对应的etc/init.d/metaq 文件的启动配置也要做相应的修改
第一次复制因为需要跟master完全同步需要耗费一定时间,你可以在数据文件的目录观察复制情况。
请注意,异步复制的slave将参与消费者的消费活动,消息消费者可以从slave中获取消息并消费,消费者会随机从master和slaves中挑选一台作为消费broker。
从1.4.2开始,可以通过autoSyncMasterConfig选项配置是否自动同步master的server.ini到异步复制的slave上,当master的server.ini文件变更并通过bin/metaServer.sh reload之后,slave将监控到这一变更并自动同步。
- Linux操作系统安装MetaQ
- Linux操作系统安装MetaQ
- MetaQ 安装
- Linux环境下安装RocketMQ(MetaQ)
- Linux环境下安装RocketMQ(MetaQ)
- Linux环境下安装RocketMQ(MetaQ)
- MetaQ安装部署文档
- MetaQ集群安装测试
- MetaQ安装部署文档
- MetaQ
- metaq
- metaq
- metaq初级1--安装配置
- 硬盘安装linux操作系统
- 硬盘安装Linux操作系统
- linux操作系统安装命令
- [1]安装linux操作系统
- 安装Linux操作系统
- swift和objc混编
- 支付流程
- [BZOJ2333][SCOI2011]棘手的操作(可并堆||线段树+离线)
- node学习1
- printf打印参数的顺序问题
- Linux操作系统安装MetaQ
- zlog 交叉编译
- 组织级项目管理与大型项目管理
- 【VS2015问题】Visual Studio Community 2015版本遇到的一些问题
- git上传github
- nginx mysqlnd驱动引擎提升mysql性能
- 机器学习算法应用中常用技巧
- 浅谈依赖注入思想与面向接口编程
- Pyhton实例,抓取百度词条关于Python的内容(二)