在 CentOS 7 上搭建 OpenTenBase 集群:從源碼到生產環境的全流程指南

目 錄

  • 什么是OpenTenBase
  • OpenTenBase源碼編譯安裝
    • 安裝依賴
    • 創建opentenbase用戶
    • 源碼獲取
    • 編譯安裝
    • 初始化數據庫
    • 初始化數據庫集群
    • 啟動與停止服務
    • 基本使用示例
    • 開機自啟動配置
  • 總結
    • 官網教程鏈接

什么是OpenTenBase

OpenTenBase 是一個提供寫可靠性,多主節點數據同步的關系數據庫集群平臺。你可以將 OpenTenBase 配置一臺或者多臺主機上, OpenTenBase 數據存儲在多臺物理主機上面。數據表的存儲有兩種方式, 分別是 distributed 或者 replicated ,當向OpenTenBase發送查詢 SQL時, OpenTenBase 會自動向數據節點發出查詢語句并獲取最終結果。

OpenTenBase 采用分布式集群架構(如下圖), 該架構分布式為無共享(share nothing)模式,節點之間相應獨立,各自處理自己的數據,處理后的結果可能向上層匯總或在節點間流轉,各處理單元之間通過網絡協議進行通信,并行處理和擴展能力更好,這也意味著只需要簡單的x86服務器就可以部署 OpenTenBase 數據庫集群
https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/11456577/20250823-efa47977.png?q-sign-algorithm=sha1&q-ak=AKID5-yd54daW5Ks9MuQ6q1_lu8nL6-JrQHh8nc2lb_c9lhwtMoT4_bdnBQtw72dh80o&q-sign-time=1755945712%3B1755949312&q-key-time=1755945712%3B1755949312&q-header-list=host&q-url-param-list=&q-signature=5a8e40534d59464829713b60f658728f81db0a46&x-cos-security-token=j6aH3TLGYGHUyXZfwT5F9j5O9JNBmYza3d2ce82e0f48120f1e36e53e77cd520b8_XeTEM6cE3Us8iA4fctU8b00OvC0Re_SZqiVa4yEEie42wIwpTPmwFu65BZBu5-5s9SfqnlIspGz77LiML9TyhW2-Lvt5LDkP2Y8zUjRLqu0zf1q9drwuLkAgBd-7Ifs-AZwQYyNNhP3JCVVjTkm9QGRnUUrFd41ah2CJmNcAZg9-1D9B3TNOuzIQHgJvtisOUk95YvrO2CaRLbhKgECPnhdKlDlLCs9zr0UasDX41TXdRm0LjA2iqP0WflZagBhsmedalNxdQOqLB_Yw5ZrA6btqqfymvYhrdHokob3PRD2R1eT44cKs75xtBt-7g0RQ_mn6EySEZTkRxiv5L5G-B6AcWDUx4VBKwkIvgVIPHGSsy74FQfqRHwJHgfEwl8iHQZ4BXHjaXLE3DWHsaPpX51K1D68Zz0HAgdqFWMPThtTXJo0_y8kxbnz_3uZq2VJi4QqSA3uSVJuUpgR_USz802v_XvF5PiaTjDnq0zTn4IVw4c2xeZTggj3gwYDOTq7y0D8C7k5rIh9O51CSw5IPleRnKoGrgeSOyj1hO8Ci1g4xyrtNNPWx20pZhkwvlHI9ve8JfhCRZG53ld03m7kuNlpgoHhH-DnJRT67RMBkN0uMxp9TnTEDP1F058_XsKr7yMl_applKR_e4gcSEdSzAhFKZPxx2si4_KoXI6DBmO2LM57LHlGdi_SXEV9x2u

下面簡單解讀一下OpenTenBase的三大模塊

  • Coordinator:協調節點(簡稱CN)
    業務訪問入口,負責數據的分發和查詢規劃,多個節點位置對等,每個節點都提供相同的數據庫視圖;在功能上CN上只存儲系統的全局元數據,并不存儲實際的業務數據。

  • Datanode:數據節點(簡稱DN)
    每個節點還存儲業務數據的分片在功能上,DN節點負責完成執行協調節點分發的執行請求。

  • GTM:全局事務管理器(Global Transaction Manager)
    負責管理集群事務信息,同時管理集群的全局對象,比如序列等。

接下來,讓我們來看看如何從源碼開始,完成到OpenTenBase集群環境的搭建。

OpenTenBase源碼編譯安裝

我們這里使用虛擬機里面的CentOS 7進行測試

安裝依賴

yum -y install gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex git

在這里插入圖片描述

創建opentenbase用戶

注意:所有需要安裝OpenTenBase集群的機器上都需要創建

mkdir /data
useradd -d /data/opentenbase -s /bin/bash -m opentenbase
passwd opentenbase # set password

在這里插入圖片描述

源碼獲取

這里使用的是國內的gitee,大家也可以使用github上面的

git clone https://gitee.com/mirrors/OpenTenBase.git
git clone https://github.com/OpenTenBase/OpenTenBase.git

在這里插入圖片描述

編譯安裝

# 創建編譯目錄
mkdir build && cd build# 配置編譯選項
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/opentenbase# 編譯并安裝
make -j$(nproc)
sudo make install

在這里插入圖片描述

初始化數據庫

創建數據庫用戶和目錄

# 創建數據庫用戶
sudo useradd -m otb
sudo passwd otb# 創建數據目錄
sudo mkdir -p /data/opentenbase
sudo chown -R otb:otb /data/opentenbase

在這里插入圖片描述

初始化數據庫集群

切換到 otb 用戶執行:

su - otb# 設置環境變量
echo "export PATH=/usr/local/opentenbase/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc# 初始化數據庫
initdb -D /data/opentenbase

在這里插入圖片描述

啟動與停止服務

# 啟動數據庫
pg_ctl -D /data/opentenbase -l logfile start# 停止數據庫
pg_ctl -D /data/opentenbase stop# 重啟數據庫
pg_ctl -D /data/opentenbase restart

在這里插入圖片描述

基本使用示例

# 進入數據庫
psql -U otb -d postgres# 創建數據庫
CREATE DATABASE testdb;# 切換到數據庫
\c testdb# 創建表
CREATE TABLE users (id SERIAL PRIMARY KEY,name VARCHAR(50),age INT
);# 插入數據
INSERT INTO users (name, age) VALUES ('Alice', 25), ('Bob', 30);# 查詢數據
SELECT * FROM users;

開機自啟動配置

sudo vi /etc/systemd/system/opentenbase.service

寫入以下內容:

[Unit]
Description=OpenTenBase Database Service
After=network.target[Service]
Type=forking
User=otb
ExecStart=/usr/local/opentenbase/bin/pg_ctl -D /data/opentenbase -l /data/opentenbase/logfile start
ExecStop=/usr/local/opentenbase/bin/pg_ctl -D /data/opentenbase stop
ExecReload=/usr/local/opentenbase/bin/pg_ctl -D /data/opentenbase restart[Install]
WantedBy=multi-user.target

啟用并啟動:

sudo systemctl daemon-reexec
sudo systemctl enable opentenbase
sudo systemctl start opentenbase

總結

到這里,你已經在 CentOS 7 上完成了 OpenTenBase 的安裝與配置,可以像 PostgreSQL 一樣使用它。如果你是第一次接觸,建議從簡單的 SQL 語句和表操作入手,然后逐步嘗試 OpenTenBase 的分布式特性。
本文檔只是給用戶一個簡單的指引,演示如何從源碼開始,一步一步搭建一個完整的OpenTenBase集群。

官網教程鏈接

https://docs.opentenbase.org/

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/94103.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/94103.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/94103.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LoRaWAN網絡部署全流程:從方案設計到實際落地的關鍵要點

一、覆蓋范圍:從理論到實踐 LoRaWAN的覆蓋距離在理論上可達15公里,但實際部署受地形和環境影響極大。 城市環境中,密集的建筑群和多徑效應常常使網關有效覆蓋半徑縮小至3至5公里;在空曠的農村或農田場景中,覆蓋范圍可提…

portswigger labs XXE漏洞利用實戰

lab1 利用外部實體注入獲取文件解決此 lab 需要讀取到/etc/passwd<!DOCTYPE test [ <!ENTITY cmd SYSTEM "file:///etc/passwd"> ]> <productId>&cmd;</productId>lab2 利用 XXE 執行 SSRF 攻擊通過構造 xxe 請求特定的 url 獲取目錄拼接…

深入理解 hash -r:解決 Linux 命令緩存難題的關鍵密鑰

前言&#xff1a;在 Linux 終端的日常操作中&#xff0c;你是否遇到過這樣的詭異場景&#xff1a;明明已經升級或切換了軟件版本&#xff08;比如 Node.js 從舊版更新到新版 &#xff09;&#xff0c;但執行命令時&#xff0c;系統卻像被“施了魔法”&#xff0c;依舊執著地調用…

onnx入門教程(二)—— PyTorch 轉 ONNX 詳解

在這一節里&#xff0c;我們將詳細介紹 PyTorch 到 ONNX 的轉換函數—— torch.onnx.export。我們希望大家能夠更加靈活地使用這個模型轉換接口&#xff0c;并通過了解它的實現原理來更好地應對該函數的報錯&#xff08;由于模型部署的兼容性問題&#xff0c;部署復雜模型時該函…

嵌入式LINUX——————網絡TCP

一、TCP連接1.TCP特點&#xff1a;&#xff08;1&#xff09;面向鏈接&#xff08;2&#xff09;面向字節流&#xff08;3&#xff09;安全可靠的傳輸協議&#xff0c;因為會先建立連接&#xff08;4&#xff09;占用資源開銷大&#xff0c;效率低&#xff0c;實時性不佳&#…

alicloud 阿里云有哪些日志 審計日志

1: 阿里有哪些audit log: Audit Related Logs Below table describe the logs available in Log Service that might be applicable to the Security Operations Team. 2: 怎么來分析呢? Overview Its recommended to built a program with SLS Consumer Group which real…

如何理解AP服務發現協議中“如果某項服務需要被配置為可通過多個不同的網絡接口進行訪問,則應為每個網絡接口使用一個獨立的客戶端服務實例”?

上一句&#xff1a;[PRS_SOMEIPSD_00238]◎ 「如果某項服務需要在多個網絡接口上提供&#xff0c;則應為每個網絡接口使用一個獨立的服務器服務實例。」(RS_SOMEIPSD_00003) 本句&#xff1a;[PRS_SOMEIPSD_00239] 「如果某項服務需要被配置為可通過多個不同的網絡接口進行訪問…

piecewise jerk算法介紹

piecewise jerk算法介紹 piecewise jerk算法是百度Apollo中的一種用于路徑和速度平滑的算法&#xff0c;該算法假設相鄰點之間的jerk為常數&#xff0c;基于該假設將平滑問題構建為二次規劃問題&#xff0c;調用osqp求解器求解。參考論文為&#xff1a;Optimal Vehicle Path Pl…

分布式蜜罐系統的部署安裝

前陣子勒索病毒泛濫&#xff0c;中小企業由于缺少專業EDR&#xff0c;態勢感知&#xff0c;IPS等設備&#xff0c;往往是在勒索事件發生之后才后知后覺&#xff0c;也因為缺乏有效的備份策略&#xff0c;導致數據&#xff0c;經濟&#xff0c;商業信譽的喪失&#xff0c;甚至還…

定時器互補PWM輸出和死區

定時器互補PWM輸出和死區互補PWM&#xff08;Complementary PWM&#xff09;H橋、全橋、半橋中的應用為什么需要死區時間互補PWM&#xff08;Complementary PWM&#xff09; 是一種特殊的 PWM 輸出模式&#xff0c;通常用于H橋、全橋或半橋電路的驅動。其核心原理是利用定時器…

嵌入式ARM程序高級調試基礎:8.QEMU ARM虛擬機與tftp配置

嵌入式ARM程序高級調試基礎:8.QEMU ARM虛擬機與tftp配置 文章目錄 嵌入式ARM程序高級調試基礎:8.QEMU ARM虛擬機與tftp配置 一.總的網絡配置過程 二.主機配置 三.QEMU ARM 網絡配置 四.主機與虛擬器之間的網絡測試 五.TFTP網絡配置 5.1 ubuntu主機安裝tftp服務器 5.2 設置tft…

【貪心算法】貪心算法六

貪心算法六 1.壞了的計算器 2.合并區間 3.無重疊區間 4.用最少數量的箭引爆氣球 點贊????收藏????關注???? 你的支持是對我最大的鼓勵,我們一起努力吧!???? 1.壞了的計算器 題目鏈接: 991. 壞了的計算器 題目分析: 算法原理: 解法一:正向推導 以3轉化…

直播預約 | CATIA MODSIM SmartCAE帶練營第3期:讓每輪設計迭代都快人一步!

▼▼免費報名鏈接▼▼ 達索系統企業數字化轉型在線研討會https://3ds.tbh5.com/EventDetail.aspx?eid1195&frpt 迅筑官網 ??

OSI參考模型TCP/IP模型 二三事

計算機網絡的學習離不開OSI參考模型&TCP/IP模型對各層功能與任務的了解就是學習的主要內容其二者的區別也是我們應該了解的其中 擁塞控制和流量控制 就是各層功能中 兩個易混淆的概念流量控制&#xff08;Flow Control&#xff09;&#xff1a;解決的是發送方和接收方之間速…

DataStream實現WordCount

目錄讀取文本數據讀取端口數據事實上Flink本身是流批統一的處理架構&#xff0c;批量的數據集本質上也是流&#xff0c;沒有必要用兩套不同的API來實現。所以從Flink 1.12開始&#xff0c;官方推薦的做法是直接使用DataStream API&#xff0c;在提交任務時通過將執行模式設為BA…

imx6ull-驅動開發篇37——Linux MISC 驅動實驗

目錄 MISC 設備驅動 miscdevice結構體 misc_register 函數 misc_deregister 函數 實驗程序編寫 修改設備樹 驅動程序編寫 miscbeep.c miscbeepApp.c Makefile 文件 運行測試 MISC 驅動也叫做雜項驅動&#xff0c;也就是當某些外設無法進行分類的時候就可以使用 MISC…

C# 項目“交互式展廳管理客戶端“針對的是“.NETFramework,Version=v4.8”,但此計算機上沒有安裝它。

C# 項目“交互式展廳管理客戶端"針對的是".NETFramework,Versionv4.8”&#xff0c;但此計算機上沒有安裝它。 解決方法&#xff1a; C# 項目“交互式展廳管理客戶端"針對的是".NETFramework,Versionv4.8”&#xff0c;但此計算機上沒有安裝它。 下載地址…

FFmpeg及 RTSP、RTMP

FFmpeg 是一個功能強大的跨平臺開源音視頻處理工具集 &#xff0c;集錄制、轉碼、編解碼、流媒體傳輸等功能于一體&#xff0c;被廣泛應用于音視頻處理、直播、點播等場景。它支持幾乎所有主流的音視頻格式和協議&#xff0c;是許多媒體軟件&#xff08;如 VLC、YouTube、抖音等…

金山辦公的服務端開發工程師-25屆春招筆試編程題

1.作弊 溪染&#xff1a;六王畢&#xff0c;四海一&#xff1b;蜀山兀&#xff0c;阿房出。覆壓三百余里&#xff0c;隔離天日。驪山北構而西折&#xff0c;直走咸陽。二川溶溶&#xff0c;流入宮墻。五步一樓&#xff0c;十步一閣&#xff1b;廊腰縵回&#xff0c;檐牙高啄&am…

注意力機制中為什么q與k^T相乘是注意力分數

要理解 “qkT\mathbf{q} \times \mathbf{k}^TqkT 是注意力分數”&#xff0c;核心是抓住注意力機制的本質目標 ——量化 “查詢&#xff08;q&#xff09;” 與 “鍵&#xff08;k&#xff09;” 之間的關聯程度&#xff0c;而向量點積&#xff08;矩陣相乘的元素本質&#xff…