A. mycat常用后端管理命令
mycat常用后端管理命令
首先通过show @@helap; 就可以大致的了解Mycat 管理端口的常用命令(dbserver.xml配置)!
mysql> show @@help;
+------------------------------------------+--------------------------------------------+
| STATEMENT | DESCRIPTION |
+------------------------------------------+--------------------------------------------+
| show @@time.current | Report current timestamp |
| show @@time.startup | Report startup timestamp |
| show @@version | Report Mycat Server version |
| show @@server | Report server status |
| show @@threadpool | Report threadPool status |
| show @@database | Report databases |
| show @@datanode | Report dataNodes |
| show @@datanode where schema = ? | ReportdataNodes |
| show @@datasource | Report dataSources |
| show @@datasource where dataNode = ? | Report dataSources |
| show @@datasource.synstatus |Report datasource data synchronous |
| show @@datasource.syndetail where name=? | Report datasource data synchronousdetail |
| show @@datasource.cluster | Report datasource galary cluster variables |
| show @@processor | Report processor status |
| show @@command | Report commands status |
| show @@connection | Report connection status |
| show @@cache | Report system cache usage |
| show @@backend | Report backend connection status |
| show @@session | Report front session details |
| show @@connection.sql | Report connection sql |
| show @@sql.execute | Report execute status |
| show @@sql.detail where id = ? | Reportexecute detail status |
| show @@sql | Report SQL list |
| show @@sql.high | Report Hight Frequency SQL |
| show @@sql.slow | Report slow SQL |
| show @@sql.resultset | Report BIG RESULTSET SQL |
| show @@sql.sum | Report User RW Stat |
| show @@sql.sum.user | Report User RW Stat |
| show @@sql.sum.table | Report Table RW Stat |
| show @@parser | Report parser status |
| show @@router | Report router status |
| show @@heartbeat | Report heartbeat status |
| show @@heartbeat.detail where name=? | Report heartbeat currentdetail |
| show @@slow where schema = ? |Report schema slow sql |
| show @@slow where datanode = ? | Reportdatanode slow sql |
| show @@sysparam | Report system param |
| show @@syslog limit=? | Report system mycat.log |
| show @@white | show mycat white host |
| show @@white.set=?,? | set mycat white host,[ip,user] |
| show @@directmemory=1 or 2 |show mycat direct memory usage |
| switch @@datasource name:index | SwitchdataSource |
| kill @@connection id1,id2,... | Killthe specified connections |
| stop @@heartbeat name:time |Pause dataNode heartbeat |
| reload @@config | Reload basic config from file |
| reload @@config_all | Reload all config from file |
| reload @@route | Reload route config from file |
| reload @@user | Reload user config from file |
| reload @@sqlslow= | Set Slow SQL Time(ms) |
| reload @@user_stat | Reset show @@sql @@sql.sum @@sql.slow |
| rollback @@config | Rollback all config from memory |
| rollback @@route | Rollback route config from memory |
| rollback @@user | Rollback user config from memory |
| reload @@sqlstat=open | Open real-time sql stat analyzer |
| reload @@sqlstat=close | Close real-time sql stat analyzer |
| offline | Change MyCat status to OFF |
| online | Change MyCat status to ON |
| clear @@slow where schema = ? |Clear slow sql by schema |
| clear @@slow where datanode = ? | Clearslow sql by datanode |
+------------------------------------------+--------------------------------------------+
58 rows in set (0.00 sec)
1、连接mycat 9066管理端口
命令:mysql -uusername -ppasswd -P9066 -hIP
-u:用户名
-p:密码
-P:端口
-h:ip地址例:linux路径切换到mycat安装路径的bin目录中:输入命令
显示如此则登录成功。
2、显示后端物理库连接信息,包括当前连接数,端口等信息。
命令:Show @@backend
3、显示当前前端客户端连接情况
命令:Show @@connection
4、当前线程池的执行情况,是否有积压(active_count)以及task_queue_size,后者为积压的待处理的SQL,若积压数目一直保值,
则说明后端物理连接可能不够或者SQL执行比较缓慢
命令:show @@threadpool;
5、当前后端物理库的心跳检测情况,RS_CODE为1表示心跳正常
命令:show @@heartbeat;
6、显示数据节点的访问情况,包括每个数据节点当前活动连接数(active),空闲连接数(idle)以及最大连接数(maxCon) size,EXECUTE参数表示从该节点获取连接的次数,
次数越多,说明访问该节点越多
命令:show @@datanode;
6、显示当前processors的处理情况,包括每个processor的IO吞吐量(NET_IN/NET_OUT)、IO队列的积压情况(R_QUEY/W_QUEUE),Socket Buffer Pool的使用情况
BU_PERCENT为已使用的百分比、BU_WARNS为Socket Buffer Pool不够时,临时创建的新的BUFFER的次数,若百分比经常超过90%并且BU_WARNS>0,则表明BUFFER
不够,需要增大,参见性能调优手册。
命令:show @@processor;
7、显示缓存的使用情况,对于性能监控和调优很有价值
命令:show @@cache;
MAX为缓存的最大值(记录个数),CUR为当前已经在缓存中的数量,ACESS为缓存读次数,HIT为缓存命中次数,PUT 为写缓存次数,LAST_XX为最后操作时间戳,比较重要的几个参数:CUR:若CUR接近MAX,而PUT大于MAX很多,则表明MAX需要增大,HIT/ACCESS为缓存命中率,这个值越高越好。
8、杀掉客户端的连接,参数为连接的ID值,通过show @@connection,可以展示当前连接到MyCAT的所有客户端进程,若某个进程异常,则可以通过该命令杀掉连接,如 KILL @@CONNECTION26907;
9、重新加载配置文件schema.xml
如果我们在原有的schema.xml中进行了修改,需要重新加载该文件使其生效。
命令:reload @@config;
B. MySQL Mycat 分布式架构
参考: https://www.jianshu.com/p/5e0062f6cf62
图中是两组分片,红色我们称为shard1,蓝色我们称为shard2
51 52是服务器
两个3307互为主从(双主),3309是本地3307的从库
说明:没有明确说明是只在某一个节点上做的,就是两个节点都做
两台虚拟机 db01 db02
每台创建四个mysql实例:3307 3308 3309 3310
mysql软件我们之前已完成二进制安装,直接初始化即可
我们server-id规划为:db01上是7/8/9/10,db02上是17/18/19/20
"箭头指向谁是主库"
10.0.0.51:3307 <-----> 10.0.0.52:3307
10.0.0.51:3309 ------> 10.0.0.51:3307
10.0.0.52:3309 ------> 10.0.0.52:3307
两个分片,每个分片四个mysql节点
shard1:
Master:10.0.0.51:3307
slave1:10.0.0.51:3309
Standby Master:10.0.0.52:3307
slave2:10.0.0.52:3309
shard2:
Master:10.0.0.52:3308
slave1:10.0.0.52:3310
Standby Master:10.0.0.51:3308
slave2:10.0.0.51:3310
shard1
10.0.0.51:3307 <-----> 10.0.0.52:3307
db02
db01
db02
10.0.0.51:3309 ------> 10.0.0.51:3307
db01
10.0.0.52:3309 ------> 10.0.0.52:3307
db02
shard2
10.0.0.52:3308 <-----> 10.0.0.51:3308
db01
db02
db01
10.0.0.52:3310 -----> 10.0.0.52:3308
db02
10.0.0.51:3310 -----> 10.0.0.51:3308
db01
这个复制用户在谁上建都行
注:如果中间出现错误,在每个节点进行执行以下命令
常见方案:
360 Atlas-Sharding 360
Alibaba cobar 阿里
Mycat 开源
TDDL 淘宝
Heisenberg 网络
Oceanus 58同城
Vitess 谷歌
OneProxy
DRDS 阿里云
我们装的是openjdk,不是官方的那个
Mycat-server-xxxxx.linux.tar.gz
http://dl.mycat.io/
配置环境变量
我们mycat的命令也是在bin目录下
启动
8066就是对外提供服务的端口,9066是管理端口
连接mycat:
默认123456
db01:
我们一般先把原schema.xml备份,然后自己新写一个:
xml和html看起来差不多,xml是从下往上调用的
前三行我们不用看,直接从第四行schema开始看起:
定义了schema,然后以/schema结尾
为什么要用逻辑库?
业务透明化
此配置文件就是实现读写分离的配置
重启mycat
读写分离测试
总结:
以上案例实现了1主1从的读写分离功能,写操作落到主库,读操作落到从库.如果主库宕机,从库不能在继续提供服务了。
我们推荐这种架构
一写三读,
不设置双写的原因是:性能没提升多少,反而引起主键冲突的情况
配置文件:
之后重启:mycat restart
真正的 writehost:负责写操作的writehost
standby writeHost :和readhost一样,只提供读服务
我们此处写了两个writehost,默认使用第一个
当写节点宕机后,后面跟的readhost也不提供服务,这时候standby的writehost就提供写服务,
后面跟的readhost提供读服务
测试:
读写分离测试
对db01 3307节点进行关闭和启动,测试读写操作
结果应为另一台(52)的3307(17)是写,3309(19)是读
一旦7号节点恢复,此时因为7落后了,写节点仍是17
balance属性
负载均衡类型,目前的取值有3种:
writeType属性
负载均衡类型,目前的取值有2种:
switchType属性
-1 表示不自动切换
1 默认值,自动切换
2 基于MySQL主从同步的状态决定是否切换 ,心跳语句为 show slave status
datahost其他配置
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1">
maxCon="1000":最大的并发连接数
minCon="10" :mycat在启动之后,会在后端节点上自动开启的连接线程,长连接,好处是连接速度快,弊端是占内存
tempReadHostAvailable="1"
这个一主一从时(1个writehost,1个readhost时),可以开启这个参数,如果2个writehost,2个readhost时
<heartbeat>select user()</heartbeat> 监测心跳
其他参数sqlMaxLimit自动分页,必须在启用分表的情况下才生效
创建测试库和表:
我们重启mycat后连接到8066
发现跟一个库一样,实际上已经分到不同的物理硬件上了
分片:对一个"bigtable",比如说t3表
热点数据表 核心表
(1)行数非常多,800w下坡
(2)访问非常频繁
分片的目的:
(1)将大数据量进行分布存储
(2)提供均衡的访问路由
分片策略:
范围 range 800w 1-400w 400w01-800w 不适用于业务访问不均匀的情况
取模 mod (取余数) 和节点的数量进行取模
枚举 按枚举的种类分,如移动项目按省份分
哈希 hash
时间 流水
优化关联查询(否则join的表在不同分片上,效率会比单库还要低)
全局表
ER分片
案例:移动统一:先拆出边缘业务,再按地域分片,但对应用来说是统一的
vim rule.xml
<tableRule name="auto-sharding-long">
<rule>
<columns>id</columns>
<algorithm>rang-long</algorithm>
</rule>
<function name="rang-long"
class="io.mycat.route.function.AutoPartitionByLong">
<property name="mapFile">autopartition-long.txt</property>
</function>
===================================
vim autopartition-long.txt
0-10=0
11-20=1
创建测试表:
mysql -S /data/3307/mysql.sock -e "use taobao;create table t3 (id int not null primary key auto_increment,name varchar(20) not null);"
mysql -S /data/3308/mysql.sock -e "use taobao;create table t3 (id int not null primary key auto_increment,name varchar(20) not null);"
测试:
重启mycat
mycat restart
mysql -uroot -p123456 -h 127.0.0.1 -P 8066
insert into t3(id,name) values(1,'a');
insert into t3(id,name) values(2,'b');
insert into t3(id,name) values(3,'c');
insert into t3(id,name) values(4,'d');
insert into t3(id,name) values(11,'aa');
insert into t3(id,name) values(12,'bb');
insert into t3(id,name) values(13,'cc');
insert into t3(id,name) values(14,'dd');
取余分片方式:分片键(一个列)与节点数量进行取余,得到余数,将数据写入对应节点
vim schema.xml
<table name="t4" dataNode="sh1,sh2" rule="mod-long" />
vim rule.xml
<property name="count">2</property>
准备测试环境
创建测试表:
mysql -S /data/3307/mysql.sock -e "use taobao;create table t4 (id int not null primary key auto_increment,name varchar(20) not null);"
mysql -S /data/3308/mysql.sock -e "use taobao;create table t4 (id int not null primary key auto_increment,name varchar(20) not null);"
重启mycat
mycat restart
测试:
mysql -uroot -p123456 -h10.0.0.52 -P8066
use TESTDB
insert into t4(id,name) values(1,'a');
insert into t4(id,name) values(2,'b');
insert into t4(id,name) values(3,'c');
insert into t4(id,name) values(4,'d');
分别登录后端节点查询数据
mysql -S /data/3307/mysql.sock
use taobao
select * from t4;
mysql -S /data/3308/mysql.sock
use taobao
select * from t4;
t5 表
id name telnum
1 bj 1212
2 sh 22222
3 bj 3333
4 sh 44444
5 bj 5555
sharding-by-intfile
vim schema.xml
<table name="t5" dataNode="sh1,sh2" rule="sharding-by-intfile" />
vim rule.xml
<tableRule name="sharding-by-intfile">
<rule> <columns>name</columns>
<algorithm>hash-int</algorithm>
</rule>
</tableRule>
<function name="hash-int" class="org.opencloudb.route.function.PartitionByFileMap">
<property name="mapFile">partition-hash-int.txt</property>
<property name="type">1</property>
<property name="defaultNode">0</property>
</function>
partition-hash-int.txt 配置:
bj=0
sh=1
DEFAULT_NODE=1
columns 标识将要分片的表字段,algorithm 分片函数, 其中分片函数配置中,mapFile标识配置文件名称
准备测试环境
mysql -S /data/3307/mysql.sock -e "use taobao;create table t5 (id int not null primary key auto_increment,name varchar(20) not null);"
mysql -S /data/3308/mysql.sock -e "use taobao;create table t5 (id int not null primary key auto_increment,name varchar(20) not null);"
重启mycat
mycat restart
mysql -uroot -p123456 -h10.0.0.51 -P8066
use TESTDB
insert into t5(id,name) values(1,'bj');
insert into t5(id,name) values(2,'sh');
insert into t5(id,name) values(3,'bj');
insert into t5(id,name) values(4,'sh');
insert into t5(id,name) values(5,'tj');
a b c d
join
t
select t1.name ,t.x from t1
join t
select t2.name ,t.x from t2
join t
select t3.name ,t.x from t3
join t
使用场景:
如果你的业务中有些数据类似于数据字典,比如配置文件的配置,
常用业务的配置或者数据量不大很少变动的表,这些表往往不是特别大,
而且大部分的业务场景都会用到,那么这种表适合于Mycat全局表,无须对数据进行切分,
要在所有的分片上保存一份数据即可,Mycat 在Join操作中,业务表与全局表进行Join聚合会优先选择相同分片内的全局表join,
避免跨库Join,在进行数据插入操作时,mycat将把数据分发到全局表对应的所有分片执行,在进行数据读取时候将会随机获取一个节点读取数据。
vim schema.xml
<table name="t_area" primaryKey="id" type="global" dataNode="sh1,sh2" />
后端数据准备
mysql -S /data/3307/mysql.sock
use taobao
create table t_area (id int not null primary key auto_increment,name varchar(20) not null);
mysql -S /data/3308/mysql.sock
use taobao
create table t_area (id int not null primary key auto_increment,name varchar(20) not null);
重启mycat
mycat restart
测试:
mysql -uroot -p123456 -h10.0.0.52 -P8066
use TESTDB
insert into t_area(id,name) values(1,'a');
insert into t_area(id,name) values(2,'b');
insert into t_area(id,name) values(3,'c');
insert into t_area(id,name) values(4,'d');
A
join
B
为了防止跨分片join,可以使用E-R模式
A join B
on a.xx=b.yy
join C
on A.id=C.id
<table name="A" dataNode="sh1,sh2" rule="mod-long">
<childTable name="B" joinKey="yy" parentKey="xx" />
</table>
C. linux下的mycat wrapper文件如何归档
基本命令
文件归档tar
将文件归档可以把整个目录树保存在同一个文件中
tar命令用于创建、列出、抽取归档文件。
归档文件通常也会一并压缩
用法:
tar [option ] file
-c 创建归档文件
-x 释放文档
-v 显示详细信息
-f 文件名(可带路径)
-z 使用gzip压缩
-j 使用bzip2压缩
若是初学Linux的话建议看看《Linux就该这么学》这本书。
D. linux中MyCat与amoaba有什么不同
step1:安装虚拟机
step2:修改宿主机BIOS配置,详细步骤见文章:http://blog.csdn.net/lanonola/article/details/51337234
step3:在虚拟机上安装ubuntu系统。内存设置为4G,硬盘设置为100G,其余均按默认,一直点选下一步。直到系统安装成功。
E. linux常用端口号(1)
1.FTP:文件传输协议
协议名:FTP
软件名:vsftpd
FTP端口:控制端口 21/TCP 数据端口:20/TCP
FTP默认端口号为21/tcp
TFTP 默认端口号为69/UDP
2.SSH (安全登录),SCP(文件传输),端口号重定向,默认的端口号为22/TCP
SSH是少数被许可穿越防火墙的协议之一。通常的做法是不限制出站的SSH连接,而入站的SSH连接通常会限制到一台或者少数几台服务器上。
3.Telnet使用23端口:Telnet是一种远程登录的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。
4.NFS(网络文件系统):让网络上的不同Linux/UNIX系统及其实现文件共享
NFS本身只是一种文件系统,没有提供文件传输的功能,但却能让我们文件共享,原因在于NFS使用RPC服务,用到NFS的地方需要启动RPC服务,无论是NFS客户端还是服务端。
NFS和RPC的关系:NFS是一个文件系统,负责管理分享的目录,RPC负责文件的传递。
NFS启动时至少有RPC.NFSD和RPC.mountd,2个daemon
rpc.nfsd主要管理客户机登录NFS服务器时,判断客户机是否能登录,和客户机ID信息。
rpc.mountd主要管理nfs的文件系统,当客户机顺利登录NFS服务器时,会去读/etc/exports文件中的配置,然后去对比客户机的权限。
协议使用端口:
RPC: 111 TCP/UDP
NFSD: 2049 TCP/UDP
mountd: RPC服务在NFS服务启动时默认会为mountd动态选取一个随机端口(32768--65535)来进行通讯,可以在/etc/nfsmount.conf文件中指定mount的端口。
5.NTP (网络时间协议)
他的目的是国际互联网上传递统一,标准的时间。
NTP同时同步指的是通过网络的NTP协议和时间源进行时间校准,前提条件,事件源输出必须通过网络接口,数据输出格式必须符合NTP协议。
区域网内所有的PC,服务器和其他设备通过网络与时间服务器保持同步,NTP协议自动判断网络延时,并给得到的数据进行时间补偿,从而使区域网内设备时间保持统一标准。
端口: 123/UDP
6.DNS 域名系统
该系统用于命名组织到域层次结构中的计算机和网络服务。
在Internel上域名和IP地址是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,他们之间的转换工作称为域名解析,域名解析需要专门的域名解析服务器来完成。
DNS运行在UDP协议之上,使用端口号53.
在传输层TCP提供端到端可靠的服务,在UDP端提供尽力而为的服务,其控制端口作用于UDP端口53.
UDP53: 解析客户端的域名用UDP(速度快)
TCP53 主从用(安全性较高)
7.php-FPM是一个PHPFastCGI
默认端口:9000/TCP
8.SMTP: 是一种提供可靠且有效电子邮件传输协议。SMTP是建模在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信相关的通知
SMTP: 端口号:25 /TCP 发邮件
POP3: 端口号:TCP/25 收邮件
IMAP4 端口号: TCP/143 用来提供发邮件支持附件用的。
9.Samba:
137(UDP) , 138(UDP)
139(TCP) , 445(TCP) 提供文件共享功能
137udp,138udp提供ip地址到主机名解析的功能
901(TCP)
10.Mycat
代替昂贵的Oracle的MySQL集群中间件
默认端口8066连接Mycat
9066管理端口
F. linux操作系统中 cat /proc/devices /*cat,这个里面的星号是什么意思,加和不加有什么区别
cat /proc/devices可以查到该目录下所有挂在的软硬件设备吧
/*cat 这个是不是你打错什么命令了,我还没见过这个命令呢
*是所有操作系统中的通配符,就是可以匹配所有的内容。比如有下面四个词:
中国人
中国
中华人民共和国
中国政府
这四个词可以使用 中* 就可以全部匹配到!
G. linux下的 数据库 有哪些
你要的全在下面:数据库已经有4代了产品很多。
DBA课程更新内容大纲:
序章 DBA职业体系与数据库产品趋势
What is DBA?
DBA成长体系与职业方向(0-30W-50W-100W-???)
数据库发展历史,产品迭代趋势与职业学习方向
第一部分 OLTP数据库-MySQL(约1天)
MySQL基础入门
MySQL数据库简介
什么是数据库?什么是OLTP?
为什么学习MySQL?MySQL产品迭代
一二线大厂MySQL主流版本功能使用与特性介绍(5.1,5.6,5.7,8.0)**独家**
MySQL部署与管理体系
5.7,8.0版本企业规范部署,启动
MySQL管理体系讲解
MySQL产品架构分析与基础管理
MySQL基础架构解析(一条SQL是如何执行的)
MySQL启动过程
MySQL连接的生命与使命
MySQL表结构实现原理
MySQL开发应用(约1.5天)
MySQL SQL基础应用
声明式式语言与SQL语言
SQL语言应用场景与sqlmode
MySQL开发工具选择与使用
MySQL字符串类型与字符集
MySQL语句类型介绍(DDL,DCL,DML,DQL)
SQL之查询基础
SQL之聚合与排序
SQL之数据更新
SQL之复杂查询
SQL之集合运算
MySQL SQL高级处理与开发
函数开发与应用
存储过程,触发器,事件
表分区管理及企业级应用场景
Online DDL解析与开源生态OPS
窗口函数讲解及应用场景
MySQL JSON开发及应用
一二线大厂MySQL企业级开发规范详解**独家**
MySQL核心技术
MySQL InnoDB索引实现原理及执行计划分析(约0.5天)
索引介绍
1. 索引的由来
2. 表和索引结构
3. 表聚簇与索引行
4. 表行与索引组织表
MySQL索引介绍
InnoDB索引B+ tree的索引设计
聚簇索引与二级索引
InnDB索引插入过程
数据类型对索引应用的使用影响
执行计划介绍及结果剖析
索引优化基础实战演练
企业级索引优化实战案例(亿万级QPS的索引优化与索引上线)**独家**
MySQL InnoDB存储引擎技术内幕与深入讲解(约1天)
Mysql存储引擎介绍与功能特性
InnoDB引擎源代码目录结构与存储引擎文件组织
InnoDB存储引擎核心架构介绍及解析
InnoDB数据存储结构
InnoDB事务详解及ACID特性解析
InnoDB 日志管理机制Undo与Redo
InnoDB事务与隔离级别
InnoDB MVCC及锁机制
MySQL日志管理与实战(0.5)
General log详解
Error log详解
企业级Binary log with Data pipeline **独家**
企业级Slowlog场景应用**独家**
MySQL备份恢复与迁移(0.5)
备份工具介绍与使用场景解析
一二线大厂过万数据节点备份策略**独家**
一二线大厂Mysqlmp核心原理与企业级实战演练**独家**
一二线大厂Xtrabackup核心原理与企业级实战演练**独家**
Enterprise Backup企业级生态工具介绍与应用
MySQL主从复制深入(约1天)
主从复制简介与简单搭建
主从复制工作原理解析
主从数据一致性方案讲解(半同步,全同步)
MySQL主从复制实战
1. 延时复制
2. 过滤复制
3. 多源复制
MySQL GTID复制
企业级主从复制故障分析与处理方案
亿级QPS MySQL节点故障转移实战案例**独家**
MySQL高可用架构(1天)
一二线大厂过万集群规模高可用架构MHA+BLB企业级实战**独家**
Mycat,DBLE企业级实战
MySQL企业级优化与实战(约1天)
打造高性能MySQL
企业级MySQL参数优化实战**独家**
企业级T0级别故障案例解析**独家**
阿里云数据库产品(RDS与PolarDB)(选修二选一) (1天)
企业级RDS介绍,使用与故障案例(网络云RDS 运维DBA分享或交流)**独家**
企业级PolarDB业务场景解析(阿里团队PolarDB P7交付架构师分享或交流)**独家**
第二部分 NoSQL
Redis核心技术(2天)
Redis产品介绍与应用场景简析
Redis安装,部署,使用
Redis数据类型详解与应用
Redis集群架构讲解与实战(哨兵,cluster)
千亿级Redis集群参数优化实战**独家**
千亿级企业级Redis核心案例讲解与业务场景解析**独家**
MongoDB核心技术(2天)
MongoDB产品介绍与应用场景简析
MongoDB安装,部署及架构解析
MongoDB数据类型与运维管理
MongoDB集群架构讲解与实战
企业级MongoDB参数优化实战**独家**
BAT千万元级别故障案例分享**独家**
ES核心技术(2天)
ES产品介绍与应用场景简析
ES安装,部署及架构解析
ES日常运维管理
第三部分 NewSQL(4天)
NewSQL-TiDB(仅学此一个+MySQL至少20K起步) TUG核心成员-PingCAP官方认证讲师 **独家**
TiDB产品介绍与分布式数据库技术应用讲解
TiDB集群部署与日常管理
TiDB集群监控详解与指标应用
TiDB核心架构深入讲解与Raft协议深入浅出**独家*
企业级TiDB-DM理解与应用**独家*
1. 58同城亿级流量Mysql热迁移TiDB**独家**
2. DM集群多源同步复制场景最佳实践(官方认证,业界唯二)**独家**
TiDB企业级业务开发最佳实践**独家**
TiFllash核心架构讲解与实战**独家**
TiDB打造HTAP实时数仓平台架构设计**独家**
Cloud TiDB(K8S上云实战)**独家**
TiDB4.0热升级5.0集群(简介:我司与Pingcap官方{开发30人,交付专家7人,项目经理4人}封闭测试与在线升级全案例解析6.23日项目完结,官方认证业界目前第一的业务场景与投入)
NewSQL-TDengine(1天 选修)
TDengine产品介绍
TDengine单机版与集群部署与管理
TDengine架构体系详解
TDengine企业级参数优化与实战
TDengine业务开发规范与业务场景实战
第四部分 企业级大规模数据库集群运维开发实战(35W+年薪提升)**独家**
数据运维产品架构设计思路(0.5天)
什么是数据运维平台
企业级数据运维平台架构解析
数据运维平台企业级原型设计实战(0.5天)
数据库运维自动化工具开发(Shell,Python)(2天5选2,下期轮换)
MySQL亿万级流量运维平台开发
Redis亿万级流量运维平台开发
ES亿万级流量运维平台开发
MongoDB亿万级流量运维平台开发
TiDB亿万级流量运维平台开发
H. Mycat集群部署(高可用)
MyCat 官方推荐使用 HAProxy 做 MyCat 的高可用负载均衡代理。
HAProxy 是一款提供高可用性、负载均衡以及基于 TCP(第四层)和 HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。
MyCat 服务主机上需要开放检测端口用来检测 mycat 服务的状态,提供给 HAProxy 对 MyCat 的服务状态进行检测判断。
检测 mycat 服务状态以通过xinetd 来实现, 使得HAProxy 可以用 httpchk 来检测 MyCat 的存活状态。
1、安装xinetd:
2、修改配置
检查是否有includedir /etc/xinetd.d,如果没有该配置需要加上:
3、检查 /etc/xinetd.d 目录
检查是否有 /etc/xinetd.d 目录,如果没有该目录需要加上:
4、配置存活状态检测
增加 MyCat 存活状态检测服务配置:
5、配置服务脚本
添加服务脚本/usr/local/bin/mycat_status:
6、添加可执行权限
7、配置启动服务
在 /etc/services 中加入 mycat_status 服务:
保存后重启:
9、开放端口
MyCat 服务主机的防火墙上打开 48700 端口:
设置开机启动:
[:[port]] 指定将客户端连接请求发往此服务器时的目标端口,此为可选项
[param*] 为此 server 设定的一系列参数,均为可选项,参数比较多,下面仅说明几个常用的参数:
weight: 权重,默认为 1,最大值为 256, 0 表示不参与负载均衡
backup: 设定为备用服务器,仅在负载均衡场景中的其他 server 均不可以启用此 server;
check: 启动对此 server 执行监控状态检查,其可以借助于额外的其他参数完成更精细的设定;
inter: 设定监控状态检查的时间间隔,单位为毫秒,默认为 2000,
也可以使用 fastinter 和 downinter 来根据服务器端专题优化此事件延迟
rise: 设置 server 从离线状态转换至正常状态需要检查的次数(不设置的情况下,默认值为 2);
fall: 设置 server 从正常状态转换至离线状态需要检查的次数(不设置的情况下,默认值为 3);
cookie: 为指定 server 设定 cookie 值,此处指定的值将会在请求入站时被检查,第一次为此值挑选的 server 将会被后续的请求所选中,其目的在于实现持久连接的功能;
maxconn: 指定此服务器接受的最大并发连接数,如果发往此服务器的连接数目高于此处指定的值,其将被放置于请求队列,以等待其他连接被释放。
默认情况下 haproxy 是没有日志的,如果有需要则配置系统的 syslog, 也就是 linux 系统中的 rsyslog 服务。
修改配置
增加haproxy日志配置文件
修改配置:
配置生效:
I. linux怎么看mycat启动
Mycat和MySQL的区别: 可以把上层看作是对下层的抽象,例如操作系统是对各类计算机硬件的抽象。那么我们什么时候需要抽象?假如只有一种硬件的时候,我们需要开发一个操作系统吗? 再比如一个项目只需要一个人完成的时候不需要leader,但是当需
J. Linux运维人员必知必会工具汇总
领域 :工具名称
操作系统 :CentOS、Ubuntu、Redhat、suse、Freebsd
网站服务: nginx、apache、lighttpd、php、tomcat、resin
数据库: MySQL、MariaDB、PostgreSQL
DB中间件 :maxscale、MyCat、atlas、cobar、amoeba、MySQL-proxy
代理相关: lvs、keepalived、haproxy、nginx、heartbeat
网站缓存: squid、nginx、varnish
NoSQL库: Redis、CacheCloud、Memcached、MongoDB、HBase、Cassandra、CouchDB
存储相关 :Nfs、FastDFS、Moosefs(mfs)、Ceph 、Hadoop、glusterfs、lustre
版本管理 :svn、git、gitlab、gogs
监控报警 :nagios、cacti、zabbix、munin、hyperic、mrtg、graphite
域名解析: bind、powerdns、dnsmasq
同步软件: scp、rsync、inotify、sersync、drbd
批量管理: SSH、Ansible、Saltstack、expect、puppet
虚拟化: kvm、xen
云计算: openstack、docker、k8s
内网软件: iptables、zebra、iftraf、ntop、tc、iftop
邮件软件: qmail、posfix、sendmail、zimbra
远程拨号: openvpn、pptp、openswan、ipip
统一认证: openldap
队列工具: ActiveMQ、RabbitMQ、Metaq、MemcacheQ、Zeromq、kafka
打包发布: mvn、ants、Jenkins、Walle
测试软件: ab、JMeter、Webbench、LoadRunner、http_load、tcp
带宽测试 :smokeping
性能测试 ;dd、 fio(IOPS测试)、iozone(磁盘测试)
日志相关: rsyslog、Awstats、flume、storm、ELK(Elasticsearch+Logstash+Kibana)
搜索软件: Sphinx、Xapian、Solr
无人值守: rpm、yum(设计rpm包定制及yum仓库构建)
大数据: HDFS、Hive、Hbase、Zookeeper、Pig、Spark、Mahout、flume、sqoop
项目管理: Jira、Redmine
linux管理: 宝塔Linux面板
渗透测试工具: SQLMap、Webscan
开源邮箱: iRedmail、extmail、Zimbra
软件开发 :Sublime Text、Eclipse、Jetbrains
远程连接: putty、Xshell、SecureCRT、MobaXterm、TeamViewer、向日葵
在此为服务器运维人员推荐使用:宝塔面板 www.bt.cn
宝塔面板,近200个免费应用提供使用,如:网站管理、系统安全、系统监控、计划任务、文件管理、软件管理、一键部署等为服务器运维人员提供安全高效的完成服务器运维工作。