在CentOS 7上设置RethinkDB集群

介绍

RethinkDB是一个NoSQL数据库,将数据存储为JSON文档。它具有超直观的查询语言,并具有传统RDBMS中常用的功能,例如“表连接”和“分组依据”。本教程将说明如何使用3台运行CentOS 7的Vultr VPS服务器设置RethinkDB集群。

安装

使用CentOS 7作为操作系统并启用专用网络来启动Vultr VM 。

VM准备就绪后,登录并将RethinkDB yum存储库添加到存储库列表中:

sudo wget http://download.rethinkdb.com/centos/6/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo

接下来,安装RethinkDB:

sudo yum install rethinkdb

访问数据库

通过运行以下命令启动RethinkDB。请注意,我们“绑定到所有人”,因此在尝试访问RethinkDB的Web管理界面时不会遇到问题。

rethinkdb --bind all

要通过Web访问,请在Web浏览器的地址栏中输入端口8080http://[vultr-ip-address]:8080。您应该看到RethinkDB的出色Web管理工具。

注意:如果看不到Web管理工具,请通过发出Ctrl + C命令停止RethinkDB 。我们将打开CentOS防火墙并重新启动RethinkDB:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
rethinkdb --bind all

删除测试数据库

我们将继续使用Web界面来操作数据库。通过浏览http://[vultr-ip-address]:8080并单击“表”链接来访问它。您将看到RethinkDB已经安装了“测试”数据库。单击“数据资源管理器”链接,然后运行以下命令删除“测试”数据库。

r.dbDrop('test')

在数据库中玩耍

在RethinkDB管理员的“数据资源管理器”部分中,通过运行以下代码创建一个名为“ tweetDB”的新数据库。

r.dbCreate('tweetDB')

接下来,创建一个“ tweets”表。

r.db('tweetDB').tableCreate('tweets')

在“ tweets”表中插入一些记录。

r.db('tweetDB').table('tweets').insert([
    {
        name: 'Lami',
        twitterHandle: 'mrLami',
        message: 'Best cloud hosting on the planet - vultr'
    },
    {
        name: 'Vultr Hosting',
        twitterHandle: '@TheVultr',
        message: '50% off on new instances - coupon - tgif'
    }
])

查询“ tweets”表以查看结果。

r.db('tweetDB').table('tweets')

您应该在树视图下看到以下内容(具有不同的ID)。

[
    {
        "id":  "6afe436c-7db4-4c86-b4db-3279acb3265d" ,
        "message":  "50% off on new instances - coupon - tgif" ,
        "name":  "Vultr Hosting" ,
        "twitterHandle":  "@TheVultr"
    } ,
    {
        "id":  "fd328cd5-d9f4-40ee-8a32-880cd8cda15d" ,
        "message":  "Best cloud hosting on the planet - vultr" ,
        "name":  "Lami" ,
        "twitterHandle":  "mrLami"
    }
]

设置集群

使用本指南“安装”“连接到新的VM实例”“访问数据库”部分中的说明启动第二台和第三台计算机。确保删除每个新实例上的“测试”数据库,并且不要向其添加任何新数据库。

从第二个和第三个实例删除“测试”数据库后,返回其命令提示符并通过发出Ctrl + C(在Mac上为Cmd + C)来停止RethinkDB 。现在,使用以下命令在这些实例上再次启动RethinkDB(我们基本上是在告诉新的第二个和第三个实例加入第一个实例)。

$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all

在第二个和第三个实例上,访问Web管理界面,然后转到“数据资源管理器”部分。运行以下查询以获取鸣叫列表。

 r.db('tweetDB').table('tweets')

您将看到它们已经从主实例(第一个VM设置)实例中复制了。

结论

尽管在撰写本文时,RethinkDB仍处于起步阶段,但它具有很大的前景,并且具有基于Web的强大管理界面,该界面使通常仅需几个步骤即可轻松完成扩展数据库(分片,复制)的繁重任务。点击。

有关更多阅读,请访问RethinkDB文档。另请访问#rethinkdb IRC频道,以从社区中了解更多信息。

其他版本

CentOS的7

Ubuntu 14

由Lami Adabonyan撰写

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息