环境:RHEL 6.6 64bit 、 JDK7

    版本:metaq-server-1.4.6.2

    1. 创建安装目录

    $ cd /usr/local
    $ mkdir metaq
    2、解压安装包
    $ tar -xvf metaq-server-1.4.6.2.tar.gz
    3、将metamorphosis-server-wrapper移动到上级目录
    $mv metamorphosis-server-wrapper/ ..
    4、进入配置目录
    $ ls
    metamorphosis-server-wrapper metaq-server-1.4.6.2.tar.gz taobao
    $ cd metamorphosis-server-wrapper/conf
    5、备份配置文件
    $ cp server.ini server.ini.bak
    6、修改配置文件
    $ vi server.ini
    conf/server.ini,这是metaq服务器的配置文件,主要关注这几个配置项:

    • brokerId 服务器ID,必须是集群内唯一,集群内各个节点由此区分

    • numPartitions 默认每个topic的分区数目

    • dataPath 数据文件的存放路径,默认在user.home/meta下

    • zookeeper配置:

    ;以下为zk配置,可以为空,为空将从diamond获取(目前不提供),不为空则优先使用下列配置

    1. zk.zkConnect=localhost:2181
    2. ;zk心跳超时,单位毫秒,默认30
    3. zk.zkSessionTimeoutMs=30000
    4. ;zk连接超时时间,单位毫秒,默认30
    5. zk.zkConnectionTimeoutMs=30000
    6. ;zk数据同步时间,单位毫秒,默认5
    7. zk.zkSyncTimeMs=5000
    8. zookeeper的地址也可以通过diamond管理,如果本地不明确配置zookeeper,则设置diamonddataIdgroup即可自动从diamond获取zookeeper配置(目前不提供,要注释掉):
    9. ;zkdiamond中配置存储的dataId
    10. ;diamondZKDataId=metamorphosis.zkConfig
    11. ;zkdiamond中配置存储的group
    12. ;diamondZKGroup=DEFAULT_GROUP


    配置topic列表

    一份默认的文件如下:

    1. ;系统属性
    2. [system]
    3. ;必须,服务器唯一标志
    4. brokerId=0
    5. ;服务器hostname,可以为空,默认将取本机IP
    6. hostName=
    7. ;默认每个topic的分区数目,默认为1
    8. numPartitions=1
    9. ;服务器端口,必须
    10. serverPort=8123
    11. ;数据文件路径,默认在user.home/meta
    12. dataPath=
    13. ;日志数据文件路径,默认跟dataPath一样
    14. dataLogPath=
    15. ;最大允许的未flush消息数,超过此值将强制force到磁盘,默认1000
    16. unflushThreshold=1000
    17. ;最大允许的未flush间隔时间,毫秒,默认10
    18. unflushInterval=10000
    19. ;单个文件的最大大小,实际会超过此值,默认1G
    20. maxSegmentSize=1073741824
    21. ;传输给客户端每次最大的缓冲区大小,默认1M
    22. maxTransferSize=1048576
    23. ;处理get请求的线程数,默认cpus*10
    24. getProcessThreadCount=80
    25. ;处理put请求线程数,默认cpus*10
    26. putProcessThreadCount=80
    27. ;数据删除策略,默认超过7天即删除,这里的168是小时,10s表示10秒,10m表示10分钟,10h表示10小时,默认为小时
    28. deletePolicy=delete,168
    29. ;删除策略的执行时间,cron表达式
    30. deleteWhen=0 0 6,18 * * ?
    31. ;事务相关配置
    32. ;最大保存事务checkpoint数目,默认为3
    33. maxCheckpoints=3
    34. ;事务checkpoint时间间隔,单位毫秒,默认1小时
    35. checkpointInterval=3600000
    36. ;最大事务超时事件数,用于监控事务超时
    37. maxTxTimeoutTimerCapacity=30000
    38. ;最大事务超时时间,单位秒
    39. maxTxTimeoutInSeconds=60
    40. ;事务日志的刷盘设置,0表示让操作系统决定,1表示每次commit都刷盘,2表示每隔1秒刷盘一次
    41. flushTxLogAtCommit=1
    42. ;zk配置
    43. [zookeeper]
    44. ;是否注册到zk,默认为true
    45. ;zk.zkEnable=true
    46. ;以下为zk配置,可以为空,为空将从diamond获取,不为空则优先使用下列配置
    47. ;zk的服务器列表
    48. zk.zkConnect=localhost:2181
    49. ;zk心跳超时,单位毫秒,默认30
    50. zk.zkSessionTimeoutMs=30000
    51. ;zk连接超时时间,单位毫秒,默认30
    52. zk.zkConnectionTimeoutMs=30000
    53. ;zk数据同步时间,单位毫秒,默认5
    54. zk.zkSyncTimeMs=5000
    55. ;zkdiamond中配置存储的dataId
    56. ;diamondZKDataId=metamorphosis.zkConfig
    57. ;zkdiamond中配置存储的group
    58. ;diamondZKGroup=DEFAULT_GROUP
    59. ;topic列表
    60. [topic=test]
    61. ;是否启用统计
    62. stat=true
    63. ;这个topic指定分区数目,如果没有设置,则使用系统设置
    64. numPartitions=10
    65. ;topic的删除策略,默认使用系统策略
    66. deletePolicy=
    67. unflushInterval=
    68. unflushThreshold=
    69. ;删除策略的执行时间,cron表达式
    70. deleteWhen=0 0 6,18 * * ?
    71. [topic=wuhua-test]
    72. stat=true
    73. numPartitions=10
    74. unflushInterval=50
    75. unflushThreshold=10