neo4j+nginx 实现查询集群设置

2 篇文章 0 订阅
2 篇文章 0 订阅

      最近一直都在研究Neo4j社区版的简单集群,是读写的集群,但是做了很多调研,一直没有得到理想的解决方案,所以又重新整理了思路,一步一步的做,先做读的集群。方案如下:服务+nginx+neo4j,中间放了一层代理nginx,这个代理可以连接N(N>=2)台机器。最后经过多次实践,排除各种问题,最后成功,查询的集群能做到。GOOD!!!  具体步骤如下:

     准备工作如下:两台机器,每台机器Neo4j用的版本是社区版3.4.7,这是最新的Neo4j版本,能容纳320亿个节点,320亿个关系,640亿个属性。

Nginx 用的版本是1.13.7,因为我需要这个stream,所以nginx版本必须是1.9版本以上的。

两个安装过程就不说了,网上教程都有。要说的是我采用的Neo4j连接是bolt协议,而bolt协议是建立在tcp协议或者websocket上,所以nginx必须支持tcp协议,所以nginx需要安装stream模块。

还有一个问题,就是集群的neo4j机器必须安装相同的版本和相同的用户名密码,因为客户端访问neo4j时需要ssl秘钥,否则会报General SSLEngine 错误

       1,首先,升级nginx工程,让它支持stream功能,默认的Nginx安装功能是不支持的,所以需要升级。升级步骤很简单,如下:

1)cd =/usr/local/nginx/nginx-1.13.7(nginx安装路径) ,执行命令:

./configure --prefix=/usr/local/nginx/nginx-1.13.7 --with-stream
安装stream模块

2)执行 make  命令,不是make install 命令

3)备份nginx命令  ,执行:

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
4)把先生成的nginx命令覆盖以前的nginx命令,执行:

cp /usr/local/nginx/nginx-1.13.7/objs/nginx /usr/local/nginx/sbin/nginx

5) 测试是否升级成功,执行

/usr/local/nginx/sbin/nginx -t

成功,第一步升级工作完成。

2,配置nginx.conf文件,配置如下:

stream {
  
	upstream neo4j{
		server localhost:17687 weight=2;
		server 10.10.8.143:7687;
	
	}
    server {
		listen 7687;
        proxy_pass neo4j; # &lt;--- replace this with your neo4j server and bolt port<br />    
		}
	}

  然后保存,退出。

3,设置neo4j.conf,cd到neo4j的安装路径下,找到neo4j.conf配置文件,打开,修改如下:

# Bolt connector
dbms.connector.bolt.enabled=true
#dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.listen_address=:17687

保存,退出。

4,分别启动neo4j,启动nginx,分别查看是否启动成功,启动成功后,测试,为了达到测试效果,两台机器的数据要查询的那个数据不能一样。

注意:遇到最大的坑就是,两台机器的权重不能一样,必须有权重大小的区别。如图:

最后,社区版图库读集群成功。为了达到简单集群的效果,可以把相同的数据同时往两台机器的图库写数据,开启事务,保证数据的一致性。同时上面的配置还有很多可以优化的地方,比如nginx可以配置keepalived参数等等。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值