cobar续2-工具使用篇

cobar已经简单配置好,又如何来使用呢?

主要是通过9066端口和8066端品,一个是管理另一个是调用。

1Cobar通过9066端口向用户提供了一些管理和监控命令:

mysql -h172.16.88.131 -utest -ptest -P9066 -Ddbtest

# 通过show @@help可以查看9066端口支持的所有命令,以及简单解释

mysql> show @@help;

+--------------------------------------+-----------------------------------+

| STATEMENT                            | DESCRIPTION                       |

+--------------------------------------+-----------------------------------+

| clear @@slow where datanode = ?      | Clear slow sql by datanode        |

| clear @@slow where schema = ?        | Clear slow sql by schema          |

| kill @@connection id1,id2,...        | Kill the specified connections    |

| offline                              | Change Cobar status to OFF        |

| online                               | Change Cobar status to ON         |

| reload @@config                      | Reload all config from file       |

| reload @@route                       | Reload route config from file     |

| reload @@user                        | Reload user config from file      |

| rollback @@config                    | Rollback all config from memory   |

| rollback @@route                     | Rollback route config from memory |

| rollback @@user                      | Rollback user config from memory  |

| show @@backend                       | Report backend connection status  |

| show @@command                       | Report commands status            |

| show @@connection                    | Report connection status          |

| show @@connection.sql                | Report connection sql             |

| show @@database                      | Report databases                  |

| show @@datanode                      | Report dataNodes                  |

| show @@datanode where schema = ?     | Report dataNodes                  |

| show @@datasource                    | Report dataSources                |

| show @@datasource where dataNode = ? | Report dataSources                |

| show @@heartbeat                     | Report heartbeat status           |

| show @@parser                        | Report parser status              |

| show @@processor                     | Report processor status           |

| show @@router                        | Report router status              |

| show @@server                        | Report server status              |

| show @@slow where datanode = ?       | Report datanode slow sql          |

| show @@slow where schema = ?         | Report schema slow sql            |

| show @@sql where id = ?              | Report specify SQL                |

| show @@sql.detail where id = ?       | Report execute detail status      |

| show @@sql.execute                   | Report execute status             |

| show @@sql.slow                      | Report slow SQL                   |

| show @@threadpool                    | Report threadPool status          |

| show @@time.current                  | Report current timestamp          |

| show @@time.startup                  | Report startup timestamp          |

| show @@version                       | Report Cobar Server version       |

| stop @@heartbeat name:time           | Pause dataNode heartbeat          |

| switch @@datasource name:index       | Switch dataSource                 |

+--------------------------------------+-----------------------------------+

37 rows in set (0.04 sec)

数据源、数据节点查看:

mysql> show @@datanode;

+---------+-------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+

| NAME    | DATASOURCES | INDEX | TYPE  | ACTIVE | IDLE | SIZE | EXECUTE | TOTAL_TIME | MAX_TIME | MAX_SQL | RECOVERY_TIME |

+---------+-------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+

| dnTest1 | dsTest[0]   |     0 | mysql |      0 |    0 |  128 |       3 |          0 |        0 |       0 |            -1 |

| dnTest2 | dsTest[1]   |     0 | mysql |      0 |    0 |  128 |       9 |          0 |        0 |       0 |            -1 |

| dnTest3 | dsTest[2]   |     0 | mysql |      0 |    0 |  128 |       6 |          0 |        0 |       0 |            -1 |

+---------+-------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+

3 rows in set (0.07 sec)

# NAME: datanode名称。

# DATASOURCES: datanode对应的主备datasource

# INDEX: 指示datanode正在使用的数据源

 

show @@datasource [where schema = ? ] ------ 查看系统中配置的数据源

show @@database ------在8066端口的show databases语句。

sql执行状况查询

show @@sql.slow ------ 慢sql查询

show @@slow where datanode = ? /clear @@slow where datanode = ? ------利用clear清除该datanode当前的慢sql

show @@slow where schema = ? / clear @@slow where schema= ? ------ 根据schema查询慢sql,

利用clear清除该schema当前慢sql

show @@sql where id = ?

show @@sql.detail where id = ?

show @@sql.execute

内部状态查询

show @@command ------ Cobar执行语句的个数统计

show @@processor ------ Cobar处理器状态查询

show @@threadpool ------ Cobar内部线程池状态查询

show @@connection ------ cobar前端连接状态查询

show @@heartbeat ------ 心跳状态查询,心跳包括Cobar之间的心跳,Cobar到MySQL数据库的心跳

show @@server ------ 查询server信息

reload @@config ------ 配置文件热加载,用户配置文件不需要重启cobar,只需运行reload命令即可。

注意:当用户如果修改server.xml中标签下的配置时,需要重启cobar才能生效,其余配置均可热加载。

reload@@config这个命令经常在线上用到。

2通过8066端口访问cobar

mysql -h172.16.88.131 -utest -ptest -P8066 -Ddbtest

mysql> show databases;

+----------+

| DATABASE |

+----------+

| dbtest   |

+----------+

1 row in set (0.01 sec)

查看表tb1

mysql> select * from tb1;

+----+---------------------+

| id | gmt                 |

+----+---------------------+

|  1 | 2015-01-12 11:50:13 |

+----+---------------------+

1 row in set (0.17 sec)

查看表tb2

mysql> select * from tb2;

+----+-------+

| id | val   |

+----+-------+

|  1 | user1 |

|  2 | user1 |

|  6 | user2 |

+----+-------+

3 rows in set (0.10 sec)

通过8066端口访问cobar,我们看到“只有一个dbtest数据库,tb1,tb2两表都在dbtest里面”,实际后端是分库分表存储的。

3,举一线上的例子

比如,开发要求线上的数据库要新建一个表,并且要加入到正在运行的cobar

一般都是在对内的环境中测试一下,通过后才正式上线

Create table if not exists `user_home ` (

`user_home_id` tinyint(1) not null auto_increment,

......

primary key (`user_home_id`),

index type(`type`)

) engine=innodb default charset=utf8;

然后修改cobar的配置文件schema.xmlrule.xml,添加分表规则等设置

再通过9066端口进入管理端加载配置文件使之生效:

mysql -h172.16.88.131 -utest -ptest -P9066 -Ddbtest

reload@@config

并检查是否OK,一切没问题了,再改线上cobar.

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29806344/viewspace-1404712/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29806344/viewspace-1404712/

内容概要:本文介绍了一种利用遗传算法优化BP神经网络进行回归预测的方法,并提供了完整的MATLAB程序代码。主要内容包括数据预处理、遗传算法与BP神经网络的结合、适应度函数的设计以及最终的预测结果展示。文中详细解释了如何将Excel格式的数据导入MATLAB并进行归一化处理,如何定义适应度函数来优化BP神经网络的参数(如激活函数和学习率),并通过遗传算法找到最优解。实验结果显示,在某工业数据集上,经过遗传算法优化后的BP神经网络预测精度显著提高,从原来的0.82提升到了0.91。此外,还提到了一些实用技巧,比如调整遗传代数、修改激活函数等方法进一步改进模型性能。 适合人群:对机器学习有一定了解的研究人员和技术爱好者,特别是那些希望深入了解遗传算法与BP神经网络结合应用的人士。 使用场景及目标:适用于需要快速构建高效回归预测模型的场景,尤其是当传统BP神经网络无法达到预期效果时。通过本文章的学习,读者能够掌握一种有效的优化手段,从而提高模型的泛化能力和预测准确性。 其他说明:代码可以直接应用于新的数据集,只需确保数据格式符合要求(Excel格式)。对于想要深入探索或改进现有模型的人来说,还可以尝试更换不同的激活函数或其他调节方式来获得更好的表现。
粒子群优化(PSO)是一种基于群体智能的优化算法,由James Kennedy和Russell Eberhart于1995年提出,灵感来源于鸟群或鱼群的群体行为 。它通过模拟群体间的协作与竞争,利用个体和群体的经验来迭代求解问题 。PSO常用于优化支持向量机(SVM)的参数,以提升模型性能 。SVM是一种强大的监督学习模型,通过寻找最优超平面实现分类或回归 ,其性能依赖于参数C(惩罚因子)和γ(核函数参数) 。 PSO优化SVM参数的过程如下:首先随机生成一组粒子,每个粒子代表一组SVM参数(C和γ) 。接着,使用这些参数训练SVM模型,并通过测试集评估性能(如准确率或F1分数),作为粒子的适应度值 。然后,根据个体和全局最优解的位置更新粒子的速度和位置 ,速度决定移动方向和速度,位置表示参数组合 。粒子群共享全局最优解信息,推动所有粒子向最优解移动 。重复上述步骤,直至达到预设迭代次数或满足停止条件 。 在实际应用中,PSO-SVM的实现通常包括以下部分:数据预处理(导入、清洗、标准化等) ;PSO算法实现(定义粒子结构、初始化种群、设定优化目标和边界条件) ;SVM模型训练(使用不同参数组合) ;适应度计算(评估模型性能) ;更新规则(根据PSO算法更新速度和位置) ;主循环(多轮迭代,记录全局最优解) ;结果分析(展示最佳参数组合,进行最终预测) 。 PSO优化SVM参数的过程自动高效,可提高模型泛化能力和预测准确性 。对于初学者,这是一个很好的实践案例,有助于理解优化算法在机器学习中的应用 ;对于有经验的开发者,可作为进一步研究和改进的基础,例如探索PSO变体或结合其他优化方法 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值