OpenTenBase入门

news2024/11/28 4:29:03

什么是OpenTenBase

OpenTenBase 是一个提供写可靠性,多主节点数据同步的关系数据库集群平台。你可以将 OpenTenBase 配置一台或者多台主机上, OpenTenBase 数据存储在多台物理主机上面。数据表的存储有两种方式, 分别是 distributed 或者 replicated ,当向OpenTenBase发送查询 SQL时, OpenTenBase 会自动向数据节点发出查询语句并获取最终结果。

OpenTenBase 采用分布式集群架构(如下图), 该架构分布式为无共享(share nothing)模式,节点之间相应独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转,各处理单元之间通过网络协议进行通信,并行处理和扩展能力更好,这也意味着只需要简单的x86服务器就可以部署 OpenTenBase 数据库集群
在这里插入图片描述

1.OpenTenBase集群环境的搭建

两台云服务器10.99.1.1、10.99.1.2;GTM两台(主、备),CN节点两个,DN节点四个(两主、两备)
10.99.1.1:GTM主(端口50001)、CN1(端口30004)、DN1主(40004)、DN1备(端口50004)
10.99.1.2:GTM备(端口50001)、CN2(端口30004)、DN2主(40004)、DN2备(端口50004)
执行命令10.99.1.1上
安装依赖 yum -y install gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex git
创建用户 mkdir /data
指定home目录 useradd -d /data/opentenbase -s /bin/bash -m opentenbase
修改密码 passwd opentenbase
获取源码 选取其中一台主机,在root用户下,切换用户 su - opentenbase
git clone https://github.com/OpenTenBase/OpenTenBase 只需要在次节点拉取即可,其他节点可以忽略此步骤
设置环境变量 export SOURCECODE_PATH=/data/opentenbase/OpenTenBase
export INSTALL_PATH=/data/opentenbase/install
源码编译 cd ${SOURCECODE_PATH}
rm -rf I N S T A L L P A T H / o p e n t e n b a s e b i n v 2.0 c h m o d + x c o n f i g u r e ∗ 开始 . / c o n f i g u r e − − p r e f i x = {INSTALL_PATH}/opentenbase_bin_v2.0 chmod +x configure* 开始 ./configure --prefix= INSTALLPATH/opentenbasebinv2.0chmod+xconfigure开始./configureprefix={INSTALL_PATH}/opentenbase_bin_v2.0 --enable-user-switch --with-openssl --with-ossp-uuid CFLAGS=-g
make clean
make -sj
make install
chmod +x contrib/pgxc_ctl/make_signature
cd contrib
make -sj
make install
禁用 SELinux 和 防火墙 systemctl stop firewalld
机器间的ssh互信配置 ssh-keygen
ssh-copy-id opentenbase@10.99.1.2
环境变量配置 cd /data/opentenbase
vim .bashrc
粘贴 export OPENTENBASE_HOME=/data/opentenbase/install/opentenbase_bin_v2.0
export PATH= O P E N T E N B A S E H O M E / b i n : OPENTENBASE_HOME/bin: OPENTENBASEHOME/bin:PATH
export LD_LIBRARY_PATH= O P E N T E N B A S E H O M E / l i b : OPENTENBASE_HOME/lib: OPENTENBASEHOME/lib:{LD_LIBRARY_PATH}
export LC_ALL=C
生效 source .bashrc
初始化pgxc_ctl.conf文件 mkdir /data/opentenbase/pgxc_ctl
cd /data/opentenbase/pgxc_ctl
双节点配置文件:https://docs.opentenbase.org/guide/pgxc_ctl_double.conf
单节点配置文件:https://docs.opentenbase.org/guide/pgxc_ctl_single.conf
选择单节点
wget https://docs.opentenbase.org/guide/pgxc_ctl_double.conf
mv pgxc_ctl_double.conf pgxc_ctl.conf
vim pgxc_ctl.conf
把IP_1、IP_2换成10.99.1.1、10.99.1.2
安装 pgxc_ctl
PGXC deploy all
PGXC init all
查看节点运行情况
PGXC monitor all
登录数据库
psql -h 10.99.1.1 -p 40004 -U opentenbase -d postgres
DN节点加入到默认组中 create default node group default_group with (dn001,dn002);
create sharding group to group default_group;

执行命令10.99.1.2上
安装依赖 yum -y install gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex git
创建用户 mkdir /data
指定home目录 useradd -d /data/opentenbase -s /bin/bash -m opentenbase
修改密码 passwd opentenbase
环境变量配置 su - opentenbase
cd /data/opentenbase
vim .bashrc
粘贴 export OPENTENBASE_HOME=/data/opentenbase/install/opentenbase_bin_v2.0
export PATH= O P E N T E N B A S E H O M E / b i n : OPENTENBASE_HOME/bin: OPENTENBASEHOME/bin:PATH
export LD_LIBRARY_PATH= O P E N T E N B A S E H O M E / l i b : OPENTENBASE_HOME/lib: OPENTENBASEHOME/lib:{LD_LIBRARY_PATH}
export LC_ALL=C
生效 source .bashrc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1844946.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Studio main,xml 视图代码转换

Android Studio main,xml 视图&&代码转换 其实很简单,但是对我们小白来说还是比较蒙的。 废话不多说,直接上图。 我的Android Studio 是 4.0 版的 我刚打开是这个界面,在我想学习如何用代码来布局,可能大家也会找不见代码的位置。 follow me 是不是感觉很简单呢。…

使用Python和BeautifulSoup轻松抓取表格数据

你是否曾经希望可以轻松地从网页上获取表格数据,而不是手动复制粘贴?好消息来了,使用Python和BeautifulSoup,你可以轻松实现这一目标。今天,我们将探索如何使用这些工具抓取中国气象局网站(http://weather.cma.cn)上的…

使用fastapi和pulumi搭建基于Azure云的IAC Restful API服务 — 对外发布

前言 在IAC(即Infrastructure As Code,基础设施即代码)领域,Terraform 是一个老牌工具,使用HCL(HashiCorp Configuration Language)语言来编写配置文件。它支持几乎所有主流的云提供商&#xf…

贝锐蒲公英异地组网方案:实现制药设备远程监控、远程运维

公司业务涉及放射性药品的生产与销售,在全国各地拥有20多个分公司。由于药品的特殊性,在日常生产过程中,需要符合药品监管规范要求,对各个分部的气相、液相设备及打印机等进行监管,了解其运行数据及工作情况。 为满足这…

[极客大挑战 2020]Roamphp4-Rceme

rce,rce,rce!!! 右键源代码里给了提示&#xff0c;有备份文件index.php.swp,大伙都做到这来了&#xff0c;应该不用写了吧。看源码 <?php error_reporting(0); session_start(); if(!isset($_SESSION[code])){$_SESSION[code] substr(md5(mt_rand().sha1(mt_rand)),0,5);…

电脑上使用备忘录怎么查看编辑时间?能显示时间的备忘录

在快节奏的生活中&#xff0c;很多人喜欢使用备忘录来记录日常事项和重要信息。备忘录不仅能帮助我们捕捉灵感&#xff0c;还能确保重要任务不被遗漏。然而&#xff0c;有时候我们需要知道某条记录的编辑时间&#xff0c;以便于回溯和整理信息。如果备忘录不能显示编辑时间&…

matplotlib 做饼图

饼图可以很好地帮助用户快速了解整体市场数据的占比分配 import matplotlib.pyplot as pltexplode (0,0.1,0,0) labels Frogs,Hogs,Dogs,Logs sizes [15, 30, 45, 10] fig,ax plt.subplots() # colors 设置图形颜色 ;pctdistance&#xff1a;设置百分比标签与圆心的距离&am…

【配置】Notion自动化备份到github方案

步骤 打开notion网页&#xff0c;获取到需要的值 token_v2 找到请求getSpaces的 Cookie 值 token_v2 space_id 找到请求getSpaces的响应结果space,如下图&#xff1a; file_token 找个页面点击导出&#xff0c;之后拿到这个配置项 注意&#xff1a;配置项会过期&#xff0c…

华为---静态路由-浮动静态路由及负载均衡(二)

7.2 浮动静态路由及负载均衡 7.2.1 原理概述 浮动静态路由(Floating Static Route)是一种特殊的静态路由&#xff0c;通过配置去往相同的目的网段&#xff0c;但优先级不同的静态路由&#xff0c;以保证在网络中优先级较高的路由&#xff0c;即主路由失效的情况下&#xff0c…

计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI

基于python一/二手房数据爬虫分析预测系统可视化 商品房数据Flask框架&#xff08;附源码&#xff09; 项目介绍python语言、Flask框架、MySQL数据库、Echarts可视化 sklearn机器学习 多元线性回归预测模型、requests爬虫框架 链家一手房 一手房数据商品房数据、分析可视化预测…

QT中利用QMovie实现动态加载效果

1、效果 2、代码 #include "widget.h" #include "ui_widget.h" #include <QLabel> #include <QMovie>

蓝桥杯-明年再战了

差几名省一(唉唉唉)&#xff0c;ne555定义错类型了&#xff0c;导致后面大部分没写完&#xff0c;检查了一个小时才检查出来.........

【漏洞复现】万户-ezOFFICE DownloadServlet 任意文件下载漏洞

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

100多个ChatGPT指令提示词分享

当前&#xff0c;ChatGPT几乎已经占领了整个互联网。全球范围内成千上万的用户正使用这款人工智能驱动的聊天机器人来满足各种需求。然而&#xff0c;并不是每个人都知道如何充分有效地利用ChatGPT的潜力。其实有许多令人惊叹的ChatGPT指令提示词&#xff0c;可以提升您与ChatG…

stm32学习-硬件I2C读取MPU6050

配置流程 第一步&#xff1a;配置I2C外设&#xff0c;对I2C外设进行初始化&#xff08;替换上一篇文章的I2C_Init&#xff09; 第二步&#xff1a;控制外设电路&#xff0c;实现指定地址写的时序&#xff08;替换上一篇文章的WriteReg&#xff09; 第三步&#xff1a;控制外…

Golang | Leetcode Golang题解之第169题多数元素

题目&#xff1a; 题解&#xff1a; func majorityElement(nums []int) (ans int) {cnts : 0for _, v : range nums {if v ans {cnts} else if cnts 0 {ans v} else {cnts--}}return }

东郊到家类型小程序APP软件基于SpringBoot开发的系统源码

项目背景 在快节奏的现代生活中&#xff0c;人们越来越追求高效、便捷的生活方式。上门服务作为一种新型的服务模式&#xff0c;正逐渐受到广大用户的青睐。而这一切的背后&#xff0c;离不开技术的强大支撑。今天&#xff0c;我们就来探讨一下上门服务类型软件的技术魅力&…

蓝牙模块在工业自动化中的应用

随着科技的快速发展&#xff0c;工业自动化已成为现代工业生产的重要组成部分。蓝牙模块作为一种无线通信技术&#xff0c;其在工业自动化领域的应用日益广泛。本文将探讨蓝牙模块在工业自动化领域的具体应用场景&#xff0c;分析蓝牙模块如何提升工业自动化的效率和灵活性&…

【C++LeetCode】【热题100】两数之和【简单】-不同效率的题解【2】

题目&#xff1a; 暴力方法&#xff1a; class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> res;bool flagfalse;for(int i0;i<nums.size();i){int tempValuetarget-nums[i];//求解另一个值for(int ji1;j…

推荐 2 个 牛牛牛 的 PDF 开源神器!

推荐两个在 GitHub 上都斩获 12k 星星的 PDF 神器&#xff1a;OCRmyPDF 可让你的 PDF 扫描件变得可搜索&#xff1b;Marker 以高准确性快速将 PDF 文档转换为 Markdown 格式 01 让你的 PDF 扫描件变得可搜索 在数字化时代&#xff0c;我们经常需要处理扫描的PDF文件&#xff0c…