大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
timescaledb的多节点模式已经推出很长时间,国内一直没有发布相关的教程,timescaledb官网上关于安装部署说的也不是很清楚,故此自己做了一版教程,也走了几个坑,有问题也可以问。
1.硬件环境
三台Centos7 虚拟机
IP为
(node1) 192.168.1.135 主节点
(node2) 192.168.1.136 数据节点
(node3) 192.168.1.137 数据节点
2.软件环境安装
1.系统配置
关闭防火墙(所有节点)
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭SELINUX(所有节点)
sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config
cat /etc/selinux/config | grep SELINUX=disabled
立即生效
setenforce 0
安装系统依赖包
yum install -y libicu systemd-sysv vim wget readline readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc gcc-c++ rsync
2.分别为每台节点安装PG-12(官方下载地址链接)
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql12-server
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
sudo systemctl enable postgresql-12
sudo systemctl start postgresql-12
配置环境变量
root用户环境变量配置:
su - root
cd ~
echo ' PGHOME=/usr/pgsql-12 export PGHOME PATH=$PATH:$PGHOME/bin export PATH PGDATA=/var/lib/pgsql/12/data export PGDATA ' >> .bash_profile
立即生效环境变量 & 检查是否生效
# source .bash_profile
# echo $PGHOME && echo $PGDATA
postgres用户环境变量配置:
$ su - postgres
$ cd ~
echo ' PGHOME=/usr/pgsql-12 export PGHOME PATH=$PATH:$PGHOME/bin export PATH PGDATA=/var/lib/pgsql/12/data export PGDATA ' >> .bash_profile
立即生效环境变量 & 检查是否生效
$ source .bash_profile
$ echo $PGHOME && echo $PGDATA
修改数据库配置(所有节点)
vim /var/lib/pgsql/12/data/postgresql.conf
listen_addresses = ‘*’ #数据库服务监听IP地址,默认只监听localhost,外部无法访问。
max_connections = 5000 #默认100,连接数限制根据实际业务需求修改
vim /var/lib/pgsql/12/data/pg_hba.conf
末尾添加下面内容,不限制任何主机并允许远程登录以及信任节点的无密码访问:(以数据节点2为例,添加主节点无需密码就可以访问当前节点,其他数据节点也可以无需密码访问,其余的访问需要密码)
Host all all node1的IP/0 trust
Host all all node3的IP/0 trust
host all all 0.0.0.0/0 md5
node2
node3
设置postgres用户密码
$ su – postgres
$ psql -U postgres
postgres=# ALTER USER postgres with encrypted password ‘123456’; #测试密码比较简单
postgres=# \du
postgres=# \l
postgres=# \dn
3.安装timescaleDB(注意的是一定要下载2.0以上的版本,从2.0开始支持多节点的timescaledb)
安装PG开发包
yum install -y postgresql12-devel
!如果出现异常
llvm的版本不够高所以进行升级
yum install centos-release-scl-rh
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum localinstall epel-release-latest-7.noarch.rpm
yum install llvm5.0 llvm5.0-devel clang
#重新执行yum install -y postgresql12-devel
安装timescaledb
下载地址:https://github.com/timescale/timescaledb/releases?page=1
本次安装版本为2.5.2
解压
tar -zxvf timescaledb-2.5.2.tar.gz
安装
cd timescaledb-2.5.2
./bootstrap
!此处可能会提示cmake(版本需要大于3.1)
cd ./build && make
make install
4.安装Cmake(没有提示就跳过此节)
下载地址https://cmake.org/download/
tar -zxvf cmake-3.23.0-rc2.tar.gz
安装
cd cmake-3.23.0-rc2
./bootstrap
gmake
make install
5.为postgresql添加timescaleDB扩展
#修改PG配置文件
vim /var/lib/pgsql/12/data/postgresql.conf
找到shared_preload_libraries 去掉注释添加值为 timescaledb(如果有多个用逗号隔开)
重启数据库(所有节点) systemctl restart postgresql-12
6.从访问节点添加数据节点
#添加数据节点(数据节点不需要创建数据库)
SELECT add_data_node('node5','192.168.1.136','example',5432, false,true,'123456')
SELECT add_data_node('node6','192.168.1.137','example',5432, false,true,'123456')
SELECT * FROM "hypertable_data_node" #查询数据节点
#创建分布式表(提前创建普通表)自动创建到数据节点。
SELECT create_distributed_hypertable('temp', 'timestamp', 'deviceId');
查看 _timescaledb_internal 模式下的chunk 都为外部服务器由此得出,访问节点并不做存储服务
转载请注明出处
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/184557.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...