OrientDB部署
1. 环境准备
操作系统: Centos6.8
内存: 8G(分布式部署时建议4G及以上,否则需要手动修改JVM配置)
JDK: 建议jdk8版本(3.0版本要求jdk8)
环境变量:需配置JAVA_HOME、ORIENTDB_HOME (配置文件中有用到)
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export ORIENTDB_HOME=/usr/local/orientdb
export PATH=$PATH:$ORIENTDB_HOME/bin
创建orientdb用户
# groupadd orientdb
# useradd -r -g orientdb orientdb
OrientDB安装包下载:官网地址https://orientdb.com/
2. 单实例部署
2.1 解压数据库安装包,并授权
tar -zxvf orientdb-enterprise-2.2..tar.gz
ln -s orientdb-enterprise-2.2.37 orientdb
chown -R orientdb:orientdb orientdb/
如果是下载的为社区版需将企业版agent jar包拷贝至plugins目录下
tar -zxvf orientdb-3.0..tar.gz ln -s orientdb-3.0. orientdb
chown -R orientdb:orientdb orientdb/
cp agent-3.0..jar orientdb/ plugins
2.2 修改bin目录下orientdb.sh
ORIENTDB_DIR="/usr/local/orientdb" ORIENTDB_USER="orientdb"
2.3 修改bin目录下orientdb.service
User=orientdb Group=orientdb ExecStart=$ORIENTDB_HOME/bin/server.sh
2.4 首次启动数据库使用server.sh,并在启动过程中提示配置root账号密码,如首次不采用此方式启动,则会随机生成root账号的密码。因此单实例启动时建议用该方式启动。
./server.sh
2.5 首次启动后会在databases目录下生成OSystem,如果该目录属主不是orientdb则需要手动修改为orientdb,否则下次启动时异常(报没有权限操作OSystem目录的错误)
2.6 启动、关闭服务(也可以复制到/etc/init.d目录下,做成服务)
./orientdb.sh start ./orientdb.sh status ./orientdb.sh stop
2.7. 进入控制台,进行数据库交互
./console.sh
3. 分布式部署
分布式部署前几步操作同单实例情况(3.1-3.3),但后续操作不同
3.1 解压数据库安装包
tar -zxvf orientdb-enterprise-2.2.37.tar.gz
如果是下载的为社区版需将企业版agent jar包拷贝至plugins目录下
tar -zxvf orientdb-3.0.10.tar.gz ln -s orientdb-3.0.10 orientdb cp agent-3.0.10.jar orientdb/ plugins
3.2 修改bin目录下orientdb.sh
ORIENTDB_DIR="/usr/local/orientdb" ORIENTDB_USER="orientdb"
3.3 修改bin目录下orientdb.service
User=orientdb Group=orientdb ExecStart=$ORIENTDB_HOME/bin/server.sh
3.4 首次初始化启动数据库使用dserver.sh,并在启动过程中提示配置root账号密码,以及节点名称,节点名称在后续操作中需要用到
./dserver.sh
3.5 修改hazelcast.xml文件
配置TCP / IP模式机制,并添加对应节点信息,修改后主要配置信息如下:
<group> <name>clusterName</name> <password>clusterPassword</password> </group> <properties> . . . </properties> <network> <port auto-increment="false">2434</port> <join> <multicast enabled="false"> <multicast-group>235.1.1.1</multicast-group> <multicast-port>2434</multicast-port> </multicast> <tcp-ip enabled="true"> <member>your_master_server_ip_1</member> <member>your_master_server_ip_2</member> <member>your_replica_server_ip</member> </tcp-ip> </join> </network>
其中部分标签的含义如下:
group> name :此元素定义集群的名称。 你可以选择任何你喜欢的东西
group> password :定义用于加密每个成员发送的广播消息加入群集的密码。 在这里选择一个强大的密码。
network> port :标识用于自动发现节点的端口。 auto-increment属性指示机制从定义的端口开始,如果该端口正在使用,则继续尝试其他端口。 通过将其设置为false,定义的端口将用于通信,如果端口已在使用中,则节点发现将失败。 对于本文,该属性将被禁用。
join>组播元素用于定义IP组播参数。 您将不会使用IP多播,因此我们将忽略它们。 这意味着我们将enabled属性设置为false。
join> tcp-ip :用于定义与TCP / IP集群相关的参数。 enabled属性用于启用它。
join> tcp-ip> member :定义集群的每个成员。 还有其他方法来指定每个成员,但是我们将坚持指定每个成员的IP地址(每行一个)。
3.6 修改orientdb-server-config.xml文件
其中NodeName参数的值是在第3.4步中配置的节点名
. . . <handler class="com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin"> <parameters> <parameter value="true" name="enabled"/> <parameter value="${ORIENTDB_HOME}/config/default-distributed-db-config.json" na$ <parameter value="${ORIENTDB_HOME}/config/hazelcast.xml" name="configuration.haz$ <parameter value="orientdb_server_name_1" name="nodeName"/> </parameters> </handler> . . .
3.7 修改default-distributed-db-config.json文件
默认配置全部节点均为主节点,如配置其中部分节点为副本,则修改为如下情况,
其中新增replication ,hotAlignment
{ "replication": true, "hotAlignment" : true, "autoDeploy": true, "readQuorum": 1, "writeQuorum": "majority", "executionMode": "undefined", "readYourWrites": true, "newNodeStrategy": "static", "servers": { "orientdb_server_name_1": "master", "orientdb_server_name_2": "master", "orientdb_server_name_3": "replica" }, ... }
autoDeploy :指定是否将数据库部署到集群中尚未拥有的新节点。
readQuorum :在读取操作上回复客户端之前需要一致的集群节点的响应次数。 将其设置为“1”将禁用读取一致性。
writeQuorum :在写入操作时,在向客户端发送回复之前需要响应多少个节点。 默认值为多数 ,它使用(N / 2)+ 1计算 ,其中N是集群中可用主节点的数量。 在计算大多数时,不考虑复制节点。 如果在仅具有两个主节点的群集中保留默认值,则如果其中一个节点关闭,则法定人数将永远不会形成。
executionMode :定义客户端的执行模式 - 同步或异步。 默认值允许客户端决定。
readYourWrites :指定节点的响应是否计数达到写入定额。
newNodeStrategy :当新节点加入集群时会发生什么。 使用默认值,节点将自动注册在服务器列表下。
hotAlignment :指定如果节点关闭然后重新联机,会发生什么。 如果启用,则当节点脱机时,同步消息将保留在分布式队列中。 当它回到在线时,通过轮询队列中的所有同步消息来启动同步阶段。
servers :用于指定集群中节点的角色(主节点或副本节点)。 默认情况下,使用星号*表示服务器中的所有节点都是主节点。 因为我们打算构建一个包含两个主器件和一个副本的集群,所以我们将通过指定每个节点的名称和集群中的角色来修改此参数进行匹配。
3.8启动各节点服务
启动时,注意启动顺序。启动的第一个服务器(即第一个加入集群)成为协调服务器 ,这是分布式操作启动的地方。 如果希望特定服务器具有此角色,先启动该角色
./orientdb.sh start
所有节点启动完毕后,日志中将有如下信息,其中含有主节点、副本集信息
耿小厨已开通个人微信公众号,想进一步沟通或想了解其他文章的同学可以关注我
OrientDB部署的更多相关文章
- 部署维护docker环境
其实前面已经用salt,安装部署了docker应用环境了,过程中还是遇到了不少问题,所以这里再相对仔细的记录一下,docker手机安装过程应注意的事情 安装过程部分参考了刘天斯大师文档部署 1,安装环 ...
- [原]CentOS7.2部署node-mapnik
转载请注明表作者think8848及出处(http://think8848.cnblogs.com) node-mapnik依赖项中要求g++ >= 5, toolchain (>= GL ...
- 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus
最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...
- 通过Jexus 部署 dotnetcore版本MusicStore 示例程序
ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...
- 4.Windows Server2012 R2里面部署 MVC 的网站
网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/4822808.html#iis 后期会在博客首发更新:http://dnt ...
- Win10 IIS本地部署MVC网站时不能运行?
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 部署后出现这个错误: 打开文件目录后发现是可以看见目录的,静态页面也是可以打开的 ...
- 再部署一个 instance 和 Local Network - 每天5分钟玩转 OpenStack(131)
上一节部署了 cirros-vm1 到 first_local_net,今天我们将再部署 cirros-vm2 到同一网络,并创建 second_local_net. 连接第二个 instance 到 ...
- 将 instance 部署到 OVS Local Network - 每天5分钟玩转 OpenStack(130)
上一节创建了 OVS 本地网络 first_local_net,今天我们会部署一个 instance 到该网络并分析网络结构.launch 一个 instance,选择 first_local_net ...
随机推荐
- HTTP协议(持续更新)
http请求由三部分组成,分别是:请求行.消息报头.请求正文 HTTP(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接 ...
- Linux 下载百度网盘大文件
Linux 下没有百度网盘客户端,用浏览器下载速度慢得急死人 鼠标移到链接处, 右键, 然后复制链接 接着在终端里输入 axel -n 50 -o filename.ext “粘贴链接到此处” axe ...
- [翻译] NimbusKit
注意:NimbusKit 是Github上iOS部分开源库排名前20中的一员. http://nimbuskit.info/ https://github.com/jverkoey/nimbus ht ...
- echarts tooltip太多会超出显示范围-解决
以下两种解决方式,能够应对大部分出现此类问题项目 tooltip.position: 提示框浮层的位置,默认不设置时位置会跟随鼠标的位置. 可选:string, Array, Function 一.解 ...
- 跳舞玩偶Doll正式上线
有问题或者建议大家可以联系我的QQ 914287516 或者qq邮箱 官方qq群 325631077:
- easyui学习笔记1—增删改操作
最近公司要用easyui,这里自己看了官网几篇文章,遇到些问题,大多数的问题都是敲代码的时候笔误,其他有些地方确实需要注意一下,这里做些笔记. 1.在mysql中建好表之后修改id字段为递增字段,发现 ...
- ZT 3.1 依赖倒置原则的定义
设计模式精解-GoF 23 种设计模式解析附 C++实现源码http://www.mscenter.edu.cn/blog/k_eckelP58 Template 模式获得一种反向控制结构效果,这也是 ...
- Linux 系统查看tomcat控制台命令
前提进入tomcat/logs文件夹下 查看全部命令是:tail -f catalina.out 如果想查看具体文件的日志进入该文件所在目录然后命令如下: tail -f filename
- JAVA串口开发帮助类分享-及写在马年末
摘要: 在系统集成开发过程中,存在着各式的传输途径,其中串口经常因其安全性高获得了数据安全传输的重用,通过串口传输可以从硬件上保证数据传输的单向性,这是其它介质所不具备的物理条件.下面我就串口java ...
- Codeforces Round #437 (Div. 2)[A、B、C、E]
Codeforces Round #437 (Div. 2) codeforces 867 A. Between the Offices(水) 题意:已知白天所在地(晚上可能坐飞机飞往异地),问是否从 ...