楔子
由于国内信创越来越火,客户现场也开始使用国产操作系统替换CentOS之类的开源操作系统,最近做实施的同事找到我,说现场是ARM架构的操作系统编译安装RabbitMQ一直提示无法启动也没有日志文件生成,找过了好几个同事都没解决这才找到我。我就在这里记录下安装步骤及碰到的问题与解决办法。
环境说明
名称 | 版本 |
麒麟操作系统 |
V10系统 飞腾版 ARM 64位架构 |
Linux内核 |
4.19.90-24.4.v2101.ky10.aarch64 |
Erlang |
24.2 |
RabbitMQ |
3.9.1 unix通用版本 |
安装基础编译环境
|
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl gtk2-devel binutils-devel |
安装Erlang
|
|
|
tar -zxvf otp_src_24.2.tar.gz -C /usr/local |
|
|
|
cd /usr/local/otp_src_24.2/ |
|
|
|
mkdir /usr/local/erlang |
|
|
|
./configure --prefix=/usr/local/erlang |
|
|
|
make |
|
make install |
|
|
|
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile |
|
source /etc/profile |
|
|
|
erl -version |
安装RabbitMQ
|
|
|
tar -xvf rabbitmq-server-generic-unix-3.9.1.tar.xz |
|
|
|
mv rabbitmq-server-generic-unix-3.9.1 /usr/local/rabbitmq |
|
|
|
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile |
|
source /etc/profile |
启动RabbitMQ
|
|
|
rabbitmq-server -detached |
|
|
|
rabbitmqctl status |
|
|
|
rabbitmq-plugins enable rabbitmq_management |
初始化用户
|
|
|
rabbitmqctl add_user admin 123456 |
|
|
|
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" |
|
|
|
rabbitmqctl set_user_tags admin administrator |
|
|
|
rabbitmqctl stop && rabbitmq-server -detached |
重启后访问 15672 端口进入Web管理界面,安装与初始化部署到这里就结束了,下边记录些错误情况
遇到的问题
执行 rabbitmq-server 报如下错误:
|
{"init terminating in do_boot",{error,{crypto,{"no such file or directory","crypto.app"}}}} |
|
init terminating in do_boot ({error,{crypto,{no such file or directory,crypto.app}}}) |
提示crypto库找不到,原因是在编译Erlang时crypto依赖的openssl库没找到。
解决办法:安装 openssll、openssl-devel,重新编译安装
|
yum install -y openssl openssl-devel |
|
cd <Erlang编译目录> |
|
make clean |
|
./configure --prefix=/usr/local/erlang |
|
make |
|
make install |
这个错误有参考价值,就拿过来记录下。虽然我在操作时也提示是这个问题,但并不是我编译安装的位置提示出来的!之前几个同事编译时未安装openssl,编译出有问题的Erlang并放到了环境变量很靠前的位置,导致我编译正确的Erlang没被执行。。所以在这里我推荐大家编译安装后用which查一下你的命令是从哪响应的。
参考: