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

相关文章

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

2025最新版Python3.13.1安装使用指南(超详细)

《2025最新版Python3.13.1安装使用指南(超详细)》Python编程语言自诞生以来,已经成为全球最受欢迎的编程语言之一,它简单易学易用,以标准库和功能强大且广泛外挂的扩展库,为用户提供包罗... 目录2025最新版python 3.13.1安装使用指南1. 2025年Python语言最新排名2.

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

JAVA集成本地部署的DeepSeek的图文教程

《JAVA集成本地部署的DeepSeek的图文教程》本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的... 目录一、下载部署DeepSeek1.下载ollama2.下载DeepSeek-R1模型并启动 二、J