Category - IT技术

CentOS mysql cluster MySQL    2017-07-19 22:55:29    11

简介:

MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。
MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。关于 Cluster 中这些组件的关系。

下文中没有特别指出的地方,都是两台服务器都需要执行的命令,并且由于是双管理中心配置,其实两台机器出了一些标识id和ip的配置不同外,其他参数配置都是基本一样的

下载mysql-cluster 7.3.7

http://dev.mysql.com/downloads/cluster/

环境清理及安装

1. 清理CentOS6.5自带的mysql服务

其中第一个命令我不执行也可以,其他系统如果不可以,还是建议执行

  1. yum -y remove mysql
  2. rpm -qa | grep mysql*
  3. rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64

2. 环境准备

创建文件夹(分如下3个类来创建对应的文件夹)

存储节点:

  1. mkdir /var/lib/mysql/data

管理节点:

  1. mkdir /var/lib/mysql-cluster # SQL节点:可不用 文件夹授权

进程DIR:

  1. mkdir /var/run/mysqld

使用如下的命令来变更权限保证可写入:

  1. chmod -R 1777 /var/lib/mysql
  2. chmod -R 1777 /var/run/mysqld
  3. chmod -R 1777 /var/lib/mysql-cluster

3. 安装mysql-cluster

首先解压MySQL-Cluster-gpl-7.4.2-1.el6.x86_64.rpm-bundle.tar

  1. tar xvf MyS
MySQL MariaDB    2017-07-19 22:54:04    9
SHOW variables like 'auto_inc%'

查看到:
auto_increment_increment 1
auto_increment_offset 1

修改配置:
Masrer1上:auto_increment_increment=2,auto_increment_offset=1;(1,3,5,7~~序列)
Masrer2上:auto_increment_increment=2,auto_increment_offset=0;(0,2,4,6~~序列)
 
 

 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

MongoDB java    2017-07-19 22:51:21    12
+++++++ 20160404 begin+++++++
maven环境:
<dependency>
	<groupId>org.mongodb</groupId>
	<artifactId>mongodb-driver</artifactId>
	<version>3.2.2</version>
</dependency>

+++++++ 20160404 end+++++++

1、当MongoDB没有添加使用auth认证方式的时候:
  MongoClientURI uri = new MongoClientURI("mongodb://192.168.100.140:27017/local",
                MongoClientOptions.builder().cursorFinalizerEnabled(false));
  MongoClient client = new MongoClient(uri);
  MongoDatabase db=client.getDatabase("local");
  MongoCollection<Document> collection = db.getCollection("system.users");
  List<Document> foundDocument = collection.find().into(new ArrayList<Document>());
  System.out.println(foundDocument);

2、当MongoDB启动的时候添加--auth参数启动MongoDB(即安全认证模式下)
  MongoClient client = null;
  ServerAddress serverAddress = new ServerAddress("192.168.100.140",27017);
  List<ServerAddress> seeds = new ArrayList<ServerAddress>();
  seeds.add(serverAddress);
  MongoCredential credentials = MongoCredential.createScramSha1Credential("admin", "admin", "admin".toChar
sysbench MySQL    2017-07-19 22:50:37    6
安装sysbench支持包:
rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

rpm -ivh sysbench-0.5-3.el6_.x86_64.rpm

检查文件夹是否存在:
 ll /usr/share/doc/sysbench/tests/db

正常结果:
total 44
-rw-r--r--. 1 root root 3585 Sep  7  2012 common.lua
-rw-r--r--. 1 root root  340 Sep  7  2012 delete.lua
-rw-r--r--. 1 root root  830 Sep  7  2012 insert.lua
-rw-r--r--. 1 root root 2925 Sep  7  2012 oltp.lua
-rw-r--r--. 1 root root  342 Sep  7  2012 oltp_simple.lua
-rw-r--r--. 1 root root  425 Sep  7  2012 parallel_prepare.lua
-rw-r--r--. 1 root root  343 Sep  7  2012 select.lua
-rw-r--r--. 1 root root 3964 Sep  7  2012 select_random_points.lua
-rw-r--r--. 1 root root 4066 Sep  7  2012 select_random_ranges.lua
-rw-r--r--. 1 root root  343 Sep  7  2012 update_index.lua
-rw-r--r--. 1 root root  552 Sep  7  2012 update_non_index.lua



安装成功后测试:

准备
sysbench --test=/usr/share/doc/sysbench/tests/db/insert.lua --mysql-host=192.168.100.161 --mysql-user=root --mysql-password=111111 --mysql-db=test --oltp-table-name=sbtest --my
redis 主备    2017-07-19 22:49:14    4
前提:redis中,主从切换场景中,没有绝对的主和从,只有初始化的主和从,然后当主down后,从就变成主了,而主即使连接上,也是从,不会变为主

1、redis-server的主备关系:

    需要配置的机器,以及主备关系如下

    master:10.118.36.10
    slave1:10.118.36.74
    slave2:10.118.36.161

2、修改redis-server的配置文件:

    切换到redis的根目录
    # cd /home/admin/Downloads/redis-3.0.3

    master配置不变,
    两台slave修改配置文件(# vi redis-3.0.3/redis.conf),添加如下语句,其余用默认配置:
        slaveof 10.118.36.10 6379
3、修改redis-sentinel的配置文件(# vi redis-3.0.3/sentinel.conf),但是这里我使用一个新的文件(# vi redis-3.0.3/sentinel-test.conf):
 
    切换到redis的根目录
    # cd /home/admin/Downloads/redis-3.0.3
    # vi redis-3.0.3/sentinel-test.conf
    三台机器配置相同,如下:
############################代码区域,begin############################
port 26379
#MyMaster
sentinel monitor MyMaster 10.118.36.10 6379 1
sentinel down-after-milliseconds MyMaster 5000
sentinel failover-timeout MyMaster 900000
sentinel parallel-syncs MyMaster 2
############################代码区域,end############################

4、启动redis-server服务和redis-sentinel服务
    切换到redis的根目录
    # cd /home/admin/Downloads/redis-3.0.3
5/24