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
点击进去
![](https://img2020.cnblogs.com/blog/389568/202108/389568-20210819141806335-698768436.png)
然后有冲突的组件直接删除,然后执行
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
QQ一群 247823727
QQ二群 166427999
博客文件如果不能下载请进群下载
如果公司项目有技术瓶颈问题,请联系↓↓
如果需要定制系统开发服务,请联系↓↓
技术服务QQ: 903464207
QQ二群 166427999
博客文件如果不能下载请进群下载
如果公司项目有技术瓶颈问题,请联系↓↓
如果需要定制系统开发服务,请联系↓↓
技术服务QQ: 903464207