citus实战系列之二实验环境搭建
citus实战系列之二实验环境搭建
在进入后面的话题前,我们需要先搭建一个简单的实验环境,包含1个CN和2个Worker。
以下步骤基于docker,仅用于实验目的,忽视了安全,性能调优等相关的配置。
前言
在进入后面的话题前,我们需要先搭建一个简单的实验环境。
搭建citus集群需要多台机器,如果仅用于功能验证而手上又没有合适机器,使用Docker搭建是个不错的选择。
以下步骤基于docker创建一个包含1个CN和2个Worker的citus环境,仅用于实验目的,忽视了安全,性能调优等相关的配置。
环境
host环境
- CentOS 7.3
- Docker 17.12.1-ce
guest环境
- CentOS 7.4
- PostgreSQL 10
- citus 7.4
制作citus镜像
启动centos容器
docker run -it --name citus centos bash
在容器中安装citus所需软件
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm yum install postgresql10 postgresql10-server postgresql10-contrib yum install pgbouncer yum install citus_10 ln -sf /usr/pgsql-10 /usr/pgsql cat - >~postgres/.pgsql_profile <<EOF if [ -f /etc/bashrc ]; then . /etc/bashrc fi export PATH=/usr/pgsql/bin:$PATH export PGDATA=/pgsql/data EOF
创建citus镜像
docker commit citus citus:7.4v1
创建citus容器
为每一个节点创建一个volume
docker volume create cituscn docker volume create cituswk1 docker volume create cituswk2
创建专有子网
docker network create --subnet=172.18.0.0/16 citus-net
创建并运行容器
docker run --mount source=cituscn,target=/pgsql --network citus-net --ip 172.18.0.100 --name cituscn --hostname cituscn --expose 5432 -it citus:7.4v1 bash docker run --mount source=cituswk1,target=/pgsql --network citus-net --ip 172.18.0.201 --name cituswk1 --hostname cituswk1 --expose 5432 -it citus:7.4v1 bash docker run --mount source=cituswk2,target=/pgsql --network citus-net --ip 172.18.0.202 --name cituswk2 --hostname cituswk2 --expose 5432 -it citus:7.4v1 bash
在每个容器上,分别执行下面的命令创建数据库
mkdir /pgsql/data chown postgres:postgres /pgsql/data chmod 0700 /pgsql/data su - postgres initdb -k -E UTF8 -D /pgsql/data echo "listen_addresses = '*'" >> /pgsql/data/postgresql.conf echo "wal_level = logical" >> /pgsql/data/postgresql.conf echo "shared_preload_libraries = 'citus'" >> /pgsql/data/postgresql.conf echo "citus.replication_model = 'streaming'" >> /pgsql/data/postgresql.conf echo "host all all 172.18.0.0/16 trust">> /pgsql/data/pg_hba.conf pg_ctl start psql -c "CREATE EXTENSION citus;"
在cituscn容器上,执行下面的命令添加worker。
psql -c "SELECT * from master_add_node('cituswk1', 5432);" psql -c "SELECT * from master_add_node('cituswk2', 5432);"
容器detach/attach
如果要退出容器的终端(detach),可以按CTL+pq
之后需要再次交互执行命令时再attach这个容器
docker attach cituscn
容器启停
以cituscn容器为例,worker容器类似。
停止cituscn容器
docker stop cituscn
启动cituscn容器
docker start -ai cituscn
然后在容器中启动PostgreSQL
su - postgres pg_ctl start
测试
在cituscn容器上,测试分片表
create table tb1(id int primary key, c1 int); select create_distributed_table('tb1','id'); insert into tb1 select id,random()*1000 from generate_series(1,100)id;
执行测试SQL
postgres=# explain select * from tb1; QUERY PLAN ------------------------------------------------------------------------------ Custom Scan (Citus Real-Time) (cost=0.00..0.00 rows=0 width=0) Task Count: 32 Tasks Shown: One of 32 -> Task Node: host=cituswk1 port=5432 dbname=postgres -> Seq Scan on tb1_102008 tb1 (cost=0.00..32.60 rows=2260 width=8) (6 rows)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ECS Open API最佳实践 --- 您使用Open API的最正确姿势(实例新购篇)
背景 阿里云Open API的推出,极大的方便了用户购买以及维护实例。特别是随着用户实例保有量的增加,以及多云化的逐步发展,Open API在用户今后对ECS的使用中会起到越来越大的作用。基于此我们推出了Open API 的最佳实践功能,旨在帮助用户最直观的了解我们的Open API,并以最正确的方式使用Open API。 新购页的Open API最佳实践 下面就来告诉大家我们在新购页是如何展示Open API最佳实践的,这个功能可以将您在新购页所选择的想购买的实例的所有配置项转成Open API运行所需要的值,并告知您赋值的正确语句。所以您可以通过这个功能拿到实例新购方面最正确,最完整的java代码。 如下图,首先进入实例新购页,去选择您想购买的实例配置: 当进入到订单确认页的时候,您会发现多了一个按钮,如下图所示: 点开按钮就会弹出Open API最佳实践的页面 对话框的左半部分展示的是工作流 执行新购实例的核心Open API就是RunInstances,而执行完RunInstances之后,在正常的情况下,实例是会自动启动的。所以,为了保险起见,我们需要确认新购的实例是否启动成...
- 下一篇
一图胜千言 - 查看态势感知日志分析内置9大报表
背景 目前,阿里云态势感知与日志服务打通,对外开放平台依赖或者产生的日志,包括网络、主机、安全三大类共14种子类日志。提供近实时的日志自动采集存储、并提供基于日志服务的查询分析、报表报警、下游计算对接与投递的能力。 本文介绍如何在态势感知控制台使用日志分析的内置报表功能。 日志报表 页面内嵌了日志服务的 仪表盘 页面。该页面为您展示您的默认仪表盘,您可以在当前页面通过修改时间范围、添加过滤条件等操作,查看多种筛选条件下的仪表盘数据。 查看报表 登录态势感知控制台,在左侧导航栏中选择 日志分析 ,进入 日志分析 页面。 选择您需要查看的日志类型,确认右侧的 状态 为开启。 单击 日志报表 。 图 1. 查看报表 为网站开通态势感知的日志分析功能后,日志服务为您自动创建9个默认的仪报表,关于默认仪表盘的更多信息,请查看默认仪表盘。 类别 仪表盘 报表作用 安全
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS关闭SELinux安全模块