taobao mysql优化配置

安装

wget http://www.erlang.org/download/otp_src_R15B01.tar.gz

tar zxvf otp_src_R15B01.tar.gz && cd otp_src_R15B01

./configure

make

make install

安装rabbitmq server

wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.8.2/rabbitmq-server-generic-unix-2.8.2.tar.gz

tar rabbitmq-server-generic-unix-2.8.2.tar.gz

cd /rabbitmq-server-generic-unix-2.8.2

修改Makeifle ,添加以下参数,指定安装目录

SBIN_DIR = /usr/sbin

MAN_DIR = /usr/share/man

TARGET= /usr/lib/rabbitmq

make

make install

注意:安装脚本最后会从一个网站上拉man手册,有时连不上这个网站,安装脚本就会停住,这时可以Ctrl-c结束安装进程,这时其实已经安装完成只差man手册。

  1. 配置文件

Rabbitmq的配置文件有三个,位于/etc/rabbitmq/,
这三个文件分别是:

(1)enabled_plugins, 设置允许的插件列表,该配置文档的格式为erlang的列表格式如
[rabbitmq_management,rabbitmq_visualiser]
.
(2)rabbitmq.conf,设置rabbitmq的运行参数。该配置文件中的每个参数为一个erlang的 tuple,结构为{Key,Value}, Key为atom类型, Value为一个term。其中几个关键参数为:
tcp_listerners 设置rabbimq的监听端口,默认为[5672]。

disk_free_limit 磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为

{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.

vm_memory_high_watermark,设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。

hipe_compile 将部分rabbimq代码用High Performance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。

force_fine_statistics, 该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。

(3)rabbitmq-env.conf rabbitmq的环境参数配置
RABBITMQ_NODE_PORT 端口设置,默认为5672
RABBITMQ_NODENAME 节点名称,默认为rabbit
MNESIA_BASE 后端存储目录 ,默认为/var/lib/rabbitmq/mnesia
LOG_BASE 日志目录,默认为/var/log/rabbitmq/

  1. 集群配置

(1)手动配置

a)首先在每个节点上启动RabbitMq
host1#rabbitmq-server -detached
host2#rabbitmq-server -detached
host3#rabbitmq-server -detached
此时每个节点自成集群,每个集群只有本节点
可以通过export RABBITMQ_NAME=xxx 指定节点名称,若不指定默认为rabbit
完整的节点名为xxx@hostname

b)加入集群
让host2 和host3上的rabbitmq节点加入到 host1的rabbitmq集群
使用rabbitmqctl命令对rabbitmq进行操作
加入集群前必须停止当前app,加入后在重启app,过程如下:
host2#rabbitmqctl stop_app
host2#rabbitmqctl cluster rabbit@host1
host2#rabbitmqctl start_app
host3#rabbitmqctl stop_app
host3#rabbitmqctl cluster rabbit@host1
host3#rabbitmqctl start_app

关于节点类型(ram |disk)

ram节点的状态保存在内存中,disk节点保存在磁盘中
被加入的节点为disk,如本例中rabbit@host1为disk节点,rabbit@host2,rabbit@host3为ram节点
可以通过rabbitmqctl cluster命令改变加入的集群以及节点类型 该命令后可以加多个节点名称, 指定的节点就会变成disk节点
如可以将本例中所有节点都改成disk节点
host2#rabbitmqctl stop_app
host2#rabbitmqctl reset
host2#rabbitmqctl cluster rabbit@host1 rabbit@host2
host2#rabbitmqctl start_app
host3#rabbitmqctl stop_app
host3#rabbitmqctl reset
host3#rabbitmqctl cluster rabbit@host1 rabbit@host3
host3#rabbitmqctl start_app

(2) 自动配置:

rabbitmq的默认配置脚本为
/etc/rabbitmq/rabbitmq.conf
在其中添加
[

{rabbit, [

{cluster_nodes, ['rabbit@host1', 'rabbit@host2', 'rabbit@host3']},

]},

].
分别启动每个rabbitmq节点
rabbitmq -detached
rabbitmq就自动组成集群了

你可能感兴趣的:(mysql,rabbitmq)