Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中,国内下载地址:ftp://neo4j.55555.io/neo4j/3.5.7/

1.安装jdk

jdk安装在root用户下

(1)检查自带jdk并卸载,检查命令如下:

rpm -qa|grep gcj
rpm -qa|grep jdk 

(2)卸载jdk命令如下

rpm -e –nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

(3)解压jdk并配置环境变量

#解压安装包
tar -zxvf jdk-8u191-linux-x64.tar.gz
#配置环境变量
vi /etc/profile
#在文件内添加一下内容
export JAVA_HOME=/opt/jdk1.8.0_65
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

(4)刷新配置文件并检查Java版本

#刷新配置文件
source /etc/profile
#检查Java版本
java -version

2.安装neo4j

(1)解压neo4l

tar -zxvf  neo4j-community-3.5.7-unix.tar.gz

(2)修改配置文件,除54行需要放开,其他可根据需求自由修改

 vi neo4j-community-3.5.7/conf/neo4j.conf # 修改第22行load csv时l路径,在前面加个#,可从任意路径读取文件
#dbms.directories.import=import
# 修改35行和36行,设置JVM初始堆内存和JVM最大堆内存
# 生产环境给的JVM最大堆内存越大越好,但是要小于机器的物理内存
dbms.memory.heap.initial_size=5g
dbms.memory.heap.max_size=10g
# 修改46行,可以认为这个是缓存,如果机器配置高,这个越大越好
dbms.memory.pagecache.size=10g
# 修改54行,去掉改行的#,可以远程通过ip访问neo4j数据库
dbms.connectors.default_listen_address=0.0.0.0
# 默认 bolt端口是7687,http端口是7474,https关口是7473,不修改下面3项也可以
# 修改71行,去掉#,设置http端口为7687,端口可以自定义,只要不和其他端口冲突就行
#dbms.connector.bolt.listen_address=:7687
# 修改75行,去掉#,设置http端口为7474,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.http.listen_address=:7474
# 修改79行,去掉#,设置http端口为7473,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.https.listen_address=:7473
# 修改227行,去掉#,允许从远程url来load csv
dbms.security.allow_csv_import_from_file_urls=true
# 修改246行,允许使用neo4j-shell,类似于mysql 命令行之类的
dbms.shell.enabled=true
# 修改235行,去掉#,设置连接neo4j-shell的端口,一般都是localhost或者127.0.0.1,这样安全,其他地址的话,一般使用https就行
dbms.shell.host=127.0.0.1
# 修改250行,去掉#,设置neo4j-shell端口,端口可以自定义,只要不和其他端口冲突就行
dbms.shell.port=1337
# 修改254行,设置neo4j可读可写
dbms.read_only=false

(3)启动neo4j

./neo4j-community-3.5.7/bin/neo4j start 

(4) 登录验证,访问地址:http://10.169.169.32:7474/browser/,默认用户:neo4j  默认密码:neo4j

3.neo4j内存分配方案优化

若安装的服务器只应用于neo4j数据库,官方提供了一个最佳方案配置运行以下命令:

./neo4j-admin memrec --database=graph.db

运行的内容为:

WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual.
# Memory settings recommendation from neo4j-admin memrec:
#
# Assuming the system is dedicated to running Neo4j and has 15600m of memory,
# we recommend a heap size of around 5000m, and a page cache of around 6600m,
# and that about 4000m is left for the operating system, and the native memory
# needed by Lucene and Netty.
#
# Tip: If the indexing storage use is high, e.g. there are many indexes or most
# data indexed, then it might advantageous to leave more memory for the
# operating system.
#
# Tip: The more concurrent transactions your workload has and the more updates
# they do, the more heap memory you will need. However, don't allocate more
# than 31g of heap, since this will disable pointer compression, also known as
# "compressed oops", in the JVM and make less effective use of the heap.
#
# Tip: Setting the initial and the max heap size to the same value means the
# JVM will never need to change the heap size. Changing the heap size otherwise
# involves a full GC, which is desirable to avoid.
#
# Based on the above, the following memory settings are recommended:
dbms.memory.heap.initial_size=5000m
dbms.memory.heap.max_size=5000m
dbms.memory.pagecache.size=6600m
#
# The numbers below have been derived based on your current data volume in database and index configuration of database 'graph.db'.
# They can be used as an input into more detailed memory analysis.
# Lucene indexes: 0k
# Data volume and native indexes: 123700k

若改服务器只安装neo4j,配置文件直接修改为如下,然后重启:

# 生产环境给的JVM最大堆内存越大越好,但是要小于机器的物理内存
dbms.memory.heap.initial_size=5000m
dbms.memory.heap.max_size=5000m
# 修改46行,可以认为这个是缓存,如果机器配置高,这个越大越好
dbms.memory.pagecache.size=6600m

注:若服务器还需安装其他应用 ,需要排除掉应用的内存需要,还需要给neo4j的索引等留有内存,配置按比例减小。

neo4j安装及内存分配相关推荐

  1. Eigen向量化内存对齐/Eigen的SSE兼容,内存分配/EIGEN_MAKE_ALIGNED_OPERATOR_NEW

    1.总结 对于基本数据类型和自定义类型,我们需要用预编译指令来保证栈内存的对齐,用重写operator new的方式保证堆内存对齐.对于嵌套的自定义类型,申请栈内存时会自动保证其内部数据类型的对齐,而 ...

  2. 利用TCMalloc替换Nginx和Redis默认glibc库的malloc内存分配

    TCMalloc的全称为Thread-Caching Malloc,是谷歌开发的开源工具google-perftools中的一个成员.与标准的glibc库的Malloc相比,TCMalloc库在内存分 ...

  3. C++中的动态内存分配

    1.Cpp中的内存分配 了解动态内存在C++中是如何工作的是成为一名合格的C++程序员必不可少的.C++程序中的内存分为两个部分: 栈:在函数内部声明的所有变量都将占用栈内存. 堆:这是程序中未使用的 ...

  4. 【 C 】动态内存分配案例分析

    声明一个指向char类型的指针,可以在声明的时候就对其进行初始化,这样是合理的. 例如: E1: #include <stdio.h> #include <stdlib.h> ...

  5. 内存分配策略(一):JVM栈桢及方法调用详解

    JVM 线程堆栈分析过程详解 在这篇文章里我将教会你如何分析JVM的线程堆栈以及如何从堆栈信息中找出问题的根因.在我看来线程堆栈分析技术是Java EE产品支持工程师所必须掌握的一门技术.在线程堆栈中 ...

  6. Advanced Memory Allocation 内存分配进阶

    Advanced Memory Allocation 内存分配进阶 URL: http://blog.csdn.net/amwihihc/article/details/7481656 May 01, ...

  7. Memcache 内存分配策略和性能(使用)状态检查

    一直在使用Memcache,但是对其内部的问题,如它内存是怎么样被使用的,使用一段时间后想看看一些状态怎么样?一直都不清楚,查了又忘记,现在整理出该篇文章,方便自己查阅.本文不涉及安装.操作.有兴趣的 ...

  8. 从更底层研究C\C++动态内存分配

    2019独角兽企业重金招聘Python工程师标准>>> 以前在学C++ 的时候,一直不懂:动态内存分配的本质,或者更加深入到底层的意义.虽然说,动态内存分配就是,随机在内存中分配一个 ...

  9. Java04-day04【IDEA(概述、启动配置、项目结构、内容辅助键、快捷键、模块操作)、数组(定义详解、动态初始化、访问)、内存分配、数组内存图】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] &qu ...

  10. linux内核函数kmalloc,Linux_Linux平台上几个常见内核内存分配函数,* kmallocPrototype:#incl - phpStudy...

    Linux平台上几个常见内核内存分配函数 * kmalloc Prototype: #include void *kmalloc(size_t size, int flags); Kmalloc分配一 ...

最新文章

  1. 我对虚拟化的认识(一)
  2. 简单剖析智能指针的思想
  3. 周期均方根和有效值的区别_茅台王子酒和迎宾酒的区别是什么?
  4. adapter pattern java_适配器模式(Adapter Pattern)
  5. before css 旋转_CSS 巧用 :before和:after
  6. 一步一步配置aspnetdb数据库
  7. 简单的01背包和完全背包
  8. mysql数据库查询笔记_mysql笔记: 查询
  9. 解决datafountain比赛提交.csv文件报错问题
  10. 配置 .vimrc 解决 Vim / gVim 在中文 Windows 下的字符编码问题
  11. osgEarth世界坐标和经纬度坐标相互转换
  12. Ubuntu 20.04上编译OpenSSL的编译选项设置
  13. Xcode7 网络请求报错:The resource could not be loaded be
  14. fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you
  15. s3cmd 快速评估RADOSGW的性能
  16. 戴尔服务器温度显示器,选择Dell UltraSharp 27的四大理由:有温度的科技更近人心...
  17. 转载《CSDC开发者大会感想》
  18. 【UEFI基础】UEFI Shell
  19. 树洞程序php,树洞表白墙程序
  20. 基于springboot+vue+element-ui的仿百度云局域网网盘

热门文章

  1. 三极管与恒流源电路(TI学习总结)
  2. JAVAweb开发技术-------(七)POI导入导出excel技术
  3. 小知识点日记 2013-1-17 至 2013-6-13
  4. 经验:常见木马和未授权控制软件的关闭 3
  5. 20190628 《此生,未完成》-- 于娟
  6. 如何免费自动将邮件发送到多个邮件地址 - 自动邮件发送器使用教程
  7. 计算机网络笔记2 应用层
  8. 《论文阅读》Joint Demosaicing and Denoising with Self Guidance
  9. mysql删不掉怎么办_mysql删除不彻底的解决方法_MySQL
  10. 面经分享:美团面试也太难了,4面美团终成Offer