erlang mapreduce_手工部署RabbitMQ(CentOS 7.4)

在CentOS 7.4上手工部署RabbitMQ,首先需要安装Erlang,然后下载并解压RabbitMQ,最后进行配置和启动。

Erlang MapReduce 手工部署 RabbitMQ(CentOS 7.4)

erlang mapreduce_手工部署RabbitMQ(CentOS 7.4)
(图片来源网络,侵删)

1. 简介

在分布式计算中,MapReduce 是一种常用的编程模型,Erlang 是一种函数式编程语言,适合处理并发和分布式系统,RabbitMQ 是一个开源的消息代理和队列服务器,用于通过轻量级消息传递来进行通信。

本文将介绍如何在 CentOS 7.4 上手动部署 RabbitMQ。

2. 安装 Erlang

2.1 下载 Erlang

从 Erlang 官网(https://www.erlang.org/downloads)下载最新版本的 Erlang。

2.2 安装 Erlang

解压下载的文件,并进入解压后的目录:

erlang mapreduce_手工部署RabbitMQ(CentOS 7.4)
(图片来源网络,侵删)
tar xvf otp_src_23.0.tar.gz
cd otp_src_23.0

编译和安装 Erlang:

./configure
make
sudo make install

安装完成后,检查 Erlang 是否安装成功:

erl

如果看到 Erlang 的版本信息,说明安装成功。

3. 安装 RabbitMQ

3.1 添加 RabbitMQ 仓库

添加 RabbitMQ 的官方仓库:

sudo rpm import https://github.com/rabbitmq/signingkeys/releases/download/2.0/rabbitmqreleasesigningkey.asc
sudo curl s https://packagecloud.io/install/repositories/rabbitmq/rabbitmqserver/script.rpm.sh | sudo bash

3.2 安装 RabbitMQ

安装 RabbitMQ:

erlang mapreduce_手工部署RabbitMQ(CentOS 7.4)
(图片来源网络,侵删)
sudo yum install rabbitmqserver3.8.161.el7.noarch

3.3 启动 RabbitMQ

启动 RabbitMQ 服务:

sudo systemctl start rabbitmqserver

设置开机启动:

sudo systemctl enable rabbitmqserver

查看 RabbitMQ 服务状态:

sudo systemctl status rabbitmqserver

如果看到Active: active (running),说明 RabbitMQ 已经成功启动。

4. 配置 RabbitMQ

4.1 创建用户和权限

以 RabbitMQ 管理员身份登录:

sudo rabbitmqctl list_users
sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_user_tags myuser administrator
sudo rabbitmqctl set_permissions p / myuser ".*" ".*" ".*"

4.2 创建虚拟主机和队列

sudo rabbitmqctl add_vhost myvhost
sudo rabbitmqctl list_queues p myvhost
sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_user_tags myuser administrator
sudo rabbitmqctl set_permissions p myvhost myuser ".*" ".*" ".*"

5. 使用 RabbitMQ

您可以在您的应用程序中使用 RabbitMQ 了,使用 Python 的 pika 库连接到 RabbitMQ:

import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost', 5672, '/', pika.PlainCredentials('myuser', 'mypassword')))
channel = connection.channel()
channel.queue_declare(queue='myqueue')
channel.basic_publish(exchange='', routing_key='myqueue', body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2024-07-02 04:05
下一篇 2024-07-02 04:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信