redhat 7.3 部署crate 集羣

在紅帽系統中部署crate,有兩種方法:html

  • 使用yum安裝,安裝過程當中會自動添加crate.service文件
  • 使用源碼包安裝,須要手動編寫crate.service文件

 1. yum安裝

這個只須要按照官網文檔操做便可,地址:http://crate.io/docs/install/local/linux/java

安裝過程當中,可能會提示jre > 1.7,這時須要更新系統的java版本了,下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,安裝完Jdk後就OK了node

安裝完畢後,只須要將crate.yml文件配置好即可以啓動了,很方便,輸入:linux

systemctl start crate.service

部署集羣時須要在3個節點上都執行yum install crate,安裝完畢後修改crate.yml,按照下面的方法改好crate.yml文件後,就能夠使用systemctl重啓就行sql

2. 源碼包安裝

下載源碼包,目前最新是:1.1.4,地址:https://cdn.crate.io/downloads/releases/crate-1.1.4.tar.gzbootstrap

下載完畢後,須要手動配置crate_home等環境變量:bash

# cratedb environment
export CRATE_HEAP_SIZE=4g  //這個根據實際狀況配置,官方文檔指導說不可超過30G,建議26G
export CRATE_HOME=/home/hadmin/crate
PATH=$CRATE_HOME/bin:$PATH

源碼包配置的環境變量仍是在crate.yml中配置:服務器

psql.enabled: true
psql.port: 3892  //這個是給Java jdbc通訊使用的
prepareThreshold: 0

http.max_content_length: 150mb
indices.store.throttle.max_bytes_per_sec: 150mb
threadpool.bulk.type: fixed
threadpool.bulk.size: 128
threadpool.bulk.queue_size: 5000

cluster.name: Cluster  //集羣名稱,若是說3個節點是在同一個集羣中,那麼這個名稱必定要保持一致
node.name: dscn2 //集羣中節點的名稱,能夠寫主機名,名字要有惟一性,這是第二個節點,因此是dscn2
index.number_of_replicas: 2
path.conf: /home/hadmin/crate/config
path.data: /home/hadmin/data/crate
path.work: /home/hadmin/data/crate/tmp
path.logs: /home/hadmin/data/crate/logs
path.plugins: /home/hadmin/crate/plugins
blobs.path: /home/hadmin/data/crate/crate_blob_data/disk
network.host: 192.168.13.51 //這個要改成當前主機的ip地址,也能夠是主機名
gateway.recover_after_nodes: 3
discovery.zen.minimum_master_nodes: 2 //在3節點集羣中,設置這個值爲2,表示有2個節點集羣就能存活,失去1個節點不會有影響,這是高可用的必要配置
gateway.expected_nodes: 3
discovery.zen.ping.timeout: 10s
discovery.zen.fd.ping_interval: 10s
discovery.zen.ping.unicast.hosts:  //3節點集羣的必要配置,集羣間通訊,寫主機名和Ip均可以
  - dscn1:4300
  - dscn2:4300
  - dscn3:4300

配置3節點集羣,只須要將當前crate目錄複製到相應的服務器上,修改crate.yml文件中的相關內容便可oracle

手動配置時,須要本身寫crate.service文件:spa

[Unit]
Description=CrateDB daemon
After=network.target
[Service]
Type=simple
User=hadmin
Group=hadmin
ExecStart=/home/hadmin/myproject/crate/bin/crate.sh start
ExecStop=/home/hadmin/myproject/crate/bin/crate.sh stop
StandardOutput=journal
StandardError=journal
TimeoutStopSec=20

LimitMEMLOCK=infinity
LimitNOFILE=65536
Restart=always
[Install]
WantedBy=multi-user.target

crate.sh內容爲:

#!/bin/bash

source /home/hadmin/myproject/conf/env.sh
if [ "$1" = "start" ]
then
$CRATE_HOME/bin/crate
elif [ "$1" = "stop" ]
then
pid=$(ps -ef|grep io.crate.bootstrap.CrateDB |grep jar |awk '{print $2}')
echo "KILLING cratedb PROCESS "$pid
kill -9 $pid
fi

env.sh就是最上面的內容,env.sh的最後一行別忘了

export PATH

集羣配置官方指導文檔:http://crate.io/docs/scale/multi_node_setup/

相關文章
相關標籤/搜索