摘要: 为了尽可能契合生产环境的部署情况,这里用kubeadm安装集群,同时方便跟随笔记一步步实践的过程,也更加了解k8s的一些特性和基础知识。 先决条件 这里将通过虚拟机安装3台centos stream 9服务器,并组成kubeneters集群(1个master,2个worker节点),以下是本次实践的 阅读全文
posted @ 2023-02-17 17:42 zengql 阅读(4930) 评论(0) 推荐(3) 编辑
摘要: 从事这个行业转眼已经6年了,从当初刚毕业的在北京朝八晚十,从二环到五环,仍每天精力充沛的小愤青;再到深圳一点一滴的辛勤在软件行业的耕种,从当初单体应用架构到现在微服务架构的经历,回想起来自己的收获倒是不少。人生也许算是比较平淡,运气到也还算不错,做过的项目刚好让我在这些方面能有不错的认知和自我学习的 阅读全文
posted @ 2018-12-30 16:30 zengql 阅读(12072) 评论(8) 推荐(26) 编辑

简介

  通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接收。这些节点通过 RabbitMQ HA 队列(镜像队列)进行消息队列结构复制。本方案中搭建 3 个节点,并且都是磁盘节点(所有节点状态保持一致,节点完全对等),只要有任何一个节点能够工作,RabbitMQ 集群对外就能提供服务。

 

1. 安装erlang,参考:http://fedoraproject.org/wiki/EPEL/FAQ#howtouse

rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
yum install erlang

2. 安装rabbitmq

# 下载rpm安装包
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
# 安装
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
# 启动rabbitmq服务
service rabbitmq-server start
# 查看服务状态
service rabbitmq-server status
# 开放rabbitmq的使用,默认用户guest,密码guest
cd /etc/rabbitmq/ vi rabbitmq.config

# 再打开的窗口中新增内容如下:
[{rabbit, [{loopback_users, []}]}].
# 重启服务
service rabbitmq-server stop service rabbitmq-server start
# 开放5672端口访问
firewall-cmd --zone=public --add-port=5672/tcp --permanent firewall-cmd --reload

3. 开启后台UI管理插件

rabbitmq-plugins enable rabbitmq_management
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload

# 以上完成后即可访问:http://{host}:15672

4. 开启消费记录日志功能

 # 启用记录插件

 rabbitmq-plugins enable rabbitmq_tracing

 # 启用跟踪记录

 rabbitmqctl trace_on

 # 以上配置完成后,即可在后台管理界面 --> Admin --> Tracing 添加跟踪配置:

 

  # 点击dev.log 即可查看日志文件

 

 

5. 配置rabbitmq集群节点

 # 服务器:10.18.32.7(节点1) , 10.18.32.8(节点2)

(1). 配置hostname

  # 在各节点服务器上配置hostname:rabbitmq-1,rabbitmq-2
  vim /etc/hostname

(2). 配置host

  # 在各节点服务器上配置host
  vim /etc/hosts
  

 

 

  (3). 设置各节点Cookie保持一致

 

    service rabbitmq-server stop

 

    chmod 700 /var/lib/rabbitmq/.erlang.cookie

 

    echo -n "AZVOCZYZZBVFLBPTBXU" > /var/lib/rabbitmq/.erlang.cookie

 

    chmod 400 /var/lib/rabbitmq/.erlang.cookie

 

    service rabbitmq-server start

 

  (4). 开通防火墙集群通讯端口

 

  firewall-cmd --permanent --add-port={4369/tcp,25672/tcp}
  firewall-cmd --reload

 

(5). 将节点2、3...加入节点一中

  rabbitmqctl stop_app
  rabbitmqctl join_cluster rabbit@server1
  rabbitmqctl start_app

(6). 设置各节点镜像策略

  rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

 

7. 后期维护版本升级

 (1). 升级Erlang

  # 移除旧版erlang,可以通过 erl -version 查看当前安装版本

  yum remove erlang.*

  yum remove erlang-*

  # 自动安装erlang的YUM源

  wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

   rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

   yum install erlang

 (2). 升级RabbitMQ

 # 从官网(https://www.rabbitmq.com/install-rpm.html#with-rpm)找到最新版下载地址
 wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.2/rabbitmq-server-3.7.2-1.el7.noarch.rpm

 rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
 yum install rabbitmq-server-3.7.2-1.el7.noarch.rpm
 # 以上步骤完成后,按照以上重启服务即可


参考链接:
  http://www.cnblogs.com/uptothesky/p/6094357.html
  http://www.cnblogs.com/edward2013/p/5061511.html
  https://www.jianshu.com/p/3a625aacd9aa

posted @ 2017-12-26 20:07 zengql 阅读(8350) 评论(0) 推荐(1) 编辑
摘要: Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单。容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。   Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点。   容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。容器使用宿主操作系统的内核,而虚拟机使用独立的内核。   Docker 的局限性之一是,它只能用在 64 位的操作系统上。 阅读全文
posted @ 2017-04-10 00:18 zengql 阅读(1391) 评论(0) 推荐(0) 编辑
摘要: GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。   它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。   团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。 阅读全文
posted @ 2017-03-14 01:28 zengql 阅读(8211) 评论(0) 推荐(0) 编辑
摘要: Grafana 是 Graphite 和 InfluxDB 仪表盘和图形编辑器。Grafana 是开源的,功能齐全的度量仪表盘和图形编辑器,支持 Graphite,InfluxDB 和 OpenTSDB。   Grafana 主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;   多个数据源;Graphite 和 InfluxDB 查询编辑器等等。 阅读全文
posted @ 2017-03-05 01:07 zengql 阅读(17709) 评论(0) 推荐(0) 编辑
摘要: 转载: https://blog.fazero.me/2015/09/15/%E8%AE%A9%E7%BB%88%E7%AB%AF%E8%B5%B0%E4%BB%A3%E7%90%86%E7%9A%84%E5%87%A0%E7%A7%8D%E6%96%B9%E6%B3%95/ 阅读全文
posted @ 2017-03-05 00:03 zengql 阅读(2202) 评论(0) 推荐(0) 编辑
摘要: 简介: Zabbix的一个很优秀的分布式监控服务器, 它有两部分组成: * “zabbix-server”用来收集并且在web端展示数据 * “zabbix-agent”用来采集数据,发送给server 1. 切换至root账户 sudo bash 2. 关闭防火墙并关闭开机启动 systemctl 阅读全文
posted @ 2017-03-04 01:32 zengql 阅读(2969) 评论(3) 推荐(2) 编辑
摘要: 1. 怎样在 CentOS 7.0 上安装和配置 VNC 服务器 https://linux.cn/article-5335-1.html 2. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一) https://linux.cn/article-5341-1.html 3.  阅读全文
posted @ 2017-03-03 22:57 zengql 阅读(337) 评论(0) 推荐(0) 编辑
摘要: CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本。你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级、安装新的软件包、配置特定服务和应用程序等操作。 这篇文章主要介绍了如何在VMware安装centos7系统! 1. 下载centos 地 阅读全文
posted @ 2017-03-03 22:51 zengql 阅读(1306) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示