CentOS7 citus9.5 集群安装及管理
1 所有节点配置
#------服务安装 服务
yum update -y
#------扩展依赖安装
yum install -y epel-release && yum update -y
#------Add Citus repository for package manager
curl https://install.citusdata.com/community/rpm.sh | sudo bash
# install PostgreSQL with Citus extension
sudo yum install -y citus_95
sudo yum install -y postgis2_95.x86_64
# initialize system database (using RHEL 6 vs 7 method as necessary)
sudo service postgresql-9.5 initdb || sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb
# preload citus extension
echo "shared_preload_libraries = 'citus'" | sudo tee -a /var/lib/pgsql/9.5/data/postgresql.conf
#------配置
sudo echo "listen_addresses = '*'" | sudo tee -a /var/lib/pgsql/9.5/data/postgresql.conf
sudo echo "host all all 0.0.0.0/0 trust" | sudo tee -a /var/lib/pgsql/9.5/data/pg_hba.conf
#-------------------------启动服务及开机自启--------------
# start the db server
sudo service postgresql-9.5 restart
# and make it start automatically when computer does
sudo chkconfig postgresql-9.5 on
#------------------------扩展---------------
sudo -i -u postgres psql -c "CREATE EXTENSION citus;"
sudo -i -u postgres psql -c "CREATE EXTENSION postgis;"
2 主节点配置
#-----配置work节点
sudo echo "worker-101 5432" | sudo -u postgres tee -a /var/lib/pgsql/9.5/data/pg_worker_list.conf
#-----重新加载配置
sudo service postgresql-9.5 reload
#-----查看work节点
sudo -i -u postgres psql -c "SELECT * FROM master_get_active_worker_nodes();"
3 表测试
#-----创建表
CREATE TABLE github_events
(
event_id bigint,
event_type text,
event_public boolean,
repo_id bigint,
payload jsonb,
repo jsonb,
actor jsonb,
org jsonb,
created_at timestamp
);
#-----表分片
SELECT master_create_distributed_table('github_events', 'repo_id', 'hash');
#-----设定分片个数(16)及每个分片副本数(3)
SELECT master_create_worker_shards('github_events', 16, 3);
#----插入数据
INSERT INTO github_events VALUES (2489373118,'PublicEvent','t',24509048,'{}','{"id": 24509048, "url": "https://api.github.com/repos/SabinaS/csee6868", "name": "SabinaS/csee6868"}','{"id": 2955009, "url": "https://api.github.com/users/SabinaS", "login": "SabinaS", "avatar_url": "https://avatars.githubusercontent.com/u/2955009?", "gravatar_id": ""}',NULL,'2015-01-01 00:09:13');
#---删除或修改
SELECT master_modify_multiple_shards(
'DELETE FROM github_events);
4 集群管理
#-----查看work节点
SELECT * from master_get_active_worker_nodes();
#-----元数据查看
SELECT * from master_get_table_metadata('github_events');
#-----分区查看
SELECT * from pg_dist_partition;
#-----分片查看
SELECT * from pg_dist_shard;
#-----分片分布查看
SELECT * from pg_dist_shard_placement;
#-----移动分片
SELECT master_copy_shard_placement(shardid, 'good_host', 5432, 'bad_host', 5432);
5 加节点及移动分片 v1->v4
5.1 加节点
a 修改pg_worker_list.conf
b 重新载入配置 select pg_reload_conf(); 或 sudo service postgresql-9.5 reload
c 查看work节点 SELECT * from master_get_active_worker_nodes();
5.2 移动分片
a 查看分片元数据
SELECT * from master_get_table_metadata('github_events');
SELECT * from pg_dist_shard;
SELECT * from pg_dist_shard_placement;
shardid | shardstate | shardlength | nodename | nodeport
---------+------------+-------------+----------+----------
102013 | 1 | 0 | v1 | 5432
shardstate 1(正常) , 3(待修复) , 4(将删除)
b 元数据中加入新分片
INSERT INTO pg_dist_shard_placement(shardid , shardstate , shardlength , nodename , nodeport) VALUES (102021,3,0,v4,5432)
c 移动数据到新分片
SELECT master_copy_shard_placement(102021, 'v1', 5432, 'v4', 5432);
d 标记删除分片,改数据分片此时已经脱离集群,待删除
UPDATE pg_dist_shard_placement SET shardstate = 4 WHERE shardid = 102021 AND nodename = 'v1' AND nodeport = 5432
e 删除原分片数据及元数据
DROP TABLE github_events_shard_id (在对应节点上进行操作)
DELETE FROM pg_dist_shard_placement shardstate = 4
6 主节点的HA
配置参看http://www.cnblogs.com/zhangeamon/p/5465501.html
问题: 应用程序连接从库对数据分片移动后不生效
总结,程序只能连接主数据库,可做读写分离
CentOS7 citus9.5 集群安装及管理的更多相关文章
- Centos7中ELK集群安装流程
Centos7中ELK集群安装流程 说明:三个版本必须相同,这里安装5.1版. 一.安装Elasticsearch5.1 hostnamectl set-hostname elk vim /e ...
- Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装
Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...
- centos7下zookeeper集群安装部署
应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...
- Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...
- Springboot 1.5.x 集成基于Centos7的RabbitMQ集群安装及配置
RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). RabbitMQ是一套开源(MPL)的消息队列服务软件,是由LShift提供的一 ...
- centos7下kafka集群安装部署
应用摘要: Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,是消息中间件的一种,用于构建实时 ...
- Centos7 zookeeper单机/集群安装详解和开机自启
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...
- Centos7 Zabbix3.2集群安装
安装环境:服务器10.80.0.191作为zabbix-server,10.80.0.191-195作为zabbix-agent. [zabbix@miyan ~]$ cat /etc/redhat- ...
- centos7 redis伪集群安装
安装gcc: yum install gcc -y 上传redis软件包到 /home下 解压: tar xf redis-3.2.11.tar.gz 进入 redis 目录 : cd r ...
随机推荐
- Redis系统学习 四、超越数据结构
5种数据结构组成了Redis的基础,其他没有关联特定数据结构的命令也有很多.我们已经看过一些这样的命令:info,select,flushdb,multi,exec,discard,watch,和ke ...
- Java快速开发工具 WebBuilder 6.8发布
WebBuilder是一款开源的可视化Java Web应用开发和运行平台: 基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发: 高效.稳定和可扩展的特点,适合 ...
- IOS中KVO模式的解析与应用
IOS中KVO模式的解析与应用 最近老翁在项目中多处用到了KVO,深感这种模式的好处.现总结如下: 一.概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修 ...
- C# 网络编程之最简单浏览器实现
最近学习C#网络编程的HTTP协议编程,HTTP即Hypertext Transfer Protocol的缩写,意为:超文本传输协议. 其中与HTTP相关的知识主要有六个类的知识,分别是 (1).Ht ...
- 筛选实现C++实现筛选法
每日一贴,今天的内容关键字为筛选实现 筛选法 分析: 筛选法又称筛法,是求不超越自然数N(N>1)的全部质数的一种方法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-19 ...
- 人生在于折腾:php实现下载导出xx.tar.gz
刚接到这样的需求,其实我是拒绝的.我甚至很有耐心地和pm商量,扔个csv不就好了么? pm:对方需要一个csv打包成.tar.gz的包,他们是linux server,这是硬性要求. 然后我开始折腾之 ...
- Tungsten Replicator学习总结
之前基于Tungsten Replicator实现了内部使用的分布式数据库的数据迁移工具,此文为当时调研Tungsten Replicator时的学习心得,创建于2015.7.22. 1 概述 1.1 ...
- [Node.js]REPL(交互式解释器)
摘要 REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的 ...
- MySQL基础知识2
- 基于PaaS和SaaS研发的商业云平台实战 转 (今后所有的IT行业会持续集成,往虚拟化方向更快更深的发展,商业化才是这些技术的最终目的)
背景介绍 SaaS.PaaS.IaaS等云服务模式已经被大家普遍认可,在研发过程中借力一些PaaS和SaaS平台,能够提升产品的研发速度和功能稳定程度.本文将通过真实的商业平台案例-MaxWon研发实 ...