• centos系统中neo4j数据库和python环境部署


    最近因为项目需要,到了一个纯局域网环境中进行知识图谱构建。对于小规模数据,neo4j社区版能够满足基本的建模和查询需要(大规模数据需要商业版,或是选用其他开源分布式图数据库如nebula等)。本文主要介绍图数据库和python环境的部署过程和关键操作,以及一些遇到的问题。

    部署需求

    现状:手头有一台服务器,安装了centos系统,没有图形化界面。

    目标:服务器上建立图数据库,并且有python开发环境支持我们进行图数据库的构建的查询开发。

    主要思路:服务器没有图形化界面,作为开发环境不太合适,因此计划服务器上部署的neo4j和python能够被局域网远程机器所访问,在其他机器上通过浏览器进行neo4j的操作和python代码编写。考虑到机器在局域网中,后续的方案基本上都是通过离线下载,导入,本地编译或安装的方式进行。

    技术方案:neo4j+python+jupyter notebook

    系统现状

    系统版本查询

    cat /etc/redhat-release

    安装python版本

    python --version

    安装基本工具:

    yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel readline-devel sqlite-devel

    neo4j图数据库部署

    neo4j图数据库运行依赖于java-jdk,首先需要进行java-jdk部署.

    java-jdk版本取决于neo4j,对应关系不展开。本文使用的是neo4j 5.21.0+java-jdk 21的方案。

    java-jdk部署

    1.下载地址:Java Downloads | Oracle]

    2.迁移到服务器上

    3.解压缩到指定目录

    tar -zxvf jdk-版本号-linux-x64.tar.gz -C /opt/

    4.配置环境变量,让系统识别到:

    1. vi /etc/profile #打开环境配置文件,在文件最后插入以下内容
    2. # 以下是profile文件要添加内容
    3. export JAVA_HOME=/opt/jdk-版本号 #配置主地址
    4. export PATH=$PATH:$JAVA_HOME/bin #配置启动地址

    5.运行配置方案,让方案生效:

    source /etc/profile

    6.检查安装是否成功

    java -version

    neo4j部署

    1.下载:[Neo4j Deployment Center - Graph Database & Analytics]

    2.迁移到服务器上

    3.解压到指定目录

    tar xvf neo4j-community-3.5.26-unix.tar.gz -C /opt/

    4.修改配置,开放监听IP和端口,让远程服务器能够访问

    1. vi ./opt/neo4j-community/conf/neo4j.conf #路径自己修改,主要打开neo4j配置文件,在里面添加两句话
    2. #以下是neo4j.conf文档内添加内容
    3. dbms.connector.http.listen_address=0.0.0.0:7474 #添加http监听
    4. dbms.connector.bolt.listen_address=0.0.0.0:7687 #添加bolt连接监听

    5.在neo4j安装目录下的服务启动

    1. ./bin/neo4j start #启动neo4j
    2. ./bin/neo4j status #查看启动状态

    6.测试,在局域网其他机器打开http://服务器IP:7474,进入neo4j管理页面。

    首次进去初始账号和密码都是neo4j,进去后让你修改密码

    如果发现无法打开,在配置正确情况下,确认局域网互通且服务器防火墙配置。纠错这里不展开。

    python环境部署

    可以独立地安装python+jupyter,本次我直接安装了anaconda,里面包含了python和jupyter等一些工具,如果要轻量化部署则还是分开安装好些。

    anaconda部署

    1.下载,直接打开网址,或是使用命令,在其他机器下载后,迁移到服务器。

    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-1-Linux-x86_64.sh

    2.安装:

    bash Anaconda3-版本号-Linux-x86_64.sh

    3.配置环境变量,默认安装地址的话,一般会自动配置环境变量,但如果是自定义地址,还是自己配置下环境变量靠谱些。配置方案与jdk类似,需要添加的是这个。

    export PATH=/opt/anaconda3/bin:$PATH

    4.检查安装是否成功

    conda list

    jupyter配置

    1.检查jupyter是否安装成功了

    jupyter notebook --version

    2.生成配置文件

    jupyter notebook --generate-config
    

    命令会生成一个配置文件~/.jupyter/jupyter_notebook_config.py

    3.配置监听地址和端口,密码

    1. c.NotebookApp.ip = '*' #所有地址都监听
    2. c.NotebookApp.port = 8888 #监听端口
    3. c.NotebookApp.password = u'sha1:xxxxxxxxxxxxxxxxxxxxxx' #访问密码哈希值

    密码的生成使用需要在python环境内运行以下代码:

    1. from notebook.auth import passwd
    2. passwd()

    结果让你输入密码以及生成该密码的哈希值。

    4.启动服务

    jupyter notebook

    5.如果为了更安全,可以使用SSH端口转发(不一定)

    ssh -N -f -L localhost:xxxx:localhost:yyyy username@server_ip
    

    其中xxxx是本地端口,yyyy是服务器上Jupyter运行的端口(默认为8888)。

    在远程浏览器中打开http://服务器IP:8888,进入jupyter。

    如果进入成功,输入密码就可以远程进行代码编写和编译工作。

    如果无法打开,自己搜索,一般也是配置,网络和防火墙问题。

    neo4j python支持安装

    在python中操作neo4j需要安装对应的库,py2neo由于停止更新了,目前版本不支持最新的python版本,所以使用neo4j的python库。

    1.离线下载地址:[neo4j · PyPI]

    2.传输wheel文件:
    将下载的.whl文件复制到离线安装的目标机器上。

    3.使用pip进行离线安装:
    在目标机器上,使用pip安装这些wheel文件:

    pip install --no-index --find-links=file:///path/to/offline/wheels neo4j

    4.验证安装:
    安装完成后,使用以下命令验证Neo4j Python驱动程序是否安装成功:

    python -c "import neo4j"


     

  • 相关阅读:
    OpenVINS与MSCKF_VIO RK4积分对比
    Centos下载配置Maven
    alert、consloe、console.error、confirm、prompt
    免费书签管理工具:浏览器书签杂乱的整理方法
    8月19日PMP出成绩时间公布了!查询攻略请收好!
    latex Longtable使用指南-字体调节,与table不同
    前端src中图片img标签资源的几种写法?
    Rust依赖包下载慢的问题
    Qt编写物联网管理平台45-采集数据转发
    org.apache.commons.lang3.StringUtils工具类使用大全
  • 原文地址:https://blog.csdn.net/qq_23034515/article/details/140002135