笔记:centos安装rabbitmq及出现问题和解决

184 阅读1分钟

安装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