iptables

rabbitmq安装 linux

独自空忆成欢 提交于 2020-11-25 03:18:48
rabbitmq 和erlang对照表 https://www.rabbitmq.com/which-erlang.html#supported-version-policy erlang地址: https://www.erlang-solutions.com/resources/download.html rabbitmq地址: https://www.rabbitmq.com/download.html centos7 一. 安装 第一步:yum安装erlang 添加rabbitmq依赖的erlang yum命令repos /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/21/el/7 gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=1 yum安装: yum -y install erlang 检查安装版本: erl 返回: Erlang/OTP 21 [erts-10.0.7] [source]

浅谈高可用测试

守給你的承諾、 提交于 2020-11-22 15:29:50
前言 现今的互联网产品越来越注重可靠性,尤其是在生产环境中使用的系统,对高可用性都有一定的要求。而作为产品的提供方,在交付产品之前,也会对高可用进行验收测试。近期跟进过两个产品曾有高可用测试的需求,在此简单的总结分享下。 在介绍产品之前,先简单的介绍下高可用和高可用测试: 高可用:指的是系统如何保证比较高的服务可用率。在系统的某个部分因为各种原因而失效时,能保证系统整体的服务正常运行。 高可用测试:通过模拟系统出现异常的情况,验证系统是否能正常提供服务(或降级提供服务),并验证系统在异常恢复后,能否恢复至异常出现之前的运行状态。 产品A:云计算PAAS层组件 产品A为云计算的PAAS层组件,各服务部署在云主机以及物理机上,大致架构如下: 从产品架构来看,对A产品做高可用测试,需要分别确保LVS集群和Tengine集群的高可用。因此,需要根据LVS集群和Tengine集群的原理以及运行特性,分别制定高可用测试方案 LVS运行物理机上,OSPF协议实现多节点互备,因此设计高可用测试方案如下: 从网络方面验证高可用,配置iptables规则实现端口丢包,模拟网络不可用的情况 在进程方面验证高可用,分别使用stop、kill -9、kill -19模拟进程停止、崩溃、假死时的情况 在机器方面验证高可用,通过关机、重启模拟物理机宕机时的情况 Tengine运行在云主机上

iptables内网地外网之间访问

女生的网名这么多〃 提交于 2020-11-21 23:55:57
环境:一台带外网和内网的机器,另一台只有内网,默认不能上网。两台机器都是centos系统 带外网机器的外网ip为 123.221.20.11, 内网网关ip为 192.168.15.100 内网机器的内网ip为 192.168.15.101 设置方法很简单: 1. 在带外网的机器上设置iptables规则: iptables -t nat -A POSTROUTING -s 192.168.15.101 -j SNAT --to 123.221.20.11 // 如果想让整个内网的机器全部上网,只需要把 -s 192.168.15.101 换成 -s 192.168.15.0/255.255.255.0 即可 2. 在带带外网机器上打开转发 首先查看是否已经打开 sysctl -a |grep 'net.ipv4.ip_forward' 如果值为1,则说明已经打开,否则需要修改配置文件 /etc/sysctl.conf 打开该配置文件,找到该参数,使其变为 net.ipv4.ip_forward = 1 然后运行 sysctl -p 3. 在内网机器上,设置其网关为 192.168.15.100 vim /etc/sysconfig/network-scripts/ifcfg-eth0 添加 GATEWAY=192.168.15.100 重启网络服务即可。 service

Django +uwsgi+python3+nginx + mysql 部署

半城伤御伤魂 提交于 2020-11-21 23:51:42
环境: 服务器ip:192.168.0.110 centos服务器 6.4 + mysql 5.6 + django1.11 +nginx 1.13.7 + uwsgi 2.0.18 uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。 WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。 uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。 uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西。 uWSGI的主要特点如下 超快的性能 低内存占用 多app管理 详尽的日志功能 高度可定制(内存大小限制,服务一定次数后重启等) nginx+uwsgi 工作原理:   nginx负责建立一个本地的工作环境,就是本地服务器,类似于pycharm的

Linux bridge hairpin mode

血红的双手。 提交于 2020-11-21 00:36:17
hairpin中文翻译为发卡。bridge不允许包从收到包的端口发出,比如bridge从一个端口收到一个广播报文后,会将其广播到所有其他端口。bridge的某个端口打开hairpin mode后允许从这个端口收到的包仍然从这个端口发出。这个特性用于NAT场景下,比如docker的nat网络,一个容器访问其自身映射到主机的端口时,包到达bridge设备后走到ip协议栈,经过iptables规则的dnat转换后发现又需要从bridge的收包端口发出,需要开启端口的hairpin mode。See https://wiki.mikrotik.com/wiki/Hairpin_NAT 我们在使用Kubernetes的时候遇到了一个大流量的问题,集群计算节点偶然流量突增,机器ping不通。 网络运营的同事反馈说从交换机上发现这些服务器组播包很多 对其进行了抓包分析和系统各模块梳理排查,但是只能截取到VRRP组播报文。 分析不出来,限流组播报文! ebtables -A INPUT --pkttype-type multicast --limit 1000/s -j ACCEPT, ebtables -A INPUT --pkttype-type multicast -j DROP 发现Ebtables drop规则计数偶现增长 => 写脚本抓取计数增长时刻的报文并告警 => 禁止IPv6

Linux(Centos7)yum安装最新mysql

好久不见. 提交于 2020-11-20 08:28:28
环境 CentOS 7.1 (64-bit system) MySQL 5.6.24 CentOS 安装 参考: http://www.waylau.com/centos-7-installation-and-configuration/ 依赖 MySQL 依赖 libaio,所以先要安装 libaio yum search libaio # 检索相关信息 yum install libaio # 安装依赖包 成功安装,提示如下: [root@bogon /]# yum install libaio 已加载插件: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors .yun-idc .com * extras: mirrors .163 .com * updates: mirrors .163 .com 软件包 libaio-0 .3 .109-12 .el7 .x86_64 已安装并且是最新版本 无须任何处理 检查 MySQL 是否已安装 yum list installed | grep mysql 如果有,就先全部卸载,命令如下: yum -y remove mysql-libs .x86_64 若有多个依赖文件则依次卸载。当结果显示为 Complete!即卸载完毕。 下载 下载

腾讯云容器服务 TKE 推出新一代零损耗容器网络

只谈情不闲聊 提交于 2020-11-19 11:52:00
随着容器技术的发展成熟,越来越多的组件迁移到容器, 在技术迁移过程中,数据库,游戏,AI 这些组件对容器网络性能(时延,吞吐,稳定性)提出了更高的要求 。为了得到更优的时延和吞吐表现,各大云厂商都在致力于缩短节点内容器的网络访问链路,让数据包能尽可能快地转发到容器网卡。 腾讯云 容器服务 TKE 借助智能网卡推出下一代容器网络方案,该方案实现了一个 Pod 独占一张弹性网卡,不再经过节点网络协议栈 (default namespace),极大缩短了容器访问链路,缩短了访问时延,并使 PPS 可以达到整机上限。该方案实现了 短链接场景下 QPS 相比之前容器网络方案(策略路由方案,网桥方案)提升 50%-70%;长链接场景下 QPS 提升 40%-60%。 由于不再经过节点网络协议栈,传统基于 iptables 和 IPVS 的 ClusterIP service 访问方案不能直接适用于该方案。为了实现该方案下 Pod 可以直接访问 ClusterIP service,TKE 推出 share-NS IPVS 方案,使得在容器网络命名空间下也可以访问到节点网络协议栈的 IPVS 规则,同时配合 CLB 直通 Pod,实现了完整意义上的弹性网卡直通。 该方案实现了针对 ClusterIP service 短链接场景下 QPS 相比 iptables 方案提升 40%-60%,IPVS

linux 安装PostgreSql 12

。_饼干妹妹 提交于 2020-11-18 21:56:42
一、安装步骤 1、设置保存安装包的目录 $ cd /app/software/ 2、开始下载源包 在官网下载postgresql-12.1.tar.gz: https://www.postgresql.org/ftp/source/ 3、解压 $ tar -zxvf postgresql-12.1.tar.gz -C ../ 4、进入移动后的目录 $ cd /app/postgresql-12.1 5、检查依赖包 $ yum install -y bison $ yum install -y flex $ yum install -y readline-devel $ yum install -y zlib-devel 6、配置选项生成Makefile,默认安装到目录:/app/postgresql-12.1 $ ./configure --prefix= /app/postgresql-12.1 7、编译并安装 $ make $ make install 8、创建,添加postgres 用户到 postgres组 $ groupadd postgres $ useradd -g postgres postgres $ chown -R postgres:postgres /app $ mkdir -p /app/postgresql-12.1/data $ su postgres

shell语法

情到浓时终转凉″ 提交于 2020-11-18 20:30:57
1 .特殊变量 $ 0 脚本自身名字 $ ? 判断执行是否成功 0为成功 非0为失败 $# 位置参数总数 $ * 所以位置参数被看做一个字符串 $@ 每个位置参数被看做独立字符串 $$ 显示当前的pid $ ! 上一条执行后台进程的PID 2 .shell字符串处理${} 1.1 获取字符串长度 A = ' zhangcaiwang ' echo $A 取长度: echo ${#A} 1.2 字符串切片 A = ' zhangcaiwang ' echo ${A: 0 : 5 } # 0 : 5 取值空间 echo ${A: 6 : 2 } #取6个字符串后两个 echo ${A:(- 1 )} #截取最后一个字符串 echo ${A:(- 3 ): 2 } #截取后三个字符串的两个字符 1.3 替换字符串 格式${parameter/pattern/ string } A = ' zhang cai wang ' echo ${A/cai/ wang} 全部替换 echo ${A // cai/wang} 正则匹配字符串 var = 123abc echo ${var // [^0-9]/} echo ${var // [0-9]/} 1 .4字符串截取 #去掉左边 最短匹配模式 ##最长匹配模式 %去掉右边 最短匹配模式 %% 最长匹配模式 URL = " http://www

MHA-Atlas-MySQL高可用 上(6)

被刻印的时光 ゝ 提交于 2020-11-16 03:57:12
1.简介 1.1 软件介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到0~30秒之内字段完成数据库的故障切换,并且在进行故障切换过程中MHA能最大程度保证数据库的一致性,以达到真正意义上的高可用。 MHA由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。 MHA Manager可以独立部署在一台独立的机器上管理多个Master-Slave集群,也可以部署在一台Slave上。当Master出现故障时,它可以自动将最新数据的Slave提升为新的Master,然后将所有其他的Slave重新指向新的Master。整个故障转移过程对应程序是完全透明的。 1.2 工作流程 从宕机崩溃的master保存二进制日志事件(binlog events); 识别含有最新更新的slave; 应用差异的中继日志(relay log)到其他的slave; 应用从master保存的二进制日志事件(binlog events); 提升一个slave为新的master; 使其他的slave连接新的master进行复制; 1.复制主库binlog日志出来 2.找出relaylog日志最全的从库 3