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-windows\neo4j-enterprise-2.0.0-M04\conf\neo4j.properties)

        ha.server_id=1

        ha.initial_hosts=10.230.9.91:5001,10.230.9.92:5001,10.230.9.93:5001

    5、修改Neo4j配置文件(F:\neo4j-enterprise-2.0.0-M04-windows\neo4j-enterprise-2.0.0-M04\conf\neo4j-server.properties)

        org.neo4j.server.webserver.address=0.0.0.0

        org.neo4j.server.database.mode=HA

    6、以管理員權限啟動cmd控制台, 進入F:\neo4j-enterprise-2.0.0-M04-windows\neo4j-enterprise-2.0.0-M04\bin

 

10.230.9.92機器上的配置如下:

1、關閉防火牆

2、ping 10.230.9.91和10.230.9.93,看是否能ping通

3、解壓Neo4j 安裝文件到某一目錄下(例如F:\)

4、修改Neo4j配置文件(F:\neo4j-enterprise-2.0.0-M04-windows\neo4j-enterprise-2.0.0-M04\conf\neo4j.properties)

        ha.server_id=2

        ha.initial_hosts=10.230.9.91:5001,10.230.9.92:5001,10.230.9.93:5001

5、修改Neo4j配置文件(F:\neo4j-enterprise-2.0.0-M04-windows\neo4j-enterprise-2.0.0-M04\conf\neo4j-server.properties)

        org.neo4j.server.webserver.address=0.0.0.0

        org.neo4j.server.database.mode=HA

6、以管理員權限啟動cmd控制台, 進入F:\neo4j-enterprise-2.0.0-M04-windows\neo4j-enterprise-2.0.0-M04\bin

 

10.230.9.93機器上的配置如下:

1、關閉防火牆

2、ping 10.230.9.91和10.230.9.92,看是否能ping通

3、解壓Neo4j 安裝文件到某一目錄下(例如F:\)

4、修改Neo4j配置文件(F:\neo4j-enterprise-2.0.0-M04-windows\neo4j-enterprise-2.0.0-M04\conf\neo4j.properties)

        ha.server_id=3

        ha.initial_hosts=10.230.9.91:5001,10.230.9.92:5001,10.230.9.93:5001

5、修改Neo4j配置文件(F:\neo4j-enterprise-2.0.0-M04-windows\neo4j-enterprise-2.0.0-M04\conf\neo4j-server.properties)

        org.neo4j.server.webserver.address=0.0.0.0

        org.neo4j.server.database.mode=HA

6、以管理員權限啟動cmd控制台, 進入F:\neo4j-enterprise-2.0.0-M04-windows\neo4j-enterprise-2.0.0-M04\bin

 

啟動集群:

在三個控制台分別輸入Neo4j start,並回車。

 

 

集群啟動成功驗證:

在三台機器的瀏覽器分別輸入:http://localhost:7474 回車,進入server info,點擊左側導航欄“High Availability”,顯示如下即為成功啟動cluster:

 

注:按照neo4j manual的寫法,windows和linux生產環境集群,搭建后的驗證方法相同。

注:某些情況下,集群未成功啟動,但還是可以進入上面的頁面,但是available=false,haRole=UNKNOWN。這種情況應該進入/data/graph.db/message.log查看出錯原因。

 

 

二、在RedHat6.0上搭建Neo4j ha cluster的配置方法:

例如:建立集群的三個虛擬機的ip分別為:192.168.110.131,192.168.110.132,192.168.110.133。

 

三台虛擬機上相同的配置:

    1、進入root,創建neo4j用戶。

    2、關閉防火牆,$service iptables stop。

    3、將防火牆設置為非自啟動。

 

4、手動配置網絡。

 

    修改 /etc/sysconfig/network 主機名,相應的主機名如下:

        192.168.110.131虛擬機上的主機配置為NETWORKING=yes HOSTNAME=neo4j-01

        192.168.110.132虛擬機上的主機配置為NETWORKING=yes HOSTNAME=neo4j-02

        192.168.110.133虛擬機上的主機配置為NETWORKING=yes HOSTNAME=neo4j-03

    修改/etc/hosts,相應的配置如下:

        192.168.110.131虛擬機上的配置為:

 

192.168.110.132虛擬機上的配置為:

 

192.168.110.133虛擬機上的配置為:

 

5、配置java環境

 將jdk安裝包解壓至/usr/java

 在/etc/profile 文件中添加:

export JAVA_HOME=/usr/java/jdk1.7.0_25

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

 

6、配置ssh

各個虛擬機上 /etc/ssh/sshd_config文件放開如下屬性:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile  .ssh/authorized_keys

UseDNS  yes

 

7、(三個虛擬機都配)分別進入neo4j賬戶,配置ssh無密碼登陸:

$ssh-keygen –t rsa

   一路回車,/home/neo4j/.ssh/中出現兩個文件:id_rsa(私鑰)和id_rsa.pub(公鑰)。

    $cd /home/neo4j/.ssh

$cat id_rsa.pub >> authorized_keys

   /home/neo4j/.ssh/中出現authorized_keys文件。

$sudo root

$輸入root賬戶的密碼

Root]$chmod 700 /home/neo4j/.ssh

Root]$chmod 600 /home/neo4j/.ssh/*

切換至neo4j賬戶:

Neo4j]$ssh localhost

會讓輸入(yes/no),輸入yes回車

第一次可能會讓輸入密碼,以后就不會輸入密碼了。如果出現總讓輸入密碼的狀況,說明ssh配置不成功。

 

8、配置相互間ssh無密碼登陸:

將neo4j-01上的/home/neo4j/.ssh/authorized_keys的內容追加到neo4j-02和neo4j-03上的此文件中。結果是保證每個虛擬機上的公鑰(id_rsa.pub)的內容,在各個虛擬機的authorized_keys文件中都有。

驗證ssh:

        Neo4j-01]$ssh localhost

Neo4j-01]$ssh 192.168.110.132

Neo4j-01]$ssh neo4j-02

以上如果都不需要密碼登陸,則配置成功。

    9、配置neo4j:

192.168.110.131機器上的配置如下:

     1、解壓Neo4j 安裝文件到某一目錄下(例如/home/neo4j/Documents)

     2、修改Neo4j配置文件(/home/neo4j/Documents/neo4j-enterprise-2.0.0-M06/conf/neo4j.properties)

ha.server_id=1

ha.initial_hosts=192.168.110.131:5001,192.168.110.132:5001,192.168.110.133:5001

    5、修改Neo4j配置文件(/home/neo4j/Documents/neo4j-enterprise-2.0.0-M06/conf/neo4j-server.properties)

        org.neo4j.server.webserver.address=0.0.0.0

        org.neo4j.server.database.mode=HA

    6、進入控制台

        $cd /home/neo4j/Document/neo4j-enterprise-2.0.0-M06/bin

        $./neo4j start

 

192.168.110.132機器上的配置如下:

     1、解壓Neo4j 安裝文件到某一目錄下(例如/home/neo4j/Documents)

     2、修改Neo4j配置文件(/home/neo4j/Documents/neo4j-enterprise-2.0.0-M06/conf/neo4j.properties)

ha.server_id=2

ha.initial_hosts=192.168.110.131:5001,192.168.110.132:5001,192.168.110.133:5001

    5、修改Neo4j配置文件(/home/neo4j/Documents/neo4j-enterprise-2.0.0-M06/conf/neo4j-server.properties)

        org.neo4j.server.webserver.address=0.0.0.0

        org.neo4j.server.database.mode=HA

    6、進入控制台

        $cd /home/neo4j/Document/neo4j-enterprise-2.0.0-M06/bin

        $./neo4j start

 

192.168.110.133機器上的配置如下:

     1、解壓Neo4j 安裝文件到某一目錄下(例如/home/neo4j/Documents)

     2、修改Neo4j配置文件(/home/neo4j/Documents/neo4j-enterprise-2.0.0-M06/conf/neo4j.properties)

ha.server_id=3

ha.initial_hosts=192.168.110.131:5001,192.168.110.132:5001,192.168.110.133:5001

    5、修改Neo4j配置文件(/home/neo4j/Documents/neo4j-enterprise-2.0.0-M06/conf/neo4j-server.properties)

        org.neo4j.server.webserver.address=0.0.0.0

        org.neo4j.server.database.mode=HA

    6、進入控制台

        $cd /home/neo4j/Document/neo4j-enterprise-2.0.0-M06/bin

        $./neo4j start

 

啟動集群:

在三個控制台分別輸入Neo4j start,並回車。

 

 

   集群搭建成功的驗證方法同windows。

 

 

搭建過程中,message.log可能出現的錯誤:

1、ERROR [o.n.c.c.NetworkSender]: Receive exception:

java.net.NoRouteToHostException: No route to host

                   可能沒有關閉防火牆

2、WARN [o.n.c.c.NetworkSender]: Could not connect to:cluster://192.168.1.129:5001
org.neo4j.cluster.com.ChannelOpenFailedException: Client could not connect to /192.168.1.129:5001
ERROR [o.n.c.c.NetworkSender]: Channel [id: 0xfc016066] had no URI associated with it.

                   Ssh沒有配置成功,或者因為使用root賬戶創建ssh。

3、WARN [o.n.k.h.c.HighAvailabilityModeSwitcher]: Consistency checker failed
org.neo4j.com.ComException: MasterClient18 could not connect to neo4j-01:6001

                   /etc/hosts沒有配置對其他機器的映射。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM