ElasticSearch - Installation

Get OracleJDK

http://docs.oracle.com/javase/8/docs/technotes/guides/install/linux_jdk.html#BJFJHFDD

移除舊的JDK

rpm -qa | grep jdk
yum remove openjdk....

下載jdk-8u60-linux-x64.rpm

安裝

rpm -ivh jdk-8u60-linux-x64.rpm

確認安裝成功

java -version

應該要看到

java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

export $JAVA_HOME with JDK/JRE

編輯/etc/profile & $home/.bash_profile

加入以下

export JAVA_HOME="/usr/java/latest"

存檔離開

取得ElasticSearch

使用以下命令

wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.0.0/elasticsearch-2.1.1.tar.gz

解壓縮

tar -zxvf elasticsearch-2.1.1.tar.gz

切目錄

cd elasticsearch-2.1.1/bin/

啟動elasticsearch (單節點) ./elasticsearch

但我們要有Cluster 所以改用以下命令

./elasticsearch --cluster.name my_cluster_name --node.name my_node_name

./elasticsearch --cluster.name [我的叢集名稱] --node.name [我的節點名稱]

本環境設定叢集名稱為 es_cluster (elasticsearch cluster) 節點分別為node1, node2, node3, 在三台機器分別的啟動命令為

./elasticsearch --cluster.name es_cluster --node.name node1

./elasticsearch --cluster.name es_cluster --node.name node2

./elasticsearch --cluster.name es_cluster --node.name node3

第一次跑失敗 因為elasticsearch不建議使用root執行

移動elasticsearch目錄到/opt/下面 再換一般使用者身分執行

還有權限問題 建議一開始下載elasticsearch使用一般使用者

就可以正常執行了

而Elasticsearch叢集節點應給予獨立組態檔配置,才有較好使用結果。

叢集健康狀態

Elasticsearch使用REST API,可以得之叢集狀態與進行管理

預設通訊埠是9200 使用curl對本機9200發request即可 命令:

curl 'localhost:9200/_cat/health?v'

應該會得到類似的回應:

[kedy@es1 ~]$ curl 'localhost:9200/_cat/health?v'
epoch      timestamp cluster   status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shar ds_percent
1446545469 18:11:09  escluster green           1         1      0   0    0    0        0             0                  -                 100.0%

狀態為Green代表所有功能都是正常運作的。Yellow代表所有資料都有,但可能有些replica並沒有正常配置,但此時叢集功能還是正常,包含資料的新增修改刪除與搜尋等都可以。如果狀態為Red,表示有些資料不知道怎麼了,可能有問題,此時也會影響搜尋與運算結果。

要注意的是,就算叢集狀態在Red,有些功能可能還是可以運作的,只是會影響最終的執行結果,因此要盡快排除此狀態。

叢集節點狀態

命令:

curl 'localhost:9200/_cat/nodes?v'

回應:

[kedy@es1 ~]$ curl 'localhost:9200/_cat/nodes?v'

host      ip        heap.percent ram.percent load node.role master name
127.0.0.1 127.0.0.1            2          77 0.00 d         *      node1

列出索引(List All Indices)

命令:

curl 'localhost:9200/_cat/indices?v'

回應:

health status index pri rep docs.count docs.deleted store.size pri.store.size

因為我們剛建立,所以目前沒有任何索引。

results matching ""

    No results matching ""