Paul
by Paul Chapman

与Nuodb社区版本脱颖而出

对于那些不熟悉的人, NOODB社区版(CE) 是我们的免费开发人员版本的NOODB产品。这是为那些想要进行研究的人,用小项目部署数据库,或者简单地开始使用我们的技术开发。

使用Nuodb的一个很大的优点是它的能力 向外扩展。但是,早期版本的Nuodb Community Edition不允许您这样做。部署仅限于一个事务引擎(TE)和一个存储管理器(SM)过程 单身的 host. 

对于那些喜欢进修的人来说,NuodB具有点对点的双层架构,包括一个内存的TES和SMS的存储层。内存层允许应用程序自然地构建其自己的频繁访问数据的高速缓存,并且存储层提供酸保证和数据持久性。每层都具有弹性缩放(和背部)并通过简单地添加和删除TES和SMS来提供主动冗余。

通过增加您可以部署的TES和主机的数量,我们通过增加了Nuodb Community Edition A Boost。您现在可以将内存中的事务层扩展到三个特色,并将Nuodb Community Edition部署为跨多个主机的分布式数据库。这允许您调查改进的操作工作负载吞吐量,容错和 持续可用性.

我们很兴奋地让你掌握诺德布CE并试试吧!这是一个直截了当的教程,可以让您和诺福布社区版一起运行,包括如何:

  1. 安装Nuodb Community Edition
  2. 创建nuodb数据库
  3. 使用数据填充数据库
  4. 使用SQL命令和系统模式表探索您的数据库
  5. 连接一个简单的Java客户端,发现Nuodb如何弹性地缩放并重新划分

让我们开始吧!

 

第1步:安装Nuodb Community Edition

我们的示例显示了如何使用Linux或Windows环境中部署Nuodb 诺福德文档 作为补充指南。你可以 下载nuodb社区版.

为了帮助安装,有一个 骗子 本文末尾的有用命令(我们建议您现在在单独的选项卡中打开此问题)。

在MS Windows或Ubuntu桌面上运行此操作是最容易的,因为它们不是服务器系统,并且需要更少的配置。

设置你的环境

在安装NOODB之前,有一些先决条件:

  1. 确保您在64位系统上运行
    NuoDB CE is 不是 支持 任何 32位系统(仅限Windows 32位客户端安装 不是 适合我们要做的事情)。 
     
  2. 确认您正在运行Java Jav 1.8
    此示例要求您运行Java JRE 1.8, 要么是Oracle的网站 (但要意识到新的许可限制)或OpenJDK项目(见 骗子 了解更多信息)。
     
  3. Python v2.7.
    Python V2.7 (不是 V3) 是必须的。这通常预先安装在Linux机器上,但肯定需要在Windows上安装(参见 骗子)。
    在Windows上,安装Python后重新启动。
     
  4. 仅限Linux

    4.1 禁用透明巨大页面(THP)
    透明巨大页面(THP)是一个Linux功能,可在使用大量内存时减少开销。但是,THP为多个数据库技术导致内存管理问题,包括NOODB,因此必须禁用。

    要确定是否启用了透明的巨大页面,请运行以下命令:
    cat /sys/kernel/mm/transparent_hugepage/enabled
    If the result is [always] madvise never then you will need to disable THP. You can disable it for now, until the system is restarted with the following commands:
    $ echo madvise | sudo tee -a
    /sys/kernel/mm/transparent_hugepage/enabled
    $ echo madvise | sudo tee -a
    /sys/kernel/mm/transparent_hugepage/defrag
    
    您也可以通过编辑来永久禁用THP 内核引导程序和系统启动脚本.
     

4.2安装libcurses.

您可能需要安装 libcurses. 使用 nuosql.:

     Ubuntu/Debian: sudo apt-get install libncurses5 libncursesw5
     RHEL/Centos: sudo yum install ncurses-compat-libs.x86_64

安装并设置Nuodb Community Edition

如果您之前已在计算机上安装了NuodB,请立即卸载它。

下载并安装Nuodb Community Edition

访问Nuodb.com上的下载页面 下载Nuodb Community Edition。下载并运行您选择的安装程序。有四个安装人员可用:

  1. Ubuntu / Debian Systems的Linux安装程序
  2. Linux.安装程序RPM for Rhel / CentOS系统
  3. 压缩的Linux焦油
  4. 一个MS Windows可执行文件(不是 视窗 8 x32客户端版) - 在运行安装程序时接受所有默认值

笔记: 在安装过程中,系统可能会提示您输入一个 域密码但是,这是一个旧功能,Nuodb可以使用TLS。

  • 视窗 Installer: 进入 “鸟” (这是我们在在线示例中使用的),只是允许安装程序运行(无论如何我们不会使用它)。
  • Linux.安装程序: 安装后,可能会要求您修改
    default.properties 手动设置密码 - 没有必要这样做。

运行安装程序后:

  • Linux.的Nuodb将安装到您的 /opt/nuodb 文件夹。一些其他文件将在 /var/opt/nuodb/etc/nuodb
    • 笔记: 如果您愿意,您可以下载 Linux. compressed tar (.tar.gz)如果您选择解压缩它,安装将自包含。

  • 默认情况下,Windows为Windows安装 C:\Program Files\nuodb

我们将引用此安装目录 NUODB_HOME.

笔记: 要在公共云上安装VM,请复制下载链接,登录VM并使用 wget 要直接将其提取到VM上,(您可能需要安装 wget first).

系统总览

诺福德 领域 是由域管理员管理的机器(或云实例)的集合,并且已被配置为一起工作以支持一个或多个Nuodb数据库。每个数据库都在域中的一个或多个主机上运行。

诺博德布“数据库“ 因此 一系列工作的过程:一个或多个TES,一个或多个短信和一些管理过程(APS)管理它们 - 请参阅 图1。请记住,社区版仅支持三个TES和一个SM。

图像
示例Nuodb数据库架构

图1:示例Nuodb数据库架构

笔记: 给定的te或sm只能支持一个 单身的 数据库,但可以在同一主机上具有多个TES或SMS,每个TES或SMS处理不同的数据库。

系统设置

NOODB安装后不能立即运行;首先需要一些配置。使用您选择的编辑,打开 nuadmin.conf.. 以管理员(Windows)或使用运行 sudo on Linux.

默认位置 根据安装而有所不同:


● Linux:   /etc/nuodb/nuoadmin.conf
● Windows: C:\Program Files\nuodb\etc\nuoadmin.conf
● tar:     $NUODB_HOME/etc/nuoadmin.conf

默认设置假定使用TLS和证书之间的Nuodb之间的安全连接。显然这是一件好事,但需要 要生成的键和配置密钥库。您可以设置自签名证书,但要快速启动和运行,最简单地禁用此功能。

在底部 nuadmin.conf., 寻找 ”ssl“:”真的“并将它设置为 false。请注意,这是JSON格式文件。

图像
禁用TLS.

图2:禁用TLS

请注意,此文件还定义了许多其他属性,例如服务器的ID(server0.)和Nuodb进程侦听的端口。不需要更改任何其他属性。

同一目录中有两个其他配置文件,但无需修改任何一个文件:

  1. nuadmin.rest.yml - 允许您为AP配置HTTP和HTTPS,有效载荷记录和线程使用
  2. nuadmin.logback.xml - 用于管理进程的细粒度记录控制(用Java编写)

设置你的环境

要运行nuodb命令,请确保Nuodb Bin目录位于路径中。

  • Linux.安装程序: 将这些或等效命令放在shell的初始化文件中(例如 .bashrc if you use BASH)
    • export NUODB_HOME=/opt/nuodb
    • export PATH=$PATH:$NUODB_HOME/bin
  • Linux. Tar: 如上所述 NUODB_HOME appropriately
  • 视窗:NUODB_HOME 并修改 PATH 使用 系统环境对话框

启动Nuodb服务

使用NOODB,您可以通过动态配置额外的内存容量或可用性来扩展。这是通过跨虚拟,物理或云主机运行的服务来实现的,以便集体汇集和管理资源。您可以配置NuodB以满足各种级别的吞吐量,响应时间和耐用性要求。

在我们的示例中,我们为简单起见,我们在单个主机上运行所有内容,因此我们只需要启动一个管理过程。但是,如果我们要在多个虚拟或物理主机上运行nuodb,那么我们通常会每台主机运行一个管理流程并设置对等网络,以便它们可以彼此通信。更多了解有关凝视主机的更多信息 阅读Nuodb文档.

NOODB V3.2 +

Nuodb最近搬到了一个新的管理层(更换了旧的 nuoagent. 经纪人流程)。这是 nuadmin 并且旨在在多种环境中工作,如裸露的金属,在公共云上,或者使用kubernetes等集装箱系统时。我们也认为它更容易使用。

但是,Nuodb v3在Windows上不是Nuodb V3版本中的默认值,尚未默认为默认情况下。激活 nuadmin,运行脚本 nuadmin-enable。假设默认安装:


● Linux:   $NUODB_HOME/etc/nuoadmin-enable
● Windows: C:\Program Files\nuodb\etc\nuoadmin-enable.bat
● tar:     $NUODB_HOME/etc/nuoadmin-enable

这个脚本都开始了 nuadmin 服务并禁用旧的 nuoagent. 进程(您提示您早期提示的域密码仅使用 nuoagent.,这就是为什么我们不需要它)。

nuadmin 服务现在应该运行,所以跳到 验证您的安装 below.

启动Nuodb服务

否则,直接启动服务:

  • Linux.:   sudo service nuoadmin start
    • 如果您有可用的服务命令
  • 柏油:     sudo $NUODB_HOME/etc/nuoadmin start
    • 此命令适用于任何Linux安装
  • 视窗: 打开服务面板,寻找 nuadmin。您可以像任何其他服务一样控制它。如果您愿意使用 net start "nuodb admin"

验证您的安装

此时,您已准备好开始使用Nuodb!让我们检查我们的新域的状态。跑步 nuocmd show domain。您应该只看到管理进程运行 - 请注意其默认名称是 server0..

图像
初始显示领域

 图3:初始 显示领域

此外,您可以查看日志文件进行错误,位于:

  • Linux.: /var/log/nuodb/*.log
  • 柏油: $NUODB_HOME/var/log
  • 视窗: %ALLUSERSPROFILE%\nuodb\LogFiles

如果事情似乎没有工作,请检查是否是 nuadmin 进程实际上正在运行(见 骗子 for details).

 

第2步:创建Nuodb数据库


Nuodb命令行工具

nuocmd 是您可以用于监视,分析和管理域和数据库的命令行工具。我们将使用此工具创建新数据库,然后通过添加和删除TES来扩展该数据库。

此工具有很多,许多选项,但现在我们需要从这两个步骤开始:

  • 创建数据库存档(存储数据的位置)
  • 启动数据库进程(SMS和TES)

有参考文档 这里.

创建一个简单的数据库

分配存储

出于我们的目的,我们可以将数据库分配给Nuodb的任何区域都可以访问。例如,您可以选择:

  • Linux.:   /tmp/databases — 请注意,这不会在重新启动中生存
  • Linux.:   ~/databases (但是在下面看到红色)
  • 视窗: C:\databases

如果尚不存在,请创建此目录。

  • Linux.,确保Nuodb访问: sudo chown nuodb:nuodb
  • Linux.,请确保可访问父目录
    • For example, on RHEL/CentOS chmod a+x ~ is 基本的

nuocmd create archive --db-name < database name >
                    --server-id < server-id >
                    --archive-path < archive-dir >/< database name >

让我们创建一个名为的数据库 testdb.:回想一下这台机器(NOODB将主机称为服务器或节点)是 server0.:


● Linux:   nuocmd create archive --db-name testdb --server-id server0 --archive-path ~/databases/testdb
● Windows: nuocmd create archive --db-name testdb --server-id server0 --archive-path c:\databases\testdb

更改数据库位置以适合您的系统。

  • 笔记: 在实际部署中,您通常将专用于NuodB的快磁盘安装。

NOODB数据库需要 至少 运行的两个进程 - 一个te和一个sm。为简单起见,我们将在同一主机上运行。我们需要的命令是:


nuocmd create database --db-name < database name >
                       --dba-user < user-name >
                       --dba-password < password >
                       --te-server-ids < te-server-id >

笔记: 我们正在定义访问新数据库所需的用户名和密码。

在我们的情况下,我们只是运行:


nuocmd create database --db-name testdb --dba-user dba 
--dba-password dba --te-server-ids server0

如果您在数据库目录中查看,您现在应该看到 testdb. 子目录不再是空的。跑步 显示领域 再次请注意数据库现在是一个“运行档案“ - 它有一个SM和TE管理它。

图像
显示带有运行存档的域

图4:显示具有运行存档的域

恭喜!您已创建了第一个Nuodb数据库。现在是时候使用NOODB SQL工具添加一些数据了。 

 

第3步:用曲棍球数据填充数据库

Nuodb船用示例数据库,其中包含与北美冰球相关的数据。它位于 NUODB_HOME/samples/quickstart/sql/ 我们将使用这些SQL文件使用曲棍球数据填充我们的新数据库。

Nuodb附带命令行SQL工具 nuosql.。它位于 NUODB_HOME/bin,所以它应该在你的路上。它可以交互方式或加载SQL语句的文件,然后退出。本节将使用 nuosql..

如果您希望使用GUI工具,我们建议使用 dbvisualizer,附带内置的Nuodb集成(推荐v10 +)。其他GUI工具与NOODB一起工作,但您需要配置合适的驱动程序。

创建架构和加载曲棍球数据

制作  NUODB_HOME/samples/quickstart/sql 您当前的目录。

现在创建架构并加载 曲棍球 表使用 create-db.sql.

nuosql. [email protected] --user dba --password dba --file create-db.sql
  • 笔记
    • 在RHEL上,你可能会失踪 libnsl - 跑步 yum install libnsl.x86_64
    • nuosql. 将在运行时将所有内容呼吸到屏幕。这是完全正常的。
图像
使用nuosql创建架构

图5:使用NUOSQL创建架构

加载额外的曲棍球数据

输入以下命令以加载剩余的曲棍球数据。这将需要很短,并回应屏幕的大量输出。

nuosql. [email protected] --user dba --password dba --file Players.sql
nuosql [email protected] --user dba --password dba --file Scoring.sql
nuosql [email protected] --user dba --password dba --file Teams.sql

 

第4步:使用SQL命令和系统表探索您的数据库

除了提供酸合规性和弹性秤外,Nuodb还容易熟悉SQL数据库的开发人员与之合作。 Nuodb支持丰富而完整的SQL功能集,其中包括 完整的ANSI SQL标准 以及额外的程序扩展。它还提供了一个 典型的SQL数据库权限模型,让您控制允许谁或允许哪个角色在架构,表,视图或过程上执行操作。

让我们尝试一些基本的SQL命令,以了解数据库中的内容。

输入并了解Nuodb SQL命令行工具

Nuodb包括Nuodb SQL,命令行工具来探索数据库,执行SQL语句,运行脚本,访问数据库元数据信息和执行DBA函数。通过咨询来了解更多关于它的信息 诺福德文档.

通过指定您访问的数据库,您的用户名和密码输入Nuodb SQL工具:

nuosql. testdb --user dba --password dba

一旦你在Nuodb SQL,你就会看到 SQL> 迅速的。离开进入“quit“随时。

只需使用简单地使用的帮助即可获得帮助 help command.

图像
获取nuosql帮助

图6:GET NUOSQL帮助

探索您的数据库

根据定义,Nuodb始终包括两个模式 - usersystem。系统模式是只读架构,而用户模式可以保存表和数据。您还可以根据需要创建其他架构。

使用 show schemas 指令看看我们的数据库包含的模式: 

图像
显示模式

图7:显示模式

我们的曲棍球数据在哪里?如果您未为数据创建和指定新架构,则若要默认情况下会自动将数据输入用户模式。

让我们通过输入用户架构来检查并显示该模式中的表。

图像
显示表格

图8:显示表格

我们还可以查看特定表中的数据:

图像
显示曲棍球表的内容

图9:显示曲棍球表的内容

让我们尝试更复杂的东西。此查询列出了2011年与联盟一起播放他们第一个NHL游戏的所有守门员:


SELECT p.firstname, p.lastname, p.firstnhl, p.lastnhl,
       s.teamid, s.stint, gamesplayed
    FROM players p LEFT OUTER JOIN scoring s ON p.playerid = s.playerid AND p.firstnhl = s.year AND s.position = 'G'
    WHERE p.firstnhl = 2011 AND s.gamesplayed IS NOT NULL
    ORDER BY LASTNAME,FIRSTNAME,TEAMID;
图像
守门员查询的结果

图10:守门员查询的结果

使用系统架构发现数据库信息

我们一直使用Nuodb SQL客户端连接到我们的数据库。让我们了解如何获取有关这些交易的更多信息以及它们是如何发生的。为此,我们可以使用SQL命令查询 在系统模式中找到的表

接下来的几个命令产生很难读取的长线。首先,告诉 nuosql. 垂直输出数据(此命令是唯一的 nuosql.,如果您使用的是使用不同的SQL工具跳过此步骤):


SQL > set output vertical;

现在查询......

这问了这一点 user.hockey 表格为前三个名称和位置,并添加了使用内置查询的TE的ID getnodeid() function.


SQL > select name, position, getnodeid() as te from user.hockey limit 3;
图像
显示TE节点

图11:显示TE节点

这是一个命令,它呈现有关数据库所有当前连接的信息。


SQL > select * from system.connections;
图像
显示系统连接

图12:显示系统连接

您还可以显示有关数据库中每个TE和SM进程的信息。每一行 SYSTEM.NODES 表表示一个过程。

大多数Nuodb用户没有DBA权限,通常不能使用 nuocmd,所以以下是一个很好的替代方案 nuocmd show domain 看到有多少短信和TES正在运行。


SQL >  select * from system.nodes;
图像
显示数据库节点进程

图13:显示数据库节点(进程)

注意有一个 贮存 节点(se)和一个 交易 node (the TE).

我们现在有三个诺福布进程运行:

  • 一个AP(管理流程Nuoadmin)侦听端口48004,48005和8888
  • 一个SM聆听端口48006 - 节点ID = 1
  • 侦听端口48007 - node-id = 2

请记住,TE有节点ID 2。

辞职 nuosql. for now.

 

第5步:连接一个简单的Java客户端,并发现Nuodb如何弹性地缩放并重新缩小

既然我们有一个填充的NOODB数据库,我们希望了解应用程序如何与数据库交互,以及在添加TES时如何更改。首先,我们需要构建和运行该应用程序。

下载gettingstarted项目

We’ll be using this simple Java application called 得到Started.java, available in the NuodB样本GitHub存储库.

程序在多个线程中运行一个循环中的SQL查询。每个线程都将自己的连接到Nuodb并运行其查询100次。应用程序在默认情况下停止1s,但您可以使用 -time 指定不同的时间(以秒为单位)。

Create a new folder somewhere convenient for the repository, then download and navigate to where the 得到Started.java file is located.

git clone //github.com/nuodb/nuodb-samples.git

  • 如果你没有 git 安装了,使用您喜欢的浏览器打开 //github.com/nuodb/nuodb-samples。点击“克隆或下载“按钮,然后选择”下载zip.。“在方便的地方解压缩zip文件。

确保 nuodb-samples/GettingStarted 是您当前的目录。 

编译并运行应用程序

该应用程序使用Maven Build,但Maven用代码打包,并通过方便脚本隐藏:

  • Linux.: 更新权限并运行脚本以构建和运行程序。 
    • chmod u+x *.sh
    • ./build.sh
    • ./run.sh
  • 视窗: 运行脚本以构建和运行程序。
    • build.bat
    • run.bat

笔记: 编辑 run.sh 或者 run.bat 如果您没有使用建议的DB名称,用户和/或密码。

运行该程序时,它将报告Nuodb中每个线程(任务)的哪个TE已连接到以执行SQL命令。您可以看到,当NOODB包含一个SM和ONE TE时,它将始终连接到单个TE(调用 TE 2 因为,如果你回忆,2是它的节点ID)。

图像
入门显示它正在使用的te

图14:入门显示它正在使用的te

重新运真 nuocmd show domain。我们有一个TE和一个在我们的主机上运行的SM(server0.)。注意输出包括它们的节点ID和它们的start-id:

图像
域节点ID

图15:域节点I​​D

节点ID 在报告时非常有用(例如在上面的应用程序中)。

启动ID. 使用时很有用 nuocmd (see below).

让我们开始两个TES。运行以下命令两次:

nuocmd start process --db-name testdb --server-id server0 --engine-type TE

注意我们是指定的 server0.,所以他们都会开始这台机器。

现在运行 nuocmd show domain 再次。注意有三个TES运行,每个TES都有不同的 节点ID.:2,3和4.一旦创建了发动机(TE或SM),我们可以通过其独特地提到它 启动ID.。开始ID永远不会重复使用,所以下次我们运行一个新引擎它将具有启动ID 4。

图像
域名有三个TES

图16:具有三个特色的域

跑过 得到Started.java 再次编程。这一次,我们看到Nuodb在所有TES(节点2,3,4)中均匀地分配SQL命令执行,使用“循环”方法传播负载。

图像
入门显示多个TES

图17:入门显示多个TES

通过此扩展输出部署,处理负载遍布所有可用的交易引擎。

杀死TE - 申请继续不间断

使用Nuodb,您可以扩展并缩放您的进程,不会对应用程序中断。我们现在试试。此示例更复杂,并并行使用两个终端/命令窗口 所以在执行之前,请先阅读本节的说明,所以你知道你必须做些什么。

  1. 您需要运行第二个终端/命令窗口。这样, 然后返回原始窗口。
  2. 直接从命令行运行应用程序。设定 time 选项连续运行应用程序30秒。
    • Linux.:   ./run.sh -time 30
    • 视窗: run -time 30
  3. 当程序正在运行时,在第二个终端/命令窗口中关闭TE进程,基本上缩放了我们的Nuodb部署。在此示例中,我们通过指定其启动ID(2)关闭TE#3:

    nuocmd shutdown process --start-id 2

    默认情况下,Nuodb将执行更好的进程关闭,允许它完成其运行的任何查询。
    图像
    关闭过程
  4. 关闭过程后,您可以返回运行程序的第一个终端/命令窗口,并检查其如何处理TE 3的丢失。

    当客户端线程(任务)试图与其分配的TE通信时,NOODB将生成瞬态异常 - 现在关闭的TE。但是,一旦客户端进程重试请求,Nuodb只需将客户端线程连接到另一个,仍在运行,TES中的一个。另请注意,未连接到TE的客户线程,我们关闭继续处理,不会损失服务。

    您可以看到,一旦受影响的客户线程重新连接到正在运行的TE,就会继续完成所有事务而不会中断。
    图像
    服务继续不断中断
    使用传统的单片数据库(例如Oracle,SQLServer或MySQL),客户端通常必须将连接错误视为致命的。但是,对于NuodB,许多这些错误是瞬态的,并且可以重试交易。只要NOODB数据库中有可用性的TE,那么随后使用新连接的重试就会成功。

结论

在本文中,我们已安装Nuodb,分配了数据库存档,并运行管理它的进程。我们使用原始SQL和Java应用程序锻炼了我们的数据库。

最重要的是,我们还显示了在缩放特斯数量以及客户端应用程序如何恢复并继续丢失数据时如何共享客户负载,并且当其中一个特色故意关闭时,无需丢失数据。这种响应性可伸缩性表明,即使在硬件,网络和其他故障情况下,Nuodb如何提供持续可用性。 

For simplicity we’ve deployed all processes on a single machine. However, if we had a more demanding application than our simple 得到Started.java program, running all processes on a single machine would limit performance in terms of workload throughput, processing power, and storage capacity.

什么时候 Nuodb. 部署在多个主机(每个引擎中的一个),应用程序性能可以显着提高。

但是,那 社区版本 有一个限制。如果我们重复上次测试,但是关闭SM,应用程序 失败,因为没有第二个SM来接管。 NOODB企业版 删除此限制,允许您可能需要的尽可能多的TES和SMS。

如果您想与我们的团队与企业许可交谈,请告知我们 - 我们很乐意 安排时间讨论它

在推特上关注我们 @nuodb. 并注册 Nuodb博客RSS Feed!

 

骗子

以下是前面提到的额外有用命令。

视窗用户

安装 OpenJDK. Java:

  • //www.azul.com/downloads/zulu
  • 输入您需要的 - 1) Java 8 和 2) 视窗
  • 确保挑选 jdk. (不是JRE)和 64位版本 (通常是唯一的 MSI option)
  • 一旦下载,通常以通常的方式运行安装程序
  • 确保Java在路径中(运行 java -version in a command window)
  • 确保 JAVA_HOME 在您的环境中设置(见 这里 用于设置Windows环境变量的方法)

安装python:

  • //www.python.org/downloads/release/python-2714
  • 下载64位msi
  • 以通常的方式运行安装程序
  • 确保python在路径上 - run python --version in a command window
  • 添加请求库。假设您将Python安装到默认位置,请运行: c:\Python27\Scripts\pip install requests

检查if. nuadmin 正在运行,查看服务面板或运行

  • net start | findstr Nuo

服务 nuoagent.nuorestsvc 应该 不是 be running.

如果 nuadmin 正在运行但是 nuocmd 无法连接到它(你会得到一个 无法连接到端口8888 错误),尝试打开一个 CMD 作为管理员的窗口,然后使用以下方式停止并启动服务:

  • net stop
  • net start "Nuodb. Admin"

Linux.用户

你的操作系统版本是什么?

  • CentOS / RHEL: hostnamectl 或者 cat /etc/*elease
  • Ubuntu / Debian: lsb_release -a

使用Bash Shell:

得到 wget:

  • sudo apt-get install wget
  • sudo yum install wget

安装OpenJDK Java:

  • CentOS:
    • sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
  • Ubuntu / Debian.
    • sudo apt update
    • sudo apt install openjdk-8-jdk-headless
  • CentOS / Ubuntu:如果安装了多个Java
    • 跑步 sudo alternatives --config java
    • 出现提示时,输入号码以选择合适的版本

Python通常预先安装在Linux中 - 确保它是V2.7而不是V3。如有必要,您应该能够使用它 yum 或者 apt-get。如果没有,您可以从中下载源 Python 网站或您需要在特定平台上为Python进行互联网搜索以查找预先构建的安装程序。

安装Nuodb(哪里 XXX 是版本号):

  • CentOS / RHEL: sudo rpm -i nuodb-ce-XXX.x86_64.rpm
  • Ubuntu / Debian: sudo dpkg -i nuodb-ce-XXX.x86_64.deb

运行nuoadmin.

  • sudo vi /etc/nuodb/nuoadmin.conf - 改变 sslfalse
  • sudo service nuoadmin start

检查使用 ps:


>$ ps -ef | grep nuo
nuodb     3976     1 30 13:16 ?        00:00:11 /usr/lib/jvm/java-1.8.0-openjdk.x86_64/bin/java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/nuodb/crash -Xmx500m -jar /opt/nuodb/jar/nuoadmin.jar
ec2-user  4064  3609  0 13:17 pts/0    00:00:00 grep --color=auto nuo

这篇文章最初发布于2017年1月31日,但已修改和更新。