当前位置: 首页 > news >正文

neo4j网页无法打开,启动一会儿后自动关闭,查看neo4j status显示Neo4j is not running.

目录

    • 前情提要
    • User limit of inotify watches reached
    • 无法访问此网站

前情提要

公司停电,服务器未能幸免,发现无法访问此网站,http://0.0.0.0:7474
在此之前都还好着
在这里插入图片描述

User limit of inotify watches reached

(base) [root@localhost ~]# neo4j start
Directories in use:
home:         /root/neo4j-community-5.17.0
config:       /root/neo4j-community-5.17.0/conf
logs:         /root/neo4j-community-5.17.0/logs
plugins:      /root/neo4j-community-5.17.0/plugins
import:       /root/neo4j-community-5.17.0/import
data:         /root/neo4j-community-5.17.0/data
certificates: /root/neo4j-community-5.17.0/certificates
licenses:     /root/neo4j-community-5.17.0/licenses
run:          /root/neo4j-community-5.17.0/run
Starting Neo4j.
Started neo4j (pid:21008). It is available at http://0.0.0.0:7474
There may be a short delay until the server is ready.
(base) [root@localhost ~]# neo4j status
Neo4j is running at pid 21008
(base) [root@localhost ~]# neo4j status
Neo4j is running at pid 21008
(base) [root@localhost ~]# neo4j status
Neo4j is not running.
Run with '--verbose' for a more detailed error message.

发现neo4j启动后几秒自动挂掉
查看neo4j的报错日志

cat /root/neo4j-community-5.17.0/logs/

得到以下内容(缩减版)

Caused by: java.io.IOException: User limit of inotify watches reachedat sun.nio.fs.LinuxWatchService$Poller.implRegister(LinuxWatchService.java:264) ~[?:?]at sun.nio.fs.AbstractPoller.processRequests(AbstractPoller.java:266) ~[?:?]at sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:364) ~[?:?]at java.lang.Thread.run(Thread.java:842) ~[?:?]
2024-03-11 08:43:18.028+0000 INFO  Neo4j Server shutdown initiated by request
2024-03-11 08:43:18.029+0000 INFO  Stopped.

错误信息 “User limit of inotify watches reached” 表明系统达到了 Linux 内核对 inotify 监控事件的限制。inotify 是 Linux 内核提供的一个文件系统监控机制,用于跟踪文件系统事件,如创建、删除、修改等。
这个问题通常是因为 Neo4j 在文件系统中监控了太多的文件变化,超出了系统能够处理的范围。在 Linux 系统中,可以通过 sysctl 命令来查看和调整 inotify 的相关限制:

sysctl fs.inotify.max_user_watches

这个值表示系统允许用户跟踪的最大文件系统监控项数量。如果这个值太小,增加它可能是解决问题的一个办法。但是,这个值应该根据实际需求来设置,因为设置得过高可能会导致系统资源浪费。
可以通过以下命令来增加这个限制:

sudo sysctl -w fs.inotify.max_user_watches=1048576

设置完毕后启动neo4j

neo4j start

通过neo4j status监测发现neo4j不再自动挂掉

无法访问此网站

上一个问题解决了发现仍然无法访问
尝试启动了jupyter-lab,也是无法访问,所以怀疑是防火墙的问题

sudo firewall-cmd --add-port=7474/tcp --add-port=7687/tcp --permanent
sudo firewall-cmd --reload

显示success,并且可以访问了

这基本能确认之前无法访问Neo4j的问题是由防火墙规则阻挡了这两个端口导致的
为了让jupyter-lab和以后其他的服务也能突破防火墙

sudo firewall-cmd --zone=public --add-port=6000-25535/tcp --permanent
sudo firewall-cmd --zone=public --add-port=6000-25535/udp --permanent
sudo firewall-cmd --reload

全部范围是0-65535,一般6000-25535够用了
除非有特殊的需求并且完全了解相关风险,否则还是建议只开放必需的端口,保持其他端口处于关闭状态,以保证系统的安全性
临时使用时只需要去掉 --permanent即可

http://www.lryc.cn/news/317910.html

相关文章:

  • 一键卸载和安装 nvidia、cuda、cudnn、tensorrt
  • LeetCode 389. 找不同
  • 科技云报道:两会热议的数据要素,如何拥抱新技术?
  • 【linux】进程管理:进程控制块、进程号、fork创建进程、特殊进程及exec函数族解析
  • 【DL经典回顾】激活函数大汇总(八)(Maxout Softmin附代码和详细公式)
  • Docker进阶:深入了解 Dockerfile
  • 【LeetCode热题100】206. 反转链表(链表)
  • 电玩城游戏大厅计时软件怎么用,佳易王计时计费管理系统软件定时语音提醒操作教程
  • selenium也能过某数、5s盾..
  • mysql笔记:8. 视图
  • 指针的基本概念和用法
  • 工作随记:oracle重建一张1T数据量的大表
  • 使用timm库的一些知识点
  • 一种基于宏和serde_json实现的rust web中统一返回类
  • 每周一算法:A*(A Star)算法
  • 爬虫练习:获取某网站的房价信息
  • 第一个C语言hello world
  • 【Python】新手入门学习:详细介绍依赖倒置原则(DIP)及其作用、代码示例
  • 嵌入式驱动学习目录索引(更新中)
  • ruoyi-vue插件集成websocket
  • 华为ce12800交换机m-lag(V-STP模式)配置举例
  • STM32第九节(中级篇):RCC——时钟树讲解(第一节)
  • c/c++字符串处理标准库 string 介绍
  • HarmonyOS NEXT应用开发之深色模式适配
  • Go微服务: 基于Go Micro框架实现微服务调用
  • 大模型prompt提示词如何调优?
  • 【Python/crawl】如何使用Python爬虫将一系列网页上的同类图片下载到本地
  • Postgresql 连接数查看,死锁问题解决
  • ssm蛋糕甜品商城系统(程序+文档+数据库)
  • 算法空间复杂度计算