安装rabbitmq需要先安装erlang及openssl 0.前置安装
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel
yum install -y socat
yum -y install logrotate
yum install openssl-devel
1.安装erlang
1.1查找版本对应关系 www.rabbitmq.com/docs/which-…
1.2下载erlang,本次下载版本为26.2.5.1 www.erlang.org/patches/otp…
1.3上传服务器并解压 tar -zxf otp_src_26.2.5.1.tar.gz
1.4配置并安装
./configure --prefix=/usr/local/erlang --without-javac
make && make install
1.5配置环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/erlang/bin
source /etc/profile
1.6验证
erl
crypto:start().
1.7出现问题
Unable to load crypto library. Failed with error:
"load_failed, Failed to load NIF library: '/usr/local/erlang/lib/crypto/priv/lib/x86_64-unknown-linux-gnu/crypto.so"
OpenSSL might not be installed on this system.
说明OpenSSL有问题
解决办法1:重新安装openssl
进入openssl文件夹 (whereis openssl)
make clean
./config shared --说明:./config shared命令才会添加动态库
make && make install
回到erl安装目录
make clean
从1.4步骤重新执行
解决办法2:升级openssl
下载openssl,本次下载版本openssl-3.0.14 www.openssl.org/source/
配置并安装
./config shared --prefix=/usr/local/openssl
make && make install
rm -rf /usr/bin/openssl
rm -rf /usr/include/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
ldconfig -v
dd /usr/local/openssl/bin/openssl
回到erl安装目录
make clean
从1.4步骤重新执行
安装openssl出现问题
Can’t locate IPC/Cmd.pm in @INC (@INC contains: /home/openssl-3.0.14/util/perl /usr/local/lib64/perl5
解决办法:
yum -y install perl-CPAN
yum -y install perl-Net-Pcap libpcap-devel
perl -MCPAN -e shell
输入yes manual yes
出现文艺多试几次或换源
然后重新安装openssl
2.安装rabbitmq
2.1 下载rabbitmq 本次下载版本rabbitmq-server-generic-unix-3.12.14 github.com/rabbitmq/ra…
2.2上传服务器并解压 tar -xvf rabbitmq-server-generic-unix-3.12.14.tar.xz
2.3配置并安装
vim /etc/profile
export PATH=$PATH:/root/rabbitmq_server-3.12.14/sbin
source /etc/profile
2.4启动 rabbitmq-server -deched &
2.5配置用户和权限
rabbitmqctl add_user 用户名 密码
rabbitmqctl set_user_tags 用户名 administrator
rabbitmqctl set_permissions -p / 用户名 '.' '.' '.*'
rabbitmqctl set_policy ha-all "^." '{"ha-mode":"all"}'
rabbitmq-plugins enable rabbitmq_management
3.配置集群
3.1同步cookies,主节点A启动后 ll -a 同步.erlang.cookie到其他服务器B,C
3.2配置A,B,C的hosts
3.3启动B,C服务器 rabbitmq-server -deched &
3.4添加集群
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@A服务host名称
rabbitmqctl start_app
rabbitmq-plugins enable rabbitmq_management
3.5验证并访问ui
rabbitmqctl cluster_status