rabbitmq3.4.2单机装配和集群安装

rabbitmq3.4.2单机安装和集群安装

 

1.安装环境

  • 虚拟机:VMware Workstation 12 Pro
  • linux版本:Centos 6.5
  • rabbitmq版本:3.4.2

 

2.JDK安装

    2.1 JDK不是必须的

  • 在Erlang的编译(make)环节,默认是要使用javac的;
  • 对erlang来说它的JInterface的编译需要java编译器javac(JInterface是JDK5的, 若缺省JDK低于1.5,make到JInterface时依然会出错);
  • JDK不是必须的,可以使用如下方法设置不用javac
./configure --prefix=/opt/erlang --without-javac //设置不用java编译

 

    2.2 JDK编译安装

#1.首先不建议用openjdk,建议采用oracle官网JDK

#2.首先卸载系统自带的低版本或者自带openjdk
#首先用命令java -version 查看系统中原有的java版本
#然后用用 rpm -qa | gcj 命令查看具体的信息
#最后用 rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64卸载

#3.安装jdk-7u79-linux-x64.gz
#下载jdk-7u79-linux-x64.gz放置于/opt/java/jdk-7u79-linux-x64.gz并解压
cd /opt/java/
#这里是从oracle官网下载JDK7,现在oracle官网找个JDK7真心不容易,不知是不是为了推JDK8,JDK7的下载链接那个难找啊!!!
wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
tar -zxvf jdk-7u79-linux-x64.gz

#4.配置环境变量
#配置linux系统环境变量
vi /etc/profile
#在文件末尾追加如下内容
export JAVA_HOME=/opt/java/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#使配置生效
source /etc/profile

#5.检查JDK环境是否配置成功
java -version

 

3.linux必要的依赖安装

    安装GCC GCC-C++ Openssl ncurses等模块,否则在make&&make install Erlang等操作期间会出现一些由于没有其依赖的软件模块而失败。这里我是使用VMware Workstation Pro搭建的centos6.5,安装的依赖如下:

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel ncurses-devel xmlto libxslt

 

4.Erlang下载和安装

    安装rabbitmq首先必须安装Erlang,因为rabbitmq是用erlang开发的,这好比很多JAVA开发的程序首先要安装JDK一样。

    4.1 下载Erlang

    目前Erlang(http://www.erlang.org)官网版本已经到了19.2,这里我下载的是Erlang版本17.0,

rabbitmq3.4.2单机装配和集群安装
 

    下载命令如下:

cd /opt/
wget http://erlang.org/download/otp_src_17.0.tar.gz

    

    4.2 安装Erlang

    首先解压源代码,如下:

cd /opt/
tar -zxvf otp_src_17.0.tar.gz

    然后编译安装Erlang,如果没有安装JDK,按照如下方法执行:

cd /opt/otp_src_17.0
#创建安装目录,方便后续将erlang安装在此目录
mkdir -p /opt/erlang
#配置安装目录
//设置不用java编译
#./configure --prefix=/opt/erlang --without-javac
#make
#make install

    如果已经安装JDK,按照如下方法执行

cd /opt/otp_src_17.0
#创建安装目录,方便后续将erlang安装在此目录
mkdir -p /opt/erlang
#配置安装目录
./configure --prefix=/opt/erlang
make
make install

  

    4.3 配置Erlang环境变量

#配置linux系统环境变量
vi /etc/profile
#在文件末尾追加如下内容
export ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
#修改完后使配置文件生效
source /etc/profile

    

    4.4 检测Erlang环境是否配置成功

erl -version

 

5.rabbitmq单机安装

    5.1 下载rabbitmq

    通过http://www.rabbitmq.com/releases/rabbitmq-server/可以找到目前所有版本的下载链接,截图如下:


rabbitmq3.4.2单机装配和集群安装
rabbitmq3.4.2单机装配和集群安装
rabbitmq3.4.2单机装配和集群安装
rabbitmq3.4.2单机装配和集群安装
 
    这里我选择的是3.4.2版本做讲解,选择此版本没啥特别的理由,之所以不选择3.4.1是因为版本3.4.0和版本3.4.1存在脑裂问题(参见http://blog.****.net/u013256816/article/details/53291907),关于3.4.2官网http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.2/提供的安装安装包如下:

rabbitmq3.4.2单机装配和集群安装
rabbitmq3.4.2单机装配和集群安装
     

    5.2 RPM方式安装和卸载

    如果你选择的是rpm包,那么安装方式如下:

cd /opt
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.2/rabbitmq-server-3.4.2-1.noarch.rpm

rpm --nodeps -Uvh rabbitmq-server-3.4.2-1.noarch.rpm

#--nodeps是为了规避如下问题(会报没有找到erlang依赖,但是其实我们已经安装了Erlang)
warning: rabbitmq-server-3.4.2-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY
error: Failed dependencies:
erlang >= R13B-03 is needed by rabbitmq-server-3.4.2-1.noarch

     如果想卸载RPM安装的包,操作如下:

1)首先通过 rpm -q rabbitmq-server 可以查询到rpm包的名字
2)然后 调用 rpm -e rabbitmq-server-3.4.2-1.noarch 删除特定rpm包
3)如果遇到依赖,无法删除,使用 rpm -e --nodeps rabbitmq-server-3.4.2-1.noarch 不检查依赖,直接删除rpm包
4)如果恰好有多个包叫同样的名字,使用 rpm -e --allmatches --nodeps rabbitmq-server 删除所有相同名字的包,并忽略依赖

 

    5.3 编译安装方式

    而我选择的是源码编译安装(关于源码编译安装参见http://www.rabbitmq.com/build-server.html),主要是方便规划管理rabbitmq的安装目录,所以我的安装方式如下:

#下载
cd /opt
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.2/rabbitmq-server-3.4.2.zip
#解压
unzip rabbitmq-server-3.4.2.zip
#重命名源码目录
mv /opt/rabbitmq-server-3.4.2 /opt/rabbitmq-server-3.4.2-source
创建安装目录
mkdir -p /opt/rabbitmq-server-3.4.2
#编译安装
cd /opt/rabbitmq-server-3.4.2-source
make
make install TARGET_DIR=/opt/rabbitmq-server-3.4.2 SBIN_DIR=/opt/rabbitmq-server-3.4.2/sbin MAN_DIR=/opt/rabbitmq-server-3.4.2/man DOC_INSTALL_DIR=/opt/rabbitmq-server-3.4.2/doc

   

    5.4 添加shell到环境变量:

#vi /etc/profile
RABBITMQ_HOME=/opt/rabbitmq-server-3.4.2
export PATH=$PATH:$RABBITMQ_HOME/sbin

 

    5.5 配置rabbitmq

mkdir -p /etc/rabbitmq
cd /etc/rabbitmq
rm -rf /opt/rabbitmq/data
rm -rf /opt/rabbitmq/log
mkdir -p /opt/rabbitmq/data
mkdir -p /opt/rabbitmq/log
#cp /opt/rabbitmq-server-3.4.2/doc/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
#vi /etc/rabbitmq/rabbitmq-env.conf
DENAME=master
RABBITMQ_MNESIA_BASE=/opt/rabbitmq/data
RABBITMQ_LOG_BASE=/opt/rabbitmq/log

 

    5.6 启用插件

rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_mqtt

 

    5.7 启动管理服务

rabbitmq-server –detached

 

    5.8 添加用户并赋予权限

#添加用户rabbitmq-test设置密码rabbitmq-test并并赋予权限administrator
rabbitmqctl add_user rabbitmq-test rabbitmq-test
rabbitmqctl set_user_tags rabbitmq-test administrator

 

    5.9 登录http://localhost:15672/并登录,截图如下:

rabbitmq3.4.2单机装配和集群安装
rabbitmq3.4.2单机装配和集群安装


6.rabbitmq HA集群安装

       未完待续......