rabbitMQ安装

安装rabbitmq 3.6.12,当前为止,最新的rabbitmq的版本


1、安装编译工具


yum install -y ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel
yum install -y openssl-devel zlib-devel
yum install -y make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel


2、安装erlang


下载erlang:http://erlang.org/download/otp_src_20.0.tar.gz


tar -zxvf otp_src_20.0.tar.gz


cd otp_src_20.0


./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac


make && make install


ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl


vi ~/.bashrc


ERLANG_HOME=/usr/local/erlang
PATH=$ERLANG_HOME/bin:$PATH


source ~/.bashrc


erl


3、安装rabbitmq


http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.12/rabbitmq-server-generic-unix-3.6.12.tar.xz


yum install -y xz


xz -d rabbitmq-server-generic-unix-3.6.12.tar.xz


tar -xvf rabbitmq-server-generic-unix-3.6.12.tar


mv rabbitmq_server-3.6.1 rabbitmq-3.6.12


开启管理页面的插件


cd rabbitmq-3.6.1/sbin/
./rabbitmq-plugins enable rabbitmq_management


后台启动rabbitmq server


./rabbitmq-server -detached


关闭rabbitmq server


./rabbitmqctl stop


添加管理员账号


./rabbitmqctl add_user rabbitadmin 123456
./rabbitmqctl set_user_tags rabbitadmin administrator

分配权限
sbin/rabbitmqctl set_permissions -p / rabbitadmin ".*" ".*" ".*"
配置配置文件(rabbitmq/etc/rabbitmq/rabbitmq.conf)

[{rabbit, [{loopback_users, []}]}].


进入管理页面


15672端口号,输入用户名和密码

 

内存,磁盘控制

一、内存控制:

vm_memory_high_watermark 该值为内存阈值,默认为0.4。意思为物理内存的40%。40%的内存并不是内存的最大的限制,它是一个发布的节制,当达到40%时Erlang会做GC。最坏的情况是使用内存80%。如果把该值配置为0,将关闭所有的publishing 。

rabbitmqctl set_vm_memory_high_watermark 0

 

Paging 内存阈值,该值为默认为0.5,该值为vm_memory_high_watermark的20%时,将把内存数据写到磁盘。

如机器内存16G,当RABBITMQ占用内存1.28G(16*0.4*0.2)时把内存数据放到磁盘。

 

二、硬盘控制:

当RabbitMQ的磁盘空闲空间小于50M(默认),生产者将被BLOCK,

如果采用集群模式,磁盘节点空闲空间小于50M将导致其他节点的生产者都被block

可以通过disk_free_limit来对进行配置。

 

 

 

------------------------------------------------------------------\

可以修改rabbitmq-env.conf配置文件:

[{rabbit,[{vm_memory_high_watermark,0.6}]}].

或者设置成固定值:

[{rabbit,[{vm_memory_high_watermark,{absolute,1073741824}}]}].也就是1024MB.

如果要在broker运行过程中修改,则rabbitmqctl set_vm_memory_high_watermark 0.6

 

 

-------------------------------------------------\

三. 配置
/usr/local/rabbitmq/sbin目录下
rabbitmq-env 环境配置
rabbitmq-defaults 默认参数设置
rabbitmqctl 管理工具
rabbitmq-plugins 插件管理工具
rabbitmq-server rabbitmq服务

# vim rabbitmq-defaults

 

1

2

3

4

5

6

7

8

9

10

SYS_PREFIX=${RABBITMQ_HOME}

ERL_DIR=/usr/local/erlang/bin/ //设置erl命令路径

CLEAN_BOOT_FILE=start_clean

SASL_BOOT_FILE=start_sasl

CONFIG_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq //设置rabbitmq运行参数

LOG_BASE=${SYS_PREFIX}/var/log/rabbitmq

MNESIA_BASE=${SYS_PREFIX}/var/lib/rabbitmq/mnesia

ENABLED_PLUGINS_FILE=${SYS_PREFIX}/etc/rabbitmq/enabled_plugins //允许插件列表配置文件

PLUGINS_DIR="${RABBITMQ_HOME}/plugins"

CONF_ENV_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq-env.conf

主要配置文件
1. enabled_plugins:设置允许的插件列表,格式如下:

 

1

2

3

4

5

[rabbitmq_jsonrpc_channel,

rabbitmq_jsonrpc_channel_examples,

rabbitmq_management,

rabbitmq_management_visualiser,

rabbitmq_tracing].

2. rabbitmq.config:设置rabbitmq运行参数。结构为hash数组格式。如

 

1

2

3

4

5

6

7

8

9

[

{mnesia, [{dump_log_write_threshold, 1000}]},

{rabbit, [{vm_memory_high_watermark, 0.4}]}

{rabbitmq_management,

[{listener, [{port, 55673},

{ip, "0.0.0.0"}

]}

]}

].

其中几个关键参数为:
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则进行精细化的统计,但会影响性能。
/usr/local/etc/rabbitmq/rabbitmq.config
[{auth_backends,[rabbit_auth_backend_internal]},
{auth_mechanisms,['PLAIN','AMQPLAIN']},
{backing_queue_module,rabbit_variable_queue},
{cluster_nodes,[]},
{collect_statistics,fine},
{collect_statistics_interval,5000},
{default_permissions,[<<".*">>,<<".*">>,<<".*">>]},
{default_user,<<"guest">>},
{default_user_tags,[administrator]},
{default_vhost,<<"/">>},
{delegate_count,16},
{error_logger,{file,"/usr/local/var/log/rabbitmq/rabbit@Technophiliac.log"}},
{frame_max,131072},
{hipe_compile,false},
{included_applications,[]},
{msg_store_file_size_limit,16777216},
{msg_store_index_module,rabbit_msg_store_ets_index},
{queue_index_max_journal_entries,262144},
{sasl_error_logger,{file,"/usr/local/var/log/rabbitmq/rabbit@Technophiliac-sasl.log"}},
{server_properties,[]},
{ssl_listeners,[]},
{ssl_options,[]},
{tcp_listen_options,
[binary,
{packet,raw},
{reuseaddr,true},
{backlog,128},
{nodelay,true},
{exit_on_close,false}]},
{tcp_listeners,[5672]},
{trace_vhosts,[<<"/">>]},
{vm_memory_high_watermark,0.4}]
3. rabbitmq-env.conf rabbitmq环境参数配置

 

1

2

3

4

5

6

RABBITMQ_NODENAME=FZTEC-240088 节点名称

RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 监听IP

RABBITMQ_NODE_PORT=5672 监听端口

RABBITMQ_LOG_BASE=/data/rabbitmq/log 日志目录

RABBITMQ_PLUGINS_DIR=/data/rabbitmq/plugins 插件目录

RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia 后端存储目录

更详细的配置参见: http://www.rabbitmq.com/configure.html#configuration-file

4. 启动

 

1

# /usr/local/rabbitmq/sbin/rabbitmq-server -detached

四. rabbitmq插件管理
启用rabbitmq web管理插件

 

1

# ./rabbitmq-plugins enable rabbitmq_management

列出所有插件

 

1

# ./rabbitmq-plugins list

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值