Docker Compose 部署 EFK
准备环境系统版本:CentOS 7.6
服务器配置:2H 4G
软件版本(docker镜像):
elasticsearch 6.6.0kibana 6.6.0filebeat 6.6.0
安装 Docker-CE添加 stable 版本的 docker 仓库$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
安装 docker-ce安装最新版的 docker$ yum install docker-ce docker-ce-cli containerd.io
安装指定版本 docker
查询可安装的版本:
$ yum list docker-ce --showduplicates | sort -r * updates: mirrors.tuna.tsinghua.edu.cnLoading mirror speeds from cached hostfileLoaded plugins: fastestmi ...
Elasticsearch 6.6.0 X-PACK 破解
准备环境软件包版本
elasticsearch-6.6.0.rpmkibana-6.6.0-x86_64.rpmlogstash-6.6.0.rpm
在做下列操作前,建议先停止Elasticsearch、Kibana
systemctl stop elasticsearch kibana
如果是相同版本,可直接使用已破解好的相关 x-pack-6.6.0 文件:下载地址
反编译 x-pack-core-6.6.0.jar下载Luyten:https://github.com/deathmarine/Luyten/release
从ES服务器上把x-pack-core-6.6.0.jar 下载到PC,打开Luyten软件,并把x-pack-core-6.6.0.jar包拖入。
rpm包安装的elasticsearch插件路径:/usr/share/elasticsearch/modules/x-pack-core/x-pack-core-6.6.0.jar
找到 org.elasticsearch.license.LicenseVerifier、org.elastic ...
CentOS 7 配置 mailx 代理 163&QQ 邮箱
网易 163 邮箱一、安装服务软件安装 mailx、sendmail 软件
$ yum install -y mailx sendmail
二、配置修改$ vim /etc/mail.rcset from=xxx@163.com # 发送邮件后显示的邮件发送方set smtp=smtps://smtp.163.com:465 # 163 smtp邮件服务器set smtp-auth-user=youremail@163.com # 你的163邮箱set smtp-auth-password=xxxxxx # 你的163邮箱密码(设置页面加密后的授权码)set smtp-auth=login # 动作、登录set nss-config-dir=/root/.certs/ # 证书路径set ssl-verify=ignore # 忽略ssl验证
三、生成邮箱证书$ mkdir -p /root/.certs/$ echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne ' ...
MySQL 之 mysqldump 备份权限
1.创建一个用于备份数据库的用户mysql> create user 'backup'@'localhost' identified by '123';
2.添加权限2.1 添加 SELECT 权限根据报错,backup用户缺少select权限
[root@private_server ~]# mysqldump -ubackup -p123 -B wordpress > wordpress.sqlmysqldump: Got error: 1044: "Access denied for user 'backup'@'localhost' to database 'wordpress'" when selecting the database
给backup用户添加select权限
mysql> GRANT SELECT ON *.* TO 'backup'@'localhost& ...
MySQL 半同步复制
一、半同步复制1.原理在半同步复制出现之前,虽然异步复制可以满足主从实例之间的数据同步,同时row 格式的binlog也能够大幅度避免主从实例的数据不一致的情况,但是如果碰到主库崩溃,写业务故障切换到从库,将从库提升为主库时,原来的主库上可能有一部分数据还没来得及被从库接收,而事实上这部分丢失的数据可能在主库上已经正常提交完成了。为解决这个问题,在MySQL 5.5版本中引入了半同步复制,半同步复制的关键改进就是当客户端在 主库上写入一个事务时,需要等待从库接收到主库的binlog,且主库接收到ACK确认之后,客户端才能收到事务成功提交的消息,如图
这里有一个小细节需要注意:早期的半同步复制有一个缺陷,在正常的半同步复制流程中,当客户端对主库发起事务提交之后,主库发送binlog给从库,从库接收到binlog并返回ACK,然后主库返回事务提交成功的消息给发起提交的客户端。这里对于发起事务提交的客户端看起来没有任何问题,但实际上在早期的半同步复制中,主库在等待ACK 的InnoDB存储引擎内部已经提交事务,只是阻塞了返回给发起事务提交的客户端消息而已。此时如果有其他会话对该事务修改的数 ...
ZABBIX 4.4安装部署
安装zabbix
配置Zabbix的yum源仓库
安装一个Zabbix官方源仓库:
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
改用官方源为阿里云镜像源:
由于官方源是国外的镜像仓库,速度非常慢,改用阿里云的镜像仓库会非常快。只需在官方源的repo文件中修改URL即可。
sed -i 's@http://repo.zabbix.com@https://mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo
安装zabbix
安装Zabbix 服务端,web前端,客户端
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent
安装Zabbix前端软件包。
yum install -y zabbix-web-mysql zabbix-nginx-conf
安装配置数据库数据库 ...
Redis Cluster 介绍与实战
一、Redis Cluster 分布式分片集群Redis Cluster简介
Redis集群是一个可以在多个Redis节点之间进行数据共享的设施(installation)。
Redis集群不支持那些需要同时处理多个键的Redis命令,因为执行这些命令需要在多个Redis节点之间移动数据,并且在高负载的情况下,这些命令将降低Redis集群的性能,并导致不可预测的行为。
Redis集群通过分区(partition)来提供一定程度的可用性(availability):即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求。
Redis集群有将数据自动切分(split)到多个节点的能力。
Redis Cluster中槽(slot)的概念
Redis Cluster中一共有16384个槽位,他们的编号为0、1、2、3……16382、16383,这些槽是虚拟的。
这些槽位会平均分配给Redis Cluster中的每个master节点,当有某个key被映射到某个master负责的槽,那么这个master负责为这个key提供服务。
当需要在redis集群中写入一个key ...
MySQL 异步复制
一、异步复制原理
主库有一个线程:binlog dump线程。
从库有两个线程:IO线程、SQL线程。
1.异步复制原理
用户对数据的修改进行提交,然后Master(主库)把所有数据库的变更写进binlog中,主库线程binlog dump把binlog内容推送给Slave(从库)。
注意:
启动复制通道后,第一次是从库告诉主库要从哪个位置点或者gtid位执行,然后主库启动一个dump线程,向从库推数据。
从库I/O线程读取主库上的binlog信息,并把binlog写到本地中继日志 (relay log)中。
从库SQL线程读取并解析ralay log内容,按照主库中的提交顺序进行事务回放,写 入本地数据文件中,这样就实现了数据在主从实例之间的同步。
注意:
主库在写入binlog并落盘之后,通知dump线程有新的 binlog 产生,并发送到从库中。然后主库并不理会从库是否接收到binlog,而是自顾自地照常进行事务的提交,如下图。
2.异步复制过程
从库通过执行change master to 语句连接主库,提供了连接的用户一切条件(user 、pas ...
MySQL 高可用架构之 MHA
一、MHA高可用介绍1.简介 MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover 功能。MHA在监控到master节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会通过与其它从节点获取额外信息来避免一致性方面的问题。MHA还提供了master节点的在线切换功能,即按需切换master/slave节点。
MHA 是由日本人 yoshinorim(原就职于DeNA现就职于FaceBook)开发的比较成熟的 MySQL 高可用方案。MHA 能够在30秒内实现故障切换,并能在故障切换中,最大可能的保证数据一致性。目前淘宝也正在开发相似产品 TMHA, 目前已支持一主一从。
2.MHA工作原理 当Master出现故障时,通过对比slave之间I/O线程读取master binlog的位置,选取最接近的slave做为 latest slave。 其它slave通过与latest slave对比生成差异中继日志 ...
MySQL 备份与恢复
一、数据库备份的类型按照服务器的运行状态,可分为:冷备、热备、温备。
冷备:数据库处于停机状态下进行备份。
热备:数据库处于运行状态下备份,在热备期间,数据库的读写操作均可正常进行。
在mysql中,MyISAM存储引擎不支持热备,InnoDB存储引擎支持热备。
温备:数据库处于运行状态下备份,但是在温备期间数据库只能进行读操作,不能进行写操作
按照备份后的内容量,可分为:全备、增备、差异备份。
全量备份:对所有数据进行一个完全的备份。
增备备份:对上一次”备份”以后变化的数据的备份。
差异备份:对上一次”全量备份”以后变化的数据的备份。
按照备份的方式,可分为:逻辑备份、物理备份。
逻辑备份:将数据从数据库中导出,并将导出的数据进行存档备份。
物理备份:直接备份数据库所对应的数据文件。物理备份相对逻辑备份来说,性能更强。
二、数据库备份方式在数据库备份当中,一般会采用逻辑备份、物理备份这两种方式对数据库进行备份。
2.1 逻辑备份基于SQL语句进行备份。
常见得逻辑备份方式:
以binlog方式进行备份
使用mys ...