TimescaleDB 集群安装部署

2024-03-10 20:44

本文主要是介绍TimescaleDB 集群安装部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 1.安装环境
      • 2.安装TimescaleDB
        • 2.1. 安装PostgreSQL
        • 2.2.安装Timescaledb插件
        • 2.3.配置TimescaleDB
      • 3.集群配置
      • 4.创建数据库
      • 5.测试

  • 开源中间件
# TimescaleDBhttps://iothub.org.cn/docs/middleware/
https://iothub.org.cn/docs/middleware/timescale/timescale-deploy-cluster/

1.安装环境

访问节点:172.51.216.81
数据节点:172.51.216.82
数据节点:172.51.216.83
数据节点:172.51.216.84操作系统:centos7.5
数据库:  PostgreSQL11、Timescaledb-v2.0

2.安装TimescaleDB

2.1. 安装PostgreSQL
1.安装EPEL仓库(安装数据库有些包依赖EPEL仓库)
# yum install epel-release2.安装postgresql
# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm# yum install -y postgresql11-server 3.关闭防火墙
firewall-cmd --state                         #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
systemctl stop firewalld.service      #停止firewall
systemctl start firewalld.service      #开启防火墙
systemctl disable firewalld.service  #禁止firewall开机启动
systemctl enable firewalld.service   #开启firewall开机启动4.主库初始化
# /usr/pgsql-11/bin/postgresql-11-setup initdb启动服务 
# systemctl start postgresql-11 服务自启动
# systemctl enable postgresql-11
# systemctl status postgresql-11 
2.2.安装Timescaledb插件
  • 安装TimeScaleDB
cat > /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL# yum update -y
# yum install -y timescaledb-2-postgresql-11
  • 配置Timescaledb
# 运行以下命令以启动配置向导:# timescaledb-tune --pg-config=/usr/pgsql-11/bin/pg_config --quiet --yes [root@iZ2ze72jggg737pb9vp1g6Z ~]# timescaledb-tune --pg-config=/usr/pgsql-11/bin/pg_config --quiet --yes
Using postgresql.conf at this path:
/var/lib/pgsql/11/data/postgresql.confWriting backup to:
/tmp/timescaledb_tune.backup202103291649Recommendations based on 7.64 GB of available memory and 2 CPUs for PostgreSQL 11
shared_preload_libraries = 'timescaledb'# (change requires restart)
shared_buffers = 1955MB
effective_cache_size = 5866MB
maintenance_work_mem = 1001211kB
work_mem = 10012kB
timescaledb.max_background_workers = 8
max_worker_processes = 13
max_parallel_workers_per_gather = 1
max_parallel_workers = 2
wal_buffers = 16MB
min_wal_size = 512MB
default_statistics_target = 500
random_page_cost = 1.1
checkpoint_completion_target = 0.9
max_locks_per_transaction = 64
autovacuum_max_workers = 10
autovacuum_naptime = 10
effective_io_concurrency = 200
timescaledb.last_tuned = '2021-03-29T16:49:56+08:00'
timescaledb.last_tuned_version = '0.11.0'
Saving changes to: /var/lib/pgsql/11/data/postgresql.conf
2.3.配置TimescaleDB
  • 配置数据库
切换用户,设置数据库密码 
# su - postgres$ psql
# ALTER USER postgres with encrypted password 'postgres';postgres=# \q
#-bash-4.2$ exit
  • 修改数据库配置文件
1.修改连接权限
# vim /var/lib/pgsql/11/data/pg_hba.conf# 客户端访问
host    all             all             all                     md52.修改数据库配置:
# vim /var/lib/pgsql/11/data/postgresql.conflisten_addresses = '*'            # what IP address(es) to listen on;
port = 5432                       # (change requires restart)# 多节点必须配置:
max_prepared_transactions = 150
enable_partitionwise_aggregate = on
  • 重启服务
# systemctl restart postgresql-11
# systemctl status postgresql-11

3.集群配置

1.设置访问节点 # su - postgres
-bash-4.2$ vim /var/lib/pgsql/.pgpass*:*:*:testuser:testuser
*:*:*:postgres:postgres-bash-4.2$ chmod 600  /var/lib/pgsql/.pgpass 2.设置数据节点(三个数据节点)  
在数据节点上编辑身份验证配置文件pg_hba.conf# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             172.51.216.81/32        trust
host    all             all             all                     md5 重启主库服务
# systemctl restart postgresql-11
# systemctl status postgresql-11  

4.创建数据库

  • 创建数据库(访问节点)
1.创建数据库
CREATE DATABASE multinode;
\c multinode
CREATE EXTENSION timescaledb;2.添加数据节点
在服务器(访问节点:172.51.216.81)
SELECT add_data_node('dn2', host => '172.51.216.82');
SELECT add_data_node('dn3', host => '172.51.216.83');
SELECT add_data_node('dn4', host => '172.51.216.84');3.创建新角色(访问节点创建)
CREATE ROLE testuser WITH LOGIN PASSWORD 'testuser';
CALL distributed_exec($$ CREATE ROLE testuser WITH LOGIN PASSWORD 'testuser' $$);授予该用户访问Postgres的外部服务器对象的权限:
GRANT USAGE ON FOREIGN SERVER dn2, dn3, dn4 to testuser; 
  • 创建分布式超表
SET ROLE testuser;CREATE TABLE conditions (time timestamptz NOT NULL, device integer, temp float);SELECT create_distributed_hypertable('conditions', 'time', 'device');

5.测试

# 插入数据
INSERT INTO conditions
SELECT time, (random()*30)::int, random()*80
FROM generate_series('2019-01-01 00:00:00'::timestamptz, '2019-02-01 00:00:00', '1 min') AS time;# 查询
SELECT * FROM conditions; 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 开源中间件
# TimescaleDBhttps://iothub.org.cn/docs/middleware/
https://iothub.org.cn/docs/middleware/timescale/timescale-deploy-cluster/

这篇关于TimescaleDB 集群安装部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795451

相关文章

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

Linux下安装Anaconda3全过程

《Linux下安装Anaconda3全过程》:本文主要介绍Linux下安装Anaconda3全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录简介环境下载安装一、找到下载好的文件名为Anaconda3-2018.12-linux-x86_64的安装包二、或者通

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1

Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤

《MybatisPlusJSqlParser解析sql语句及JSqlParser安装步骤》JSqlParser是一个用于解析SQL语句的Java库,它可以将SQL语句解析为一个Java对象树,允许... 目录【一】jsqlParser 是什么【二】JSqlParser 的安装步骤【三】使用场景【1】sql语