亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 前言
  • 一、Docker 安裝部署neo4j
  • 二、源碼包安裝 neo4j
  • 三、k8s搭建NEO4J因果集
    • neo4j 3個成員組成的集群
    • 托管Kubernetes上部署Neo4J單核
  • 總結

    前言

    Neo4j是一個高性能的,NOSQL圖形數據庫,本身就支持集群部署,今天要搭建的就是neo4j的因果集群,其中分為:

    核心節點:core-server,可以對數據進行讀寫的中心節點,通過選舉確定leader,follower.

    只讀節點:read-replica,只提供數據訪問的只讀節點,需要連接核心節點,可以非常方便的進行擴展

    一、Docker 安裝部署neo4j

    第一步,從鏡像源中查找鏡像

    docker search neo4j

    第二步,拉取鏡像源

    docker pull neo4j(:版本號) 
    //缺省 “:版本號” 時默認安裝latest版本的

    第三步,查看本地鏡像,檢驗是否拉取成功

    docker images

    啟動容器

    docker run -d --name container_name -p 27474:7474 -p 27687:7687 -v /home/neo4j/data:/data -v /home/neo4j/logs:/logs -v /home/neo4j/conf:/var/lib/neo4j/conf -v /home/neo4j/import:/var/lib/neo4j/import --env NEO4J_AUTH=neo4j/password neo4j
    -d --name container_name   //-d表示容器后臺運行 --name指定容器名字
    	-p 27474:7474 -p 27687:7687   //映射容器的端口號到宿主機的端口號;27474 為宿主機端口
    	-v /home/neo4j/data:/data   //把容器內的數據目錄掛載到宿主機的對應目錄下
    	-v /home/neo4j/logs:/logs   //掛載日志目錄
    	-v /home/neo4j/conf:/var/lib/neo4j/conf   //掛載配置目錄
    	-v /home/neo4j/import:/var/lib/neo4j/import   //掛載數據導入目錄
    	--env NEO4J_AUTH=neo4j/password   //設定數據庫的名字的訪問密碼
    	neo4j //指定使用的鏡像

    修改配置文件

    // 進入容器配置目錄掛載在宿主機的對應目錄,我這里是/home/neo4j/conf
    cd /home/neo4j/conf
    // vim編輯器打開neo4j.conf
    vim neo4j.conf
    // 進行以下更改
    //在文件配置末尾添加這一行
    dbms.connectors.default_listen_address=0.0.0.0  //指定連接器的默認監聽ip為0.0.0.0,即允許任何ip連接到數據庫
    //修改
    dbms.connector.bolt.listen_address=0.0.0.0:7687  //取消注釋并把對bolt請求的監聽“地址:端口”改為“0.0.0.0:7687”
    dbms.connector.http.listen_address=0.0.0.0:7474  //取消注釋并把對http請求的監聽“地址:端口”改為“0.0.0.0:7474”

    重啟neo4j容器

    二、源碼包安裝 neo4j

    // 命令下載
    curl -O http://dist.neo4j.org/neo4j-community-3.4.5-unix.tar.gz
    // 解壓安裝
    tar -axvf neo4j-community-3.4.5-unix.tar.gz

    安裝目錄下找到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
    
    # 修改248行,去掉#,設置連接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
    
    # 設置JDK,若系統默認是jdk1.8及以上可以不需要設置
    JAVA_HOME=/usr/java/jdk1.8.0_144
    JRE_HOME=/usr/java/jdk1.8.0_144/jre
    

    APOC下載

    Neo4j插件APOC

    將下載好的.jar文件直接放到neo4j安裝目錄下的plugins文件夾目錄下就可以了。不要解壓!!!

    配置

    neo4j安裝目錄下conf文件夾里的neo4j.conf
    將dbms.security.auth_enabled=false注釋掉

    文件末尾加上:

    dbms.sercurity.procedures.unrestricted=apoc.*
    dbms.memory.pagecache.size=10g
    dbms.memory.heap.initial_size=1g
    dbms.memory.heap.max_size=4g

    三、k8s搭建NEO4J因果集

    此集群是有狀態的服務,所以使用k8s的StatefulSet進行部署,創建neo4j-core-server.yaml文件

    部署NEO4J-CORE-SERVER集群

    # 先創建neo4j的命名空間namespace
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
       name: neo4j
       labels:
         name: neo4j
         
    ---
    
    apiVersion: apps/v1beta1
    kind: StatefulSet
    metadata:
      name: neo4j-core
      namespace: neo4j
      labels:
        app: neo4j-core
    spec:
      replicas: 2    # 部署2個core-server
      selector:
        matchLabels:
          app: neo4j-core
      serviceName: neo4j-core
      template:
        metadata:
          labels:
            app: neo4j-core
        spec:
          containers:
          - name: neo4j-core
            image: neo4j:3.5.5-enterprise   # 官方鏡像,3.5.5企業版
            imagePullPolicy: IfNotPresent
            env:    # 這里通過env,配置鏡像環境參數,這是因為此鏡像是通過這樣來進行配置參數的
              - name: NEO4J_ACCEPT_LICENSE_AGREEMENT    # 接受證書協議,必須的
                value: "yes"
              - name: NEO4J_dbms_connectors_default__advertised__address  # 指定自身pod的ip地址,默認為localhost,在集群中必須注明自身地址,這里直接用ip
                valueFrom:
                  fieldRef:
                    fieldPath: status.podIP
              - name: NEO4J_dbms_mode  # 節點的模式,選擇CORE,就是核心節點
                value: "CORE"
              - name: NEO4J_AUTH   # 一定要自定義初始驗證的用戶名/密碼
                value: "neo4j/your-password"
              - name: NEO4J_causal__clustering_minimum__core__cluster__size__at__formation
                value: "2"
              - name: NEO4J_causal__clustering_minimum__core__cluster__size__at__runtime
                value: "2"
              - name: NEO4J_causal__clustering_discovery__type  # 默認集群發現方式為LIST,這里寫不寫都行
                value: "LIST"
              - name: NEO4J_causal__clustering_initial__discovery__members  # 手動寫明集群中所有成員的ip:port,5000端口為集群發現端口
                value: "neo4j-core-0.neo4j-core.neo4j.svc.cluster.local:5000,neo4j-core-1.neo4j-core.neo4j.svc.cluster.local:5000"
              - name: NEO4J_causal__clustering_discovery__advertised__address  # 下面這三個必須定義,為節點自身的ip:port,相當于節點自身的名稱,因為默認是會用自身hostname,但是在k8s中,無法單單通過hostname解析到ip地址,這樣定義的自身地址會無法識別
                value: $(NEO4J_dbms_connectors_default__advertised__address):5000
              - name: NEO4J_causalClustering_transactionAdvertisedAddress
                value: $(NEO4J_dbms_connectors_default__advertised__address):6000
              - name: NEO4J_causalClustering_raftAdvertisedAddress
                value: $(NEO4J_dbms_connectors_default__advertised__address):7000
            volumeMounts:
            - name: neo4j-core    # 掛載數據目錄/data
              mountPath: /data
      volumeClaimTemplates:
      - metadata:
          name: neo4j-core  # 這里name要和上面volumeMounts的name一致,才能綁定到對應的pod
          annotations:
            volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"  # 這里是上一步創建的nfs動態卷name
        spec:
          accessModes: [ "ReadWriteOnce" ]
          resources:
            requests:
              storage: 2Gi   # 大小自定義
              
    ---
    
    apiVersion: v1
    kind: Service
    metadata:
      name: neo4j-core
      namespace: neo4j
    spec:
      selector:
        app: neo4j-core
      type: NodePort     # 這里用nodeport來開啟外網訪問,沒用traefik是因為7687的連接端口不是http訪問,需要4層負載,但是traefik不支持,所以只能通過nodeport來實現外網訪問,才能正常訪問7474端口的web管理界面。
      ports:
        - protocol: TCP
          name: http
          port: 7474
          nodePort: 27474
          targetPort: 7474
        - protocol: TCP
          name: blot
          port: 7687
          nodePort: 27687
          targetPort: 7687
    

    執行 yaml文件

    kubectl create -f neo4j-core-server.yaml

    【注】

    1. 以上yaml文件中的注釋要看清楚,因為 因果集群的核心節點是采用的選舉方式來確定主節點的,所以最好是單數節點,我這里只部署了2個節點,只是因為資源不太夠,測試而已,生產使用的話,最少3節點。

    2. 在這里,我用的默認的list的集群發現方式,有一點不好,就是如果增加節點,需要自己手動寫上所有集群節點到列表中,且增加核心節點的時候,會比較麻煩。

        官方有三種發現方式,分別為LIST,DNS,K8S。
        DNS的發現方式,可以通過在Service中,使用clusterIP:None 來取消負載的ip,然后在`NEO4J_causal__clustering_initial__discovery__members` 中設置為 `neo4j-core-0.neo4j-core.neo4j.svc.cluster.local:5000`,然后通過k8s集群中的dns服務,來解析到此Service中所有的ip。
        這樣配置非常方便,還不需要修改,沒用是因為Service中,如果用了clusterIP:None 則沒發使用nodeport來暴露7687的tcp端口給k8s外部網絡使用,除非traefik可以實現tcp的4層負載,或者不是使用的traefik,二是nginx的Ingress,實現4層負載即可。
        K8S的發現方式呢,由于文檔沒有示例的配置參考,不管怎么樣設置,都還是無法正常啟動,所以就沒法用。

    3. 數據持久化存儲,我這里用的nfs動態卷。

    4. 其中一定要自定義初始化的用戶密碼,因為neo4j的每個節點的用戶驗證系統是獨立的!
    也就是說,你在leader節點上新增用戶或修改密碼,是不會同步到follower節點上的。
    所以,為了不至于當leader節點掛掉后,新的leader節點密碼不同導致出錯,部署時最好統一用戶密碼,當然只讀節點也是。

    執行后,查看pod的日志,如下則為正常啟動

    Docker安裝部署neo4j的實戰過程

    部署只讀節點READ-REPLICA

    core核心節點部署完成后,則可以進行只讀節點的部署,只讀節點比核心節點則簡單很多,創建neo4j-read-replica.yaml 文件

    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: neorj-read-replica
      namespace: neo4j
      labels:
        app: neorj-read-replica
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: neorj-read-replica
      template:
        metadata:
          labels:
            app: neorj-read-replica
        spec:
          containers:
          - name: neorj-read-replica
            image: neo4j:3.5.5-enterprise
            imagePullPolicy: IfNotPresent
            env:
              - name: NEO4J_ACCEPT_LICENSE_AGREEMENT
                value: "yes"
              - name: NEO4J_dbms_connectors_default__advertised__address
                valueFrom:
                  fieldRef:
                    fieldPath: status.podIP
              - name: NEO4J_dbms_mode   # 指定模式為只讀節點模式
                value: "READ_REPLICA"
              - name: NEO4J_AUTH
                value: "neo4j/your-password"   # 統一設置用戶密碼
              - name: NEO4J_causal__clustering_discovery__type
                value: "LIST"
              - name: NEO4J_causal__clustering_initial__discovery__members
                value: "neo4j-core-0.neo4j-core.neo4j.svc.cluster.local:5000,neo4j-core-1.neo4j-core.neo4j.svc.cluster.local:5000"
                
    ---
    
    apiVersion: v1
    kind: Service
    metadata:
      name: neorj-read-replica
      namespace: neo4j
    spec:
      selector:
        app: neorj-read-replica
      ports:
      - protocol: TCP
        port: 7687
        targetPort: 7687
    

    執行此yaml文件,創建只讀節點

    kubectl create -f neo4j-read-replica.yaml

    【注】

    部署3個只讀節點,無狀態服務,不需要進行數據持久化,只需要將core節點的集群列表寫出就行了,會自動去找到核心節點的集群,然后從中復制數據,提供訪問即可。

    因為只讀節點只能訪問數據,所以沒必要提供k8s的外部訪問,所以直接在service中負載一下bolt的訪問端口就行了,以提供給k8s內部應用訪問即可。

    查看日志如下為正常啟動

    Docker安裝部署neo4j的實戰過程

    訪問WEB界面

    部署完成后,設置域名,設置nginx,訪問web界面

    默認用戶密碼為: neo4j / neo4j

    登錄修改密碼,然后查看狀態,可以看到集群的狀態

    Docker安裝部署neo4j的實戰過程

    neo4j 3個成員組成的集群

    為每個成員創建一個PersistentVolume

    volume.sh

    for i in $(seq 0 2); do
      cat <<EOF | kubectl create -f -
    kind: PersistentVolume
    apiVersion: v1
    metadata:
      name: pv${i}
      labels:
        type: local
        app: neo4j
    spec:
      capacity:
        storage: 1Gi
      accessModes:
        - ReadWriteOnce
      hostPath:
        path: "/tmp/${i}"
    EOF
      cat <<EOF | kubectl create -f -
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: datadir-neo4j-${i}
      labels:
        app: neo4j
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
    EOF
    done

    運行此腳本,它將創建3個卷

    $ kubectl get pv
    NAME      CAPACITY   ACCESSMODES   STATUS    CLAIM                     REASON    AGE
    pv0       1Gi        RWO           Bound     default/datadir-neo4j-0             7s
    pv1       1Gi        RWO           Bound     default/datadir-neo4j-1             7s
    pv2       1Gi        RWO           Bound     default/datadir-neo4j-2             7s
    $ kubectl get pvc
    NAME              STATUS    VOLUME    CAPACITY   ACCESSMODES   AGE
    datadir-neo4j-0   Bound     pv0       1Gi        RWO           26s
    datadir-neo4j-1   Bound     pv1       1Gi        RWO           26s
    datadir-neo4j-2   Bound     pv2       1Gi        RWO           25s

    我們需要創建一個PetSet模板

    # Headless service to provide DNS lookup
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: neo4j
      name: neo4j
    spec:
      clusterIP: None
      ports:
        - port: 7474
      selector:
        app: neo4j
    ----
    # new API name
    apiVersion: "apps/v1alpha1"
    kind: PetSet
    metadata:
      name: neo4j
    spec:
      serviceName: neo4j
      replicas: 3
      template:
        metadata:
          annotations:
            pod.alpha.kubernetes.io/initialized: "true"
            pod.beta.kubernetes.io/init-containers: '[
                {
                    "name": "install",
                    "image": "gcr.io/google_containers/busybox:1.24",
                    "command": ["/bin/sh", "-c", "echo \"
                    unsupported.dbms.edition=enterprise\n
                    dbms.mode=CORE\n
                    dbms.connectors.default_advertised_address=$HOSTNAME.neo4j.default.svc.cluster.local\n
                    dbms.connectors.default_listen_address=0.0.0.0\n
                    dbms.connector.bolt.type=BOLT\n
                    dbms.connector.bolt.enabled=true\n
                    dbms.connector.bolt.listen_address=0.0.0.0:7687\n
                    dbms.connector.http.type=HTTP\n
                    dbms.connector.http.enabled=true\n
                    dbms.connector.http.listen_address=0.0.0.0:7474\n
                    causal_clustering.raft_messages_log_enable=true\n
                    causal_clustering.initial_discovery_members=neo4j-0.neo4j.default.svc.cluster.local:5000,neo4j-1.neo4j.default.svc.cluster.local:5000,neo4j-2.neo4j.default.svc.cluster.local:5000\n
                    causal_clustering.leader_election_timeout=2s\n
                      \" > /work-dir/neo4j.conf" ],
                    "volumeMounts": [
                        {
                            "name": "confdir",
                            "mountPath": "/work-dir"
                        }
                    ]
                }
            ]'
          labels:
            app: neo4j
        spec:
          containers:
          - name: neo4j
            image: "neo4j/neo4j-experimental:3.1.0-M13-beta3-enterprise"
            imagePullPolicy: Always
            ports:
            - containerPort: 5000
              name: discovery
            - containerPort: 6000
              name: tx
            - containerPort: 7000
              name: raft
            - containerPort: 7474
              name: browser
            - containerPort: 7687
              name: bolt
            securityContext:
              privileged: true
            volumeMounts:
            - name: datadir
              mountPath: /data
            - name: confdir
              mountPath: /conf
          volumes:
          - name: confdir
      volumeClaimTemplates:
      - metadata:
          name: datadir
          annotations:
            volume.alpha.kubernetes.io/storage-class: anything
        spec:
          accessModes: [ "ReadWriteOnce" ]
          resources:
            requests:
              storage: 2Gi

    創建PetSet

    $ kubectl create -f neo4j.yaml 
    service "neo4j" created
    petset "neo4j" created

    檢查Pod是否已啟動并正在運行

    $ kubectl get pods
    NAME      READY     STATUS    RESTARTS   AGE
    neo4j-0   1/1       Running   0          2m
    neo4j-1   1/1       Running   0          14s
    neo4j-2   1/1       Running   0          10s

    neo4j的日志文件

    $ kubectl logs neo4j-0
    Starting Neo4j.
    2016-11-25 16:39:50.333+0000 INFO  Starting...
    2016-11-25 16:39:51.723+0000 INFO  Bolt enabled on 0.0.0.0:7687.
    2016-11-25 16:39:51.733+0000 INFO  Initiating metrics...
    2016-11-25 16:39:51.911+0000 INFO  Waiting for other members to join cluster before continuing...
    2016-11-25 16:40:12.074+0000 INFO  Started.
    2016-11-25 16:40:12.428+0000 INFO  Mounted REST API at: /db/manage
    2016-11-25 16:40:13.350+0000 INFO  Remote interface available at http://neo4j-0.neo4j.default.svc.cluster.local:7474/
    $ kubectl logs neo4j-1
    Starting Neo4j.
    2016-11-25 16:39:53.846+0000 INFO  Starting...
    2016-11-25 16:39:56.212+0000 INFO  Bolt enabled on 0.0.0.0:7687.
    2016-11-25 16:39:56.225+0000 INFO  Initiating metrics...
    2016-11-25 16:39:56.341+0000 INFO  Waiting for other members to join cluster before continuing...
    2016-11-25 16:40:16.623+0000 INFO  Started.
    2016-11-25 16:40:16.951+0000 INFO  Mounted REST API at: /db/manage
    2016-11-25 16:40:17.607+0000 INFO  Remote interface available at http://neo4j-1.neo4j.default.svc.cluster.local:7474/
    $ kubectl logs neo4j-2
    Starting Neo4j.
    2016-11-25 16:39:57.828+0000 INFO  Starting...
    2016-11-25 16:39:59.166+0000 INFO  Bolt enabled on 0.0.0.0:7687.
    2016-11-25 16:39:59.176+0000 INFO  Initiating metrics...
    2016-11-25 16:39:59.329+0000 INFO  Waiting for other members to join cluster before continuing...
    2016-11-25 16:40:19.216+0000 INFO  Started.
    2016-11-25 16:40:19.675+0000 INFO  Mounted REST API at: /db/manage
    2016-11-25 16:40:21.029+0000 INFO  Remote interface available at http://neo4j-2.neo4j.default.svc.cluster.local:7474/

    為每個服務器設置了端口轉發

    $ kubectl port-forward neo4j-0 27474:7474 27687:7687

    運行以下過程來獲得集群的概述

    CALL dbms.cluster.overview()
    ╒════════════════════════════════════╤══════════════════════════════════════════════════════╤════════╕
    │id                                  │addresses                                             │role    │
    ╞════════════════════════════════════╪══════════════════════════════════════════════════════╪════════╡
    │81d8e5e2-02db-4414-85de-a7025b346e84│[bolt://neo4j-0.neo4j.default.svc.cluster.local:27687,│LEADER  │
    │                                    │ http://neo4j-0.neo4j.default.svc.cluster.local:27474]│        │
    ├────────────────────────────────────┼──────────────────────────────────────────────────────┼────────┤
    │347b7517-7ca0-4b92-b9f0-9249d46b2ad3│[bolt://neo4j-1.neo4j.default.svc.cluster.local:27687,│FOLLOWER│
    │                                    │ http://neo4j-1.neo4j.default.svc.cluster.local:27474]│        │
    ├────────────────────────────────────┼──────────────────────────────────────────────────────┼────────┤
    │a5ec1335-91ce-4358-910b-8af9086c2969│[bolt://neo4j-2.neo4j.default.svc.cluster.local:27687,│FOLLOWER│
    │                                    │ http://neo4j-2.neo4j.default.svc.cluster.local:27474]│        │
    └────────────────────────────────────┴──────────────────────────────────────────────────────┴────────┘

    如果 希望集群中有5臺服務器而不是3臺,運行以下命令來增加副本的大小

    $ kubectl patch petset neo4j -p '{"spec":{"replicas":5}}'
    "neo4j" patched

    再次運行該過程

    CALL dbms.cluster.overview()
    ╒════════════════════════════════════╤══════════════════════════════════════════════════════╤════════╕
    │id                                  │addresses                                             │role    │
    ╞════════════════════════════════════╪══════════════════════════════════════════════════════╪════════╡
    │81d8e5e2-02db-4414-85de-a7025b346e84│[bolt://neo4j-0.neo4j.default.svc.cluster.local:27687,│LEADER  │
    │                                    │ http://neo4j-0.neo4j.default.svc.cluster.local:27474]│        │
    ├────────────────────────────────────┼──────────────────────────────────────────────────────┼────────┤
    │347b7517-7ca0-4b92-b9f0-9249d46b2ad3│[bolt://neo4j-1.neo4j.default.svc.cluster.local:27687,│FOLLOWER│
    │                                    │ http://neo4j-1.neo4j.default.svc.cluster.local:27474]│        │
    ├────────────────────────────────────┼──────────────────────────────────────────────────────┼────────┤
    │a5ec1335-91ce-4358-910b-8af9086c2969│[bolt://neo4j-2.neo4j.default.svc.cluster.local:27687,│FOLLOWER│
    │                                    │ http://neo4j-2.neo4j.default.svc.cluster.local:27474]│        │
    ├────────────────────────────────────┼──────────────────────────────────────────────────────┼────────┤
    │28613d06-d4c5-461c-b277-ddb3f05e5647│[bolt://neo4j-3.neo4j.default.svc.cluster.local:27687,│FOLLOWER│
    │                                    │ http://neo4j-3.neo4j.default.svc.cluster.local:27474]│        │
    ├────────────────────────────────────┼──────────────────────────────────────────────────────┼────────┤
    │2eaa0058-a4f3-4f07-9f22-d310562ad1ec│[bolt://neo4j-4.neo4j.default.svc.cluster.local:27687,│FOLLOWER│
    │                                    │ http://neo4j-4.neo4j.default.svc.cluster.local:27474]│        │
    └────────────────────────────────────┴──────────────────────────────────────────────────────┴────────┘

    再次回到3很簡單

    $ kubectl patch petset neo4j -p '{"spec":{"replicas":3}}'
    "neo4j" patched
    CALL dbms.cluster.overview()
    ╒════════════════════════════════════╤══════════════════════════════════════════════════════╤════════╕
    │id                                  │addresses                                             │role    │
    ╞════════════════════════════════════╪══════════════════════════════════════════════════════╪════════╡
    │81d8e5e2-02db-4414-85de-a7025b346e84│[bolt://neo4j-0.neo4j.default.svc.cluster.local:27687,│LEADER  │
    │                                    │ http://neo4j-0.neo4j.default.svc.cluster.local:27474]│        │
    ├────────────────────────────────────┼──────────────────────────────────────────────────────┼────────┤
    │347b7517-7ca0-4b92-b9f0-9249d46b2ad3│[bolt://neo4j-1.neo4j.default.svc.cluster.local:27687,│FOLLOWER│
    │                                    │ http://neo4j-1.neo4j.default.svc.cluster.local:27474]│        │
    ├────────────────────────────────────┼──────────────────────────────────────────────────────┼────────┤
    │a5ec1335-91ce-4358-910b-8af9086c2969│[bolt://neo4j-2.neo4j.default.svc.cluster.local:27687,│FOLLOWER│
    │                                    │ http://neo4j-2.neo4j.default.svc.cluster.local:27474]│        │
    └────────────────────────────────────┴──────────────────────────────────────────────────────┴────────┘

    托管Kubernetes上部署Neo4J單核

    cd /tmp/  git clone https: //github.com/sdaschner/neo4j-helm --branch single-instance  cd neo4j-helm/  helm template graphdb \ 
       --set acceptLicenseAgreement=yes \ 
       --set neo4jPassword=mySecretPassword . \ 
       > /tmp/neo4j.yaml  kubectl apply -f /tmp/neo4j.yaml 

    總結

    分享到:
    標簽:安裝 實戰 服務器 過程 部署
    用戶無頭像

    網友整理

    注冊時間:

    網站:5 個   小程序:0 個  文章:12 篇

    • 51998

      網站

    • 12

      小程序

    • 1030137

      文章

    • 747

      會員

    趕快注冊賬號,推廣您的網站吧!
    最新入駐小程序

    數獨大挑戰2018-06-03

    數獨一種數學游戲,玩家需要根據9

    答題星2018-06-03

    您可以通過答題星輕松地創建試卷

    全階人生考試2018-06-03

    各種考試題,題庫,初中,高中,大學四六

    運動步數有氧達人2018-06-03

    記錄運動步數,積累氧氣值。還可偷

    每日養生app2018-06-03

    每日養生,天天健康

    體育訓練成績評定2018-06-03

    通用課目體育訓練成績評定