随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库在处理关系运算上显得越来越力不从心。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,亟需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。
为尚志等地区用户提供了全套网页设计制作服务,及尚志网站建设行业解决方案。主营业务为成都做网站、网站制作、尚志网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
当前图数据库的种类也已经有很多,本文介绍的是原生类的代表之一的orientdb(另一个代表是neo4j)的部署,以便为后续的使用做好准备。
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/。
企业版处理步骤:
tar -zxvf orientdb-enterprise-2.2.37.tar.gz
ln -s orientdb-enterprise-2.2.37 orientdb
chown -R orientdb:orientdb orientdb/
tar -zxvf orientdb-3.0.10.tar.gz
社区版处理步骤:
与企业版不同的是如果下载的为社区版需将agent jar下载下来并拷贝至plugins目录下:
# 创建软连接 以便后续升级使用
ln -s orientdb-3.0.10 orientdb
# 授权
chown -R orientdb:orientdb orientdb/
# 如果是下载的为社区版需将企业版agent jar包拷贝至plugins目录下
cp agent-3.0.10.jar orientdb/ plugins
ORIENTDB_DIR="/usr/local/orientdb"
ORIENTDB_USER="orientdb"
User=orientdb
Group=orientdb
ExecStart=$ORIENTDB_HOME/bin/server.sh
首次启动数据库使用server.sh,并在启动过程中提示配置root账号密码,如首次不采用此方式启动,则会随机生成root账号的密码。因此单实例启动时建议用该方式启动。
./server.sh
首次启动后会在databases目录下生成OSystem,如果该目录属主不是orientdb则需要手动修改为orientdb,否则下次启动时异常(报没有权限操作OSystem目录的错误)
# 启动
./orientdb.sh start
# 状态
./orientdb.sh status
# 关闭
./orientdb.sh stop
./console.sh
分布式部署前几步操作同单实例情况(3.1-3.3),但后续操作不同。
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
ORIENTDB_DIR="/usr/local/orientdb"
ORIENTDB_USER="orientdb"
User=orientdb
Group=orientdb
ExecStart=$ORIENTDB_HOME/bin/server.sh
分布式部署的首次初始化启动数据库使用dserver.sh,并在启动过程中提示配置root账号密码,以及节点名称,节点名称在后续操作中需要用到。
./dserver.sh
配置TCP / IP模式机制,并添加对应节点信息,修改后主要配置信息如下:
clusterName
clusterPassword
. . .
2434
235.1.1.1
2434
your_master_server_ip_1
your_master_server_ip_2
your_replica_server_ip
其中部分标签的含义如下:
其中NodeName参数的值是在第3.4步中配置的节点名。
. . .
. . .
默认配置全部节点均为主节点,如配置其中部分节点为副本,则修改为如下情况。
其中新增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 :用于指定集群中节点的角色(主节点或副本节点)。默认情况下,使用星号*表示服务器中的所有节点都是主节点。因为我们打算构建一个包含两个主器件和一个副本的集群,所以我们将通过指定每个节点的名称和集群中的角色来修改此参数进行匹配。
启动时,注意启动顺序。启动的第一个服务器(即第一个加入集群)成为协调服务器 ,这是分布式操作启动的地方。如果希望特定服务器具有此角色,先启动该角色
./orientdb.sh start
所有节点启动完毕后,日志中将有如下信息,其中含有主节点、副本集信息
至此,OrientDB的单节点及分部署部署均已完成 。
文章标题:一种支持海量复杂数据关系运算的数据库—图数据库部署简介
转载来于:http://www.csdahua.cn/qtweb/news33/296783.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网