centos8安装rabbitmq,kafka

2020年10月16日10:40:39

 

EL是Red Hat Enterprise Linux(EL)的缩写。
EL5是Red Hat 5.x,CentOS 5.x
EL6是Red Hat 6.x,CentOS 6.x
EL7是Red Hat 7.x,CentOS 7.x
EL8是Red Hat 8.x,CentOS 8.x
下载地址 : https://www.rabbitmq.com/install-rpm.html

https://packagecloud.io/rabbitmq/rabbitmq-server/
选择对应的版本

https://packagecloud.io/rabbitmq/erlang
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

如果安装rabbmitmq还是有问题就先执行
yum -y remove erlang-*

yum install erlang
获取yum包
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash


这个源比较慢 yum search rabbitmq-server yum install rabbitmq-server 另一种方法获取rpm包,选择对应版本下载 https://bintray.com/rabbitmq/rpm/rabbitmq-server/ systemctl start rabbitmq-server.service systemctl enable rabbitmq-server.service systemctl status rabbitmq-server.service rabbitmqctl status rabbitmq-plugins enable rabbitmq_management chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/ rabbitmqctl add_user admin zx rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
账号 admin 密码是zx
也可以去管理界面里面修改
RabbitMQ 默认端口号
4369 (epmd), 25672 (Erlang distribution) 5672, 5671 (AMQP 0-9-1 without and with TLS) 15672 (if management plugin is enabled) 61613, 61614 (if STOMP is enabled) 1883, 8883 (if MQTT is enabled) RabbitMQ_Management界面学习 https://www.cnblogs.com/toutou/p/RabbitMQ_Management.html 中文文档 https://www.kancloud.cn/yunxifd/rabbitmq/94125 https://xiaoxiami.gitbook.io/rabbitmq_into_chinese_php/ying-yong-jiao-cheng/php-ban/3-publish_subscribe.md

安装rabbitmq_delayed_message_exchange插件

插件地址:https://www.rabbitmq.com/community-plugins.html

wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.8.0/rabbitmq_delayed_message_exchange-3.8.0.ez
到github的发行包地址.ez的文件到
/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.9/plugins
然后运行
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
其他的插件都是同一个方法安装
 rabbitmq-plugins list
查看安装是否成功

2021年8月19日14:12:00
这里有个常见的问题就是rabbitmq和erlang的版本不匹配,导致无法yum安装的问题
rabbitmq官方有维护相关匹配版本

https://packagecloud.io/rabbitmq

所以你先选择
erlang https://packagecloud.io/rabbitmq/erlang

然后选择你对应的版本,
yum search rabbitmq-server查看提示最低版本,然后找对应的版本
比如 erlang-23.3.4-1.el7.x86_64.rpm
点击进去

 


 然后有冲突的组件直接删除,然后执行

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
在执行
sudo yum install erlang-23.3.4-1.el7.x86_64

就基本OK了

用户角色分类
none:无法登录控制台
不能访问 management plugin,通常就是普通的生产者和消费者。

management:普通管理者。
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对policies进行管理。用户可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和关闭自己的channels 和 connections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。

policymaker:策略制定者。
management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policies和parameters

monitoring:监控者。
management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息
同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

administrator:超级管理员。
policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections

创建用户
rabbitmqctl add_user {用户名} {密码}

// 设置权限
rabbitmqctl set_user_tags {用户名} {权限}
例:创建一个超级用户
rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator
查看用户列表
rabbitmqctl list_users
为用户赋权
// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl  set_permissions -p vhost1 user1 '.*' '.*' '.*' 

// 查看权限
rabbitmqctl list_user_permissions user1

rabbitmqctl list_permissions -p vhost1

// 清除权限
rabbitmqctl clear_permissions [-p VHostPath] User
删除用户
rabbitmqctl delete_user Username
修改用户的密码
rabbitmqctl change_password Username Newpassword

 

 


2022年6月6日16:30:16
增加Supervisor安装

yum search supervisor
yum install supervisor

配置文件在

主配置文件

/etc/supervisord.conf

子项目配置目录

/etc/supervisord.d/

supervisord是有web界面的,但是不建议使用,避免漏洞

 

systemctl start supervisord

systemctl enable supervisord

 

/etc/supervisord.d/加入

test.ini

内容

[program:laravel-worker]
command=nohup /usr/local/php8/bin/php /data/www/yida_api/run queue:work --queue=unpaid_order --daemon
process_name=laravel-worker
directory=/data/www/yida_api/
autostart=true
autorestart=true
user=www
numprocs=1
startsecs=3
redirect_stderr=true
stdout_logfile=/data/www/log/laravel-worker-out.log
stderr_logfile=/data/www/log/laravel-worker-err.log

 

修改了配置文件   
supervisorctl reread
supervisorctl update
启动,停止进程
supervisorctl start laravel-worker
supervisorctl stop laravel-worker
supervisorctl restart laravel-worker
查看进程
supervisorctl status

 

 

官方网站 http://kafka.apache.org/downloads.html
https://github.com/apache/kafka
Scala 是jvm上运行,需要先安装jre,java版本1.8
wget https://mirror.bit.edu.cn/apache/kafka/2.6.0/kafka_2.13-2.6.0.tgz
运行kafka需要使用Zookeeper,所以你需要先启动Zookeeper,如果你没有Zookeeper,你可以使用kafka自带打包和配置好的Zookeeper bin目录下

https://blog.csdn.net/panchang199266/article/details/82113453
中文文档 http://ifeve.com/kafka-1/
https://www.orchome.com/189

mv kafka_2.13-2.6.0 /usr/local/kafka

vi /etc/systemd/system/zookeeper.service

[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target
 
[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
User=root
Group=root
 
[Install]
WantedBy=multi-user.target


vi /etc/systemd/system/kafka.service
 
[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
 
[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
 
[Install]
WantedBy=multi-user.target

创建一个topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic
查看创建了多少个topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
终端生产者进行发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic
另一个终端创建一个消费者来进行接收消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning

这里配置的是kafka单机 jps查看是否启动
9173 Kafka
9462 Jps
8589 QuorumPeerMain


kafka配置文件
# broker的全局唯一编号,不能重复
broker.id=0
# 监听
listeners=PLAINTEXT://IP:9092 外网的访问的时候
listeners=PLAINTEXT://:9092 
# 日志目录
log.dirs=/home/hadoop/kafka-logs
# 配置zookeeper的连接(如果不是本机,需要该为ip或主机名)
zookeeper.connect=localhost:2181
#删除主题
delete.topic.enable=true
 

zookeeper配置文件

maxClientCnxns=0

admin.enableServer=true
admin.serverPort=8888

 

posted on 2020-10-19 10:21  zh7314  阅读(309)  评论(0编辑  收藏  举报