linux中2024新版virtuoso安装的详细步骤

前言

Virtuoso 是一个高性能的多模型数据库,支持关系型、文档型、图形型和RDF数据库操作。随着时间的推移,Virtuoso 数据库不断更新,尤其是2024年发布的新版本,带来了许多新特性和改进。本文将详细介绍如何在 Linux 环境下安装最新版的 Virtuoso 数据库。

1 virtuoso的选择和下载

1.1  virtuoso版本介绍

截止到目前(2024年9月),virtuoso的最新版本是7.2.13,可以通过https://sourceforge.net/projects/virtuoso/files/virtuoso/这个网址看到virtuoso的历史版本,其中7.2.13版本是2024年6月份发布的。

最新版本的virtuoso有针对不同操作系统的,如下图

我们采用的系统是centos,选取的virtuoso是virtuoso-opensource-7.2.13.tar.gz。

1.2 下载解压文件

Virtuoso可以安装到/usr/local目录,在/usr/local目录下新建virtuoso文件夹。

[root@flexusx-e724 local]# cd /usr/local[root@flexusx-e724 local]# mkdir virtuoso[root@flexusx-e724 local]# cd virtuoso/

在virtuoso目录下,用wget命令下载virtuoso-opensource-7.2.13.tar.gz压缩文件。

​
[root@flexusx-e724 virtuoso]# wget https://sourceforge.net/projects/virtuoso/files/virtuoso/7.2.13/virtuoso-opensource-7.2.13.tar.gz

解压文件

[root@flexusx-e724 local]# tar -zxvf virtuoso-opensource-7.2.13.tar.gz

切换到解压后的virtuoso-opensource-7.2.13目录

[root@flexusx-e724 virtuoso]# cd virtuoso-opensource-7.2.13

2 配置编译安装过程

我们将virtuoso-opensource-7.2.13.tar.gz下载到/usr/local/virtuoso目录,解压后进行编译安装,由于每个系统默认安装的依赖,插件各不相同,我们编译安装virtuoso采用直接进行编译安装,根据报错信息查看缺少的依赖,再安装依赖,然后重复编译安装,不断重复上面的过程,一直到没有报错,安装成功为止。

以下是详细安装步骤

2.1 ./configure进行配置

[root@flexusx-e724 virtuoso-opensource-7.2.13]# ./configurechecking OpenSSL version... configure: error: OpenSSL version 0.9.8e or greater is required.

上面的报错是缺少了OpenSSL,需要安装openssl依赖

[root@flexusx-e724 virtuoso-opensource-7.2.13]# yum install openssl-devel

openssl安装完成后,再次配置

[root@flexusx-e724 virtuoso-opensource-7.2.13]# ./configure

配置完成。

2.2 make构建编译

[root@flexusx-e724 virtuoso-opensource-7.2.13]# make
* WARNING *: You should have the yacc program installed on your system.Please check the INSTALL and README files for packagedependencies, recommended versions and operating system dependentinstructions to build and install Virtuoso on your system.However since the file jsonld_p.c exists on your systemwe will try to use it, but all changes you made to the underlyingsource files will be ignored.Please rerun 'make'make[2]: *** [Makefile:3835: jsonld_p.h] Error 1make[2]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/libsrc/Wi'make[1]: *** [Makefile:506: all-recursive] Error 1make[1]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/libsrc'make: *** [Makefile:702: all-recursive] Error 1

从上面的报错信息,可以看出系统缺少了yacc依赖,所以需要安装yacc依赖。

[root@flexusx-e724 virtuoso-opensource-7.2.13]# yum install byacc -y

Yacc依赖安装完成后,再次进行构建

[root@flexusx-e724 virtuoso-opensource-7.2.13]# make
WARNING: 'flex' is missing on your system.You should only need it if you modified a '.l' file.You may want to install the Fast Lexical Analyzer package:<https://github.com/westes/flex>make[2]: *** [Makefile:911: graphql_l.c] Error 127make[2]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/binsrc/graphql'make[1]: *** [Makefile:502: all-recursive] Error 1make[1]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/binsrc'make: *** [Makefile:702: all-recursive] Error 1

再次报错,缺少了flex依赖,继续安装flex依赖

[root@flexusx-e724 virtuoso-opensource-7.2.13]# yum install flex

安装完成后,再次make构建

[root@flexusx-e724 virtuoso-opensource-7.2.13]# make

没有报错,构建成功

2.3 make install安装

[root@flexusx-e724 virtuoso-opensource-7.2.13]# make install

命令make install运行后,花费的时间会比较长,大概有5-6分钟,需要耐心等待。

信息一直在屏幕上滚动,没有信息滚动,说明安装完成,也没有报错,说明安装成功。

See any operating system documentation about shared libraries formore information, such as the ld(1) and ld.so(8) manual pages.----------------------------------------------------------------------make[5]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc/ODS-Wiki/plugin'make[4]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc/ODS-Wiki/plugin'make[3]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc/ODS-Wiki/plugin'make[3]: Entering directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc/ODS-Wiki'make[4]: Entering directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc/ODS-Wiki'make[4]: Nothing to be done for 'install-exec-am'.make[4]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc/ODS-Wiki'make[3]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc/ODS-Wiki'make[2]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc/ODS-Wiki'make[2]: Entering directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc'make[3]: Entering directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc'make[3]: Nothing to be done for 'install-exec-am'.make[3]: Nothing to be done for 'install-data-am'.make[3]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc'make[2]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc'make[1]: Leaving directory '/usr/local/virtuoso/virtuoso-opensource-7.2.13/appsrc'

3 配置virtuoso数据库

安装完成后,需要对 Virtuoso 进行一些基础配置。

3.1 virtuoso配置文件virtuoso.ini

Virtuoso会将程序自动安装到/usr/local/virtuoso-opensource目录下,其中配置文件virtuoso.ini位于/usr/local/virtuoso-opensource/var/lib/virtuoso/db目录。

以下是virtuoso配置文件的部分参数及说明

[Database] 部分:

DatabaseFile:数据库文件路径。

NumberOfBuffers 和 MaxDirtyBuffers:影响内存缓存,适合设置为服务器内存的 50-70%。

CheckpointInterval:控制检查点的时间间隔,默认 60 秒。

[Parameters] 部分:

ServerPort 和 HTTPPort:数据库和 Web 控制台端口。

ThreadsPerQuery:查询并发线程数,根据 CPU 核数调整。

[SPARQL] 部分:

ResultSetMaxRows 和 MaxQueryExecutionTime:控制查询结果集大小和执行时间。

配置应根据系统性能和需求进行优化。

3.2 放开端口8890和1111

默认情况下,virtuoso有两个端口,一个server的api端口,1111,一个是http端口,8890,如果想要正常访问virtuoso数据库,需要将这两个端口开放。

开放端口涉及到两个层面,一个是系统层面,如果使用的是centos操作系统,使用命令

firewall-cmd --zone=public --add-port=8890/tcp –permanentfirewall-cmd --zone=public --add-port=1111/tcp –permanent

放开防火墙对两个端口的限制。

一个是服务器层面,需要在供应商提供的安全管理页面进行设置,一般是安全组设置,在入站规则中,放开这两个端口。

4 运行virtuoso

 [root@flexusx-e724 bin]# nohup /usr/local/virtuoso-opensource/bin/virtuoso-t -fd +configfile /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.ini &

这个命令在后台启动 Virtuoso 数据库,并指定使用特定的配置文件。以下是各个部分的解释:

nohup:命令前缀,表示忽略挂断信号(SIGHUP),即使关闭终端,进程也会继续运行。nohup 的输出通常会保存到 nohup.out 文件中,除非指定了其他输出文件。

/usr/local/virtuoso-opensource/bin/virtuoso-t:这是 Virtuoso 数据库的主可执行文件,virtuoso-t 是 Virtuoso 数据库服务器的启动程序。

-fd:表示前台运行服务器并显示调试输出,但这里使用了 nohup 将其推到后台。

+configfile /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.ini:指定 Virtuoso 数据库使用的配置文件路径。这里明确告知数据库使用位于 /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.ini 的配置文件。

&:将命令放到后台运行,允许继续使用当前终端窗口进行其他操作。

通过ps命令,查看启动情况

[root@flexusx-e724 bin]# ps aux|grep virtuosoroot      596231 12.9 35.8 9726432 4334636 pts/0 Sl   11:04   0:02 /usr/local/virtuoso-opensource/bin/virtuoso-t -fd +configfile /usr/local/virtuoso-opensource/var/libvirtuoso/db/virtuoso.iniroot      596253  0.0  0.0  22112  2108 pts/0    S+   11:04   0:00 grep --color=auto virtuoso

说明virtuoso启动成功。

5 测试连接

5.1 使用isql测试连接

使用 `isql` 客户端来测试数据库连接。默认用户名和密码分别是 `dba` 和 `dba`。

/usr/local/virtuoso-opensource/bin/isql 1111 dba dba

你将进入 Virtuoso 命令行界面,尝试运行 SQL 命令测试是否正常工作:

SELECT * FROM DB.DBA.SYS_USERS;

如果返回用户表的内容,则表示 Virtuoso 已成功安装并正在运行。

5.2 web登录测试

然后在浏览器中输入,服务器IP:8890,进行访问测试,如果出现web页面,没有报错。

则说明virtuoso安装成功,也能够正常访问了。

总结

2024年新版的 Virtuoso 在性能和功能上都有所提升。本文详细介绍了如何在 Linux 中安装 Virtuoso 数据库,包括依赖安装、编译、配置和优化等内容。通过这些步骤,你可以成功部署 Virtuoso 并根据实际需要进行调整和优化。Virtuoso 的多功能性使它适用于各种场景,如 RDF 数据处理、SPARQL 查询、以及传统的关系型数据库应用。在实际使用中,根据系统性能和业务需求对 Virtuoso 进行定期的优化,将确保数据库能够以最佳状态运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/421309.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ISP面试准备2

系列文章目录 文章目录 系列文章目录前言一.如何评价图像质量&#xff1f;二.引起图像噪声的原因三. ISP3.1 ISP Pipeline主要模块3.1.1坏点校正&#xff08;Defect Pixel Correction, DPC&#xff09;3.1.2黑电平校正&#xff08;Black Level Correction, BLC&#xff09;3.1.…

形式向好、成本较低、可拓展性较高的名厨亮灶开源了。

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;减少企业级应用约 95%的开发成本&#xff0c;在强大视频算法加…

论文速读|形机器人的高速和抗冲击远程操作

论文地址&#xff1a;https://arxiv.org/pdf/2409.04639 本文提出了一种综合解决方案&#xff0c;用于远程控制类人机器人&#xff0c;实现了高速度和冲击抵抗的操作。通过结合无校准的运动捕捉和重定标、低延迟全身运动流式传输工具箱和高带宽的摆线驱动器&#xff0c;显著提高…

别错过!一款你不能错过的轻量级拖拽库 `drag-kit`

在开发过程中&#xff0c;如何让UI元素自由拖拽&#xff0c;是许多前端工程师面临的常见问题。尤其在构建复杂的用户交互界面时&#xff0c;能够提供灵活、便捷的拖拽功能显得尤为重要。今天我们就来深入解析一款轻量级的拖拽库——drag-kit。它不仅功能涵盖多&#xff0c;而且…

开源 AI 智能名片 S2B2C 商城小程序中的全渠道供应策略

摘要&#xff1a;本文深入探讨在开源 AI 智能名片 S2B2C 商城小程序的情境下&#xff0c;全渠道供应的运行机制。阐述各环节企业相互配合的重要性&#xff0c;重点分析零售企业在其中的关键作用&#xff0c;包括协调工作、信息传递、需求把握等方面&#xff0c;旨在实现高效的全…

国家标准和行业标准有什么区别?如何办理国家标准?

在当今复杂多样的标准体系中&#xff0c;国家标准和行业标准犹如两颗璀璨的明珠&#xff0c;各自闪耀着独特的光芒&#xff0c;它们共同为经济社会的发展提供了坚实的技术支撑。然而&#xff0c;你是否真正了解这两者之间的区别呢&#xff1f; 一、制定主体 • 国家标准&#x…

多速率信号处理-Nobel恒等式

典型的插值器的结构&#xff0c;滤波器位于插值操作后&#xff0c;意味着滤波器工作在较高的采样率下&#xff0c;对滤波器的设计带来压力。可以通过恒等变换将插值操作后置&#xff0c;滤波器前置&#xff0c;简化系统的设计。 第一恒等式 表明抽取操作位于乘加操作之后和抽…

ABeam旗下德硕管理咨询(上海)荣获知识管理领域的专业奖项—2024 China MIKE 大奖

ABeam旗下德硕管理咨询&#xff08;上海&#xff09;荣获知识管理领域的专业奖项—2024 China MIKE 大奖 近日&#xff0c;备受业界瞩目的2024 China MIKE大奖揭晓&#xff0c;ABeam集团旗下德硕管理咨询&#xff08;上海&#xff09;有限公司凭借其优秀的知识管理体系与创新实…

计算机毕业设计选题推荐-班级管理系统-教务管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

SpringCloud微服务详细笔记(一):微服务介绍--微服务拆分--RestTemplate远程调用--Nacos注册中心

目录 1.认识微服务 1.1单体架构 1.2微服务 1.3SpringCloud 2.微服务拆分 2.1服务拆分原则 2.1.1什么时候拆&#xff1f; 2.1.2怎么拆&#xff1f; 2.2微服务项目结构&#xff1a; 2.3服务拆分示例&#xff1a; 2.4远程调用 2.4.1RestTemplate 2.4.2远程调用示例 …

MVC架构的JSP快速学习(一)

目录 服务相关配置 模型介绍 基础依赖 模型图(抽象) 项目结构 控制器编写 服务相关配置 1. Tomcat配置 http://t.csdnimg.cn/9rILV 2. Maven配置 http://t.csdnimg.cn/REKu9 3. Idea配置 tomcat maven 模型介绍 虽然JSP本身不强制使用MVC&#xff0c;但它通常与Serv…

21. Revit API: 几何对象(二)- Curve

上篇讲了Revit几何对象的类层次结构&#xff0c;讲了几何元素和几何实例&#xff0c;简单提到了Solid。 这一篇呢&#xff0c;就从构成Solid的边讲起。 一、Edge&#xff08;边&#xff09; Edge在Revit中就是用来表示边的&#xff0c;并且在各种表示几何结构的类中串门。 前…

封装一个 Vue 3 流程线可视化组件

这个组件展示了一系列带有节点和箭头连接的流程线&#xff0c;并具备不同风险等级的样式和动画效果&#xff0c;非常适合大屏展示项目。 功能概述 这个流程线组件具备以下功能&#xff1a; 动态渲染&#xff1a;根据传入的数据&#xff0c;组件可以自动生成节点和箭头。风险…

计算机网络(五) —— 自定义协议简单网络程序

目录 一&#xff0c;关于“协议” 1.1 结构化数据 1.2 序列化和反序列化 二&#xff0c;网络版计算器实现准备 2.1 套用旧头文件 2.2 封装sock API 三&#xff0c;自定义协议 3.1 关于自定义协议 3.2 实现序列化和反序列化 3.3 测试 三&#xff0c;服务器实现 3.1…

分享一个基于微信小程序的医院挂号就诊一体化平台uniapp医院辅助挂号应用小程序设计(源码、调试、LW、开题、PPT)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人 八年开发经验&#xff0c;擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等&#xff0c;大家有这一块的问题可以一起交流&…

NVD系列语音芯片在报警器中通常应用在哪些场景中

语音芯片在各类场景中应用的最大作用就是进行语音提示和警报提示。本文将对NVD系列语音芯片应用在报警器中的场景。 1.提升电动车的安全性 当电动车遭受震动或异常移动时&#xff0c;报警器会感应到并触发报警装置&#xff0c;通常是通过发出高分贝的声音警报来吸引人们的注意…

苹果iOS/ iPadOS18 RC 版、17.7 RC版更新发布

iPhone 16 / Pro 系列新机发布后&#xff0c;苹果一同推出了 iOS 18 和 iPadOS 18 的 RC 版本&#xff0c;iOS 18 RC 的内部版本号为22A3354&#xff0c;本次更新距离上次发布 Beta/RC 间隔 12 天。 在 iOS 18 中&#xff0c;苹果给我们带来了 Apple Intelligence&#xff0c;这…

如何在内网中与阿里云服务器进行文件传输?[2024详细版]

随着云计算发展&#xff0c;企业和个人选择将数据存储在云端&#xff0c;以提高数据的安全性和可访问性。阿里云作为国内领先的云服务提供商之一&#xff0c;提供了多种云产品和服务。其中&#xff0c;云服务器ECS&#xff08;Elastic Compute Service&#xff09;因其灵活性和…

VBA CSV数据拆分

1. Range.TextToColumns函数 Option ExplicitSub txt2Col()ActiveSheet.Range("A2").CopyActiveSheet.PasteSelection.TextToColumns DataType:xlDelimited, _ConsecutiveDelimiter:True, Comma:True End Sub 2. 效果 执行前 cccccc 执行后效果​ cccc 3. 参照 更…

Selenium自动化测试面试题合集!

1、什么是自动化测试、自动化测试的优势是什么&#xff1f; 通过工具或脚本代替手工测试执行过程的测试都叫自动化测试。 自动化测试的优势&#xff1a; 1、减少回归测试成本 2、减少兼容性测试成本 3、提高测试反馈速度 4、提高测试覆盖率 5、让测试工程师做更有意义的…