前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Install neo4j

Install neo4j

作者头像
franket
发布于 2021-08-10 09:54:11
发布于 2021-08-10 09:54:11
78100
代码可运行
举报
文章被收录于专栏:技术杂记技术杂记
运行总次数:0
代码可运行

前言

neo4j 是一款开源的图式数据库

什么是图:

由节点与关系构成的集合

A graph is composed of two elements: a node and a relationship. Each node represents an entity (a person, place, thing, category or other piece of data), and each relationship represents how two nodes are associated. This general-purpose structure allows you to model all kinds of scenarios – from a system of roads, to a network of devices, to a population’s medical history or anything else defined by relationships

什么是图式数据库:

管理图元素 CRUD 的软件系统

A graph database is an online database management system with Create, Read, Update and Delete (CRUD) operations working on a graph data model

neo4j 是一款优秀的图式数据库

Neo4j is a highly scalable, robust, native graph database

根据图数据库处理的对象特性,就很容易知道它的应用场景,最常见的就是人物关系的数据管理

这里演示一下如何构建 neo4j

参考 Get Started

Tip: 当前的版本为 neo4j-community-3.4.0


操作

系统环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@h171 ~]# hostnamectl 
   Static hostname: h171
         Icon name: computer-vm
           Chassis: vm
        Machine ID: d46f9440d4be429ea66b726977adf233
           Boot ID: b285f5a2d43e4b02849c7b267e307993
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-862.2.3.el7.x86_64
      Architecture: x86-64
[root@h171 ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:c9:c7:04 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
       valid_lft 79729sec preferred_lft 79729sec
    inet6 fe80::5054:ff:fec9:c704/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:48:f4:2c brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.171/24 brd 192.168.56.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe48:f42c/64 scope link 
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:85:ac:18:8b brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:85ff:feac:188b/64 scope link 
       valid_lft forever preferred_lft forever
[root@h171 ~]# cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core) 
[root@h171 ~]# docker version
Client:
 Version:      18.03.1-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   9ee9f40
 Built:        Thu Apr 26 07:20:16 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.03.1-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   9ee9f40
  Built:        Thu Apr 26 07:23:58 2018
  OS/Arch:      linux/amd64
  Experimental: false
[root@h171 ~]# 

安装 neo4j

这里我准备直接使用 docker 安装

参考 Start an instance of neo4j

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@h171 ~]# docker run \
>     --publish=7474:7474 --publish=7687:7687 \
>     --volume=$HOME/neo4j/data:/data \
>     neo4j
Unable to find image 'neo4j:latest' locally
latest: Pulling from library/neo4j
ff3a5c916c92: Pull complete 
5de5f69f42d7: Pull complete 
fa7536dd895a: Pull complete 
70a9fb6cb502: Pull complete 
ec1eefcd2625: Pull complete 
98725ec0d2cc: Pull complete 
d6ec8050656b: Pull complete 
Digest: sha256:abe3297efdcbb683f8a7624a1eab908f738ffcc8769916e02ed7abb464a0d9cb
Status: Downloaded newer image for neo4j:latest
Active database: graph.db
Directories in use:
  home:         /var/lib/neo4j
  config:       /var/lib/neo4j/conf
  logs:         /var/lib/neo4j/logs
  plugins:      /var/lib/neo4j/plugins
  import:       /var/lib/neo4j/import
  data:         /var/lib/neo4j/data
  certificates: /var/lib/neo4j/certificates
  run:          /var/lib/neo4j/run
Starting Neo4j.
2018-06-03 04:07:51.785+0000 WARN  Unknown config option: causal_clustering.discovery_listen_address
2018-06-03 04:07:51.788+0000 WARN  Unknown config option: causal_clustering.raft_advertised_address
2018-06-03 04:07:51.789+0000 WARN  Unknown config option: causal_clustering.raft_listen_address
2018-06-03 04:07:51.789+0000 WARN  Unknown config option: ha.host.coordination
2018-06-03 04:07:51.789+0000 WARN  Unknown config option: causal_clustering.transaction_advertised_address
2018-06-03 04:07:51.789+0000 WARN  Unknown config option: causal_clustering.discovery_advertised_address
2018-06-03 04:07:51.789+0000 WARN  Unknown config option: ha.host.data
2018-06-03 04:07:51.790+0000 WARN  Unknown config option: causal_clustering.transaction_listen_address
2018-06-03 04:07:51.805+0000 INFO  ======== Neo4j 3.4.0 ========
2018-06-03 04:07:51.841+0000 INFO  Starting...
2018-06-03 04:07:54.246+0000 INFO  Bolt enabled on 0.0.0.0:7687.
2018-06-03 04:07:56.874+0000 INFO  Started.
2018-06-03 04:07:57.821+0000 INFO  Remote interface available at http://localhost:7474/
2018-06-03 04:11:50.372+0000 ERROR Unexpected error detected in bolt session '0242acfffe110002-00000007-00000001-756de5b38b381bf1-8b9ab9f7'. The client is unauthorized due to authentication failure.
org.neo4j.bolt.v1.runtime.BoltConnectionFatality: The client is unauthorized due to authentication failure.
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:740)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:726)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.access$300(BoltStateMachine.java:62)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$1.init(BoltStateMachine.java:434)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.init(BoltStateMachine.java:140)
	at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onInit$0(BoltMessageRouter.java:70)
	at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:193)
	at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:143)
	at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:163)
	at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$null$0(ExecutorBoltScheduler.java:145)
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
2018-06-03 04:30:03.561+0000 ERROR Unexpected error detected in bolt session '0242acfffe110002-00000007-00000002-b826c79acbf8cb12-f0d52ae4'. The client is unauthorized due to authentication failure.
org.neo4j.bolt.v1.runtime.BoltConnectionFatality: The client is unauthorized due to authentication failure.
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:740)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:726)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.access$300(BoltStateMachine.java:62)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$1.init(BoltStateMachine.java:434)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.init(BoltStateMachine.java:140)
	at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onInit$0(BoltMessageRouter.java:70)
	at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:193)
	at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:143)
	at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:163)
	at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$null$0(ExecutorBoltScheduler.java:145)
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
2018-06-03 04:30:13.131+0000 ERROR Unexpected error detected in bolt session '0242acfffe110002-00000007-00000003-ed874af88bf8f074-384516ca'. The client is unauthorized due to authentication failure.
org.neo4j.bolt.v1.runtime.BoltConnectionFatality: The client is unauthorized due to authentication failure.
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:740)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:726)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.access$300(BoltStateMachine.java:62)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$1.init(BoltStateMachine.java:434)
	at org.neo4j.bolt.v1.runtime.BoltStateMachine.init(BoltStateMachine.java:140)
	at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onInit$0(BoltMessageRouter.java:70)
	at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:193)
	at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:143)
	at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:163)
	at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$null$0(ExecutorBoltScheduler.java:145)
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

...
...
...

进行访问

需要密码进行登录

因为没配置密码,所以无法登录

配置密码重装

容器的好处就体现出来了,不满意干掉重来的成本特别低

在生产和测试环境中就这一点好处就可以优化掉很多不必要的 troubleshooting 时间

先清理残存

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@h171 ~]# docker ps -a 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
17fad3e36cea        neo4j               "/sbin/tini -g -- /d…"   29 minutes ago      Exited (0) 5 seconds ago                       dazzling_babbage
9141a1590781        hello-world         "/hello"                 2 hours ago         Exited (0) 2 hours ago                         relaxed_ardinghelli
[root@h171 ~]# docker rm  17fad3e36cea
17fad3e36cea
[root@h171 ~]# ls
anaconda-ks.cfg  neo4j  original-ks.cfg
[root@h171 ~]# rm neo4j/ -rf 
[root@h171 ~]# ls
anaconda-ks.cfg  original-ks.cfg
[root@h171 ~]#

再一次带入密码配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@h171 ~]# docker run --publish=7474:7474 --publish=7687:7687 --volume=$HOME/neo4j/data:/data --env NEO4J_AUTH=neo4j/abc123 neo4j
Changed password for user 'neo4j'.
Active database: graph.db
Directories in use:
  home:         /var/lib/neo4j
  config:       /var/lib/neo4j/conf
  logs:         /var/lib/neo4j/logs
  plugins:      /var/lib/neo4j/plugins
  import:       /var/lib/neo4j/import
  data:         /var/lib/neo4j/data
  certificates: /var/lib/neo4j/certificates
  run:          /var/lib/neo4j/run
Starting Neo4j.
2018-06-03 04:47:08.156+0000 WARN  Unknown config option: causal_clustering.discovery_listen_address
2018-06-03 04:47:08.160+0000 WARN  Unknown config option: causal_clustering.raft_advertised_address
2018-06-03 04:47:08.160+0000 WARN  Unknown config option: causal_clustering.raft_listen_address
2018-06-03 04:47:08.160+0000 WARN  Unknown config option: ha.host.coordination
2018-06-03 04:47:08.160+0000 WARN  Unknown config option: causal_clustering.transaction_advertised_address
2018-06-03 04:47:08.160+0000 WARN  Unknown config option: causal_clustering.discovery_advertised_address
2018-06-03 04:47:08.160+0000 WARN  Unknown config option: ha.host.data
2018-06-03 04:47:08.161+0000 WARN  Unknown config option: causal_clustering.transaction_listen_address
2018-06-03 04:47:08.178+0000 INFO  ======== Neo4j 3.4.0 ========
2018-06-03 04:47:08.227+0000 INFO  Starting...
2018-06-03 04:47:10.872+0000 INFO  Bolt enabled on 0.0.0.0:7687.
2018-06-03 04:47:13.187+0000 INFO  Started.
2018-06-03 04:47:14.157+0000 INFO  Remote interface available at http://localhost:7474/
...
...
...

关于 neo4j 容器的简单配置可以参考 This section describes how to run Neo4j in a Docker container

再次登录

输入密码后

这就代表 neo4j 已经正常安装了


总结

使用容器构建应用

是目前所有构建方式中最简单高效的

这代表着软件基础架构的未来

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Neo4j服务关闭启动·常用配置·快速设定新密码
Neo4j分社区版(Community Edition)和企业版(Enterprise Edition),社区版本为免费版本。目前的最新版本为Neo4j 3.1。官方网址为https://neo4j.com/ Neo4j的相关文档URL地址如下
陈黎栋
2020/02/18
3.1K0
Neo4j的Java API操作
对于此种模式,建议安装m2e插件,让Maven来管理项目的构建classpath。这也为通过Maven的命令行 构建项目提供了可能,同时也为开发提供了一个有效的Eclipse setup 。
WHYBIGDATA
2023/01/31
6910
Neo4j的Java API操作
Install Tomcat
Tomcat 是一款开源的 Java Servlet 实现,简单来说就是一个 java 应用解析容器
franket
2021/08/11
5390
Install MediaWiki
前言 MediaWiki 是一款用 php 实现的开源 wiki 软件 MediaWiki is a free software open source wiki package written in PHP, originally for use on Wikipedia. It is now also used by several other projects of the non-profit Wikimedia Foundation and by many other wikis, includi
franket
2021/08/11
1.1K0
Neo4j认识安装
废话说多了,直接上安装,越发觉得Windows的Docker超级好用,所以直接上Docker安装
是小张啊喂
2021/05/19
1K0
Neo4j认识安装
KubeVirt macvtap虚拟机创建过程 手动实验
MACVTAP 的实现基于传统的 MACVLAN。该实验中会起两个libvirt容器,一个作为客户端去测试连接虚拟机,也就是左边这个。右边会在容器中起虚拟机,容器的eth0做一个macvtap给虚拟机用,macvtap0会把收到的包都发给虚拟机的eth0
后端云
2022/06/09
1.7K0
KubeVirt macvtap虚拟机创建过程 手动实验
Gin 13
使用 model binding 来将请求中的数据绑定到一个 model 中,形成一个结构体,Gin 可以对 Query String 进行绑定
franket
2021/08/10
3380
Gin 5
前言 Gin 是一款用 Go(Golang) 编写的 web 框架 Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter 因为 httprouter, 它提供了更高的性能 这里演示一下 Gin 的 PostForm 传参 gin 的 API 可以参考 API RE
franket
2021/08/10
4730
Gin 4
前言 Gin 是一款用 Go(Golang) 编写的 web 框架 Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter 因为 httprouter, 它提供了更高的性能 这里演示一下 Gin 的 Query 传参 gin 的 API 可以参考 API REFFE
franket
2021/08/10
4470
初识Neo4j
睡觉前,突然想起来Neo4j这个数据库,以前认为是一个相当神秘的数据库,一听是图数据库,以为是存储图片的。一想不对啊,存储图片不是数据库层面建议的,所以自己理了下,也算是自己说服自己吧。 Neo4j是开源的,分了多个版本,其中企业版是基于AGPL协议的。 也就意味着你需要扩展,需要补充一个协议。 Neo4j的版本也分了不同的平台,目前较新的版本是3.3,最新的3.4 Neo4j比较贴心的是下载的时候会提示你注册一个用户,注册之后,会给你发送一个电子版的pdf文档。有一些详细的技术细节。
jeanron100
2018/03/22
1.6K0
初识Neo4j
Neo4j 2.0 生产环境集群搭建
一、在windows上搭建Neo4j ha cluster的配置方法: 例如:建立集群的三台机器的ip分别为:10.230.9.91,10.230.9.92,10.230.9.93。 10.230.9.91机器上的配置如下:      1、关闭防火墙      2、ping 10.230.9.92和10.230.9.93,看是否能ping通      3、解压Neo4j 安装文件到某一目录下(例如F:\)      4、修改Neo4j配置文件(F:\neo4j-enterprise-2.0.0-M04-wi
庞小明
2018/03/07
1.7K0
Neo4j 2.0 生产环境集群搭建
Install phpMyAdmin
参考 phpMyAdmin文档 和 How to install Apache, PHP 7.2 and MySQL on CentOS 7.4 (LAMP)
franket
2021/08/11
3K0
Gin 2
前言 Gin 是一款用 Go(Golang) 编写的 web 框架 Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter 因为 httprouter, 它提供了更高的性能 这里演示一下 Gin 的基础用法 gin 的 API 可以参考 API REFFERENCE
franket
2021/08/10
3200
Gin 3
前言 Gin 是一款用 Go(Golang) 编写的 web 框架 Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter 因为 httprouter, 它提供了更高的性能 这里演示一下 Gin 的简单传参 gin 的 API 可以参考 API REFFERENCE
franket
2021/08/10
3610
Install Elasticsearch
我本地的是 openjdk version “1.8.0_151” ,这个是 OpenJDK,并非 Oracle 版的,不过也没啥大问题,比推荐的 1.8.0_131 还新
franket
2021/08/11
3300
Install Joomla
因为插件丰富,架构灵活,可以简单而快速实现大部分的网站功能,在国外很受欢迎,连续好几年都获得开源 CMS 的冠军
franket
2021/08/11
1.1K0
Install WordPress
mariadb 仓库配置可以参考 Setting up MariaDB Repositories
franket
2021/08/11
6950
Install Cassandra
Cassandra 是一套开源分布式数据库软件,可以提供高容错,高性能,高可用,高弹性,可线性扩展的特性
franket
2021/08/12
2.4K0
Container (Docker) is Process or Virtual Machine
Docker 是虚拟机吗?Docker 底层用了哪些关键技术?容器逃逸逃的是什么?
wywwzjj
2023/05/09
1K0
Container (Docker) is Process or Virtual Machine
查看Docker容器的信息
对于运行在Docker环境的容器,有时我们想查询它们的一些基本信息,例如环境变量、hostname、ip地址等,接下来我们以一个tomcat容器为例,看看有哪些方式来取得这些信息;
程序员欣宸
2022/05/09
3.4K0
查看Docker容器的信息
相关推荐
Neo4j服务关闭启动·常用配置·快速设定新密码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验