Elasticsearch 安裝與集羣配置

一、軟件版本

操作系統:CentOS-6.5-x86_64

ES版本:5.0

主機:192.168.63.246

主機: 192.168.63.242

 

二、部署環境規劃:

 

1、需求:jdk版本:open-jdk.1.8

[root@www config]# java-version

openjdk version"1.8.0_101"

OpenJDK Runtime Environment(build 1.8.0_101-b13)

OpenJDK 64-Bit Server VM(build 25.101-b13, mixed mode)

 

2、下載解壓安裝即可:

[root@www src]# cd /test/

[root@www test]# tar zxvf elasticsearch-5.0.0.tar.gz

 

3、具體配置:

[root@www elasticsearch-5.0.0]# cd config/

[root@www config]# vim elasticsearch.yml

 

配置解析:

集羣:

cluster.name: es-log

節點:

node.name: log-1  ##節點保持唯一性。

數據和日誌存放目錄:

#path.data: /path/to/data

#path.logs: /path/to/logs     ##默認當前目錄下,可以修改

是否使用swap:

bootstrap.memory_lock:true

廣播配置:

discovery.zen.ping.unicast.hosts: ["192.168.63.242","192.168.63.247"]

discovery.zen.minimum_master_nodes: 1

 

其他相關係統設置:

 

Vim /etc/sysctl.conf

vm.max_map_count= 262144

sysctl –p

 

系統打開文件數配置:

[root@controller config]# vim /etc/security/limits.conf

*  hard nofile 65536

* soft nofile 65536

 

修改用戶打開的線程數,因爲es的段要經常打開文件控制索引:

vim /etc/security/limits.d/90-nproc.conf

*          soft    nproc    2048

 

切換到普通用戶啓動:

Su – dashuju

[dashuju@www bin]$ ./elasticsearch

 

#####要是提示,報一些沒有啓動的目錄,直接創建即可,但是想寫入日誌和數據必須是普通用戶有寫入權限#####

 

啓動之後:測試有如下顯示錶示已經安裝成功。

 

[root@www bin]# curl  -XGET'192.168.63.242:9200'

{

  "name" :"log-1",

  "cluster_name" :"es-log",

  "cluster_uuid" :"_na_",

  "version" : {

    "number" :"5.0.0",

    "build_hash" :"253032b",

    "build_date" :"2016-10-26T04:37:51.531Z",

    "build_snapshot" :false,

    "lucene_version" :"6.2.0"

  },

  "tagline" : "YouKnow, for Search"

}

 

 

4、集羣啓動設置:

 

加入說只有一個節點,那麼es就當做自己是一個集羣。

一個節點(node)就是一個Elasticsearch實例,而一個集羣(cluster)由一個或多個節點組成,它們具有相同的cluster.name,它們協同工作,分享數據和負載。

當加入新的節點或者刪除一個節點時,集羣就會感知到並平衡數據。

 

 

1、我們已經啓動了192.168.63.242這臺機器,我們可以現在創建一條索引,然後查看一下單集羣的狀態:

[root@www elasticsearch-5.0.0]# curl -XPOST'192.168.63.242:9200/test/name/1' -d '

{

  "name":"xiaoluo"

}'

####創建一條test的索引,type爲name,id=1

 

2、然後我們查看一下集羣當前的狀態:

 

ticsearch-5.0.0]# curl  -XGET'192.168.63.242:9200/_cluster/health?pretty'

{

  "cluster_name" :"es-log",

  "status" : "yellow",

}

 

主要看一下集羣的幾個狀態:

 

green    所有主要分片和複製分片都可用

yellow   所有主要分片可用,但不是所有複製分片都可用

red  不是所有的主要分片都可用

 

#####可以看到我們現在顯示爲:yellow的,因爲我們只有主分片,而沒有複製分片的。

 

現在我們啓動配置好192.168.63.246這個節點:

 

cluster.name: es-log

node.name: log-2

bootstrap.memory_lock: true

network.host: 192.168.63.246

discovery.zen.ping.unicast.hosts: ["192.168.63.246","192.168.63.242"]

discovery.zen.minimum_master_nodes: 1

 

可以看到相關啓動日誌:

wKioL1h0QbLAvFsuAABC-KDWm2M718.png-wh_50

 

我們知道已經加入這個集羣了,現在我們看一下集羣的相關狀態:

 

[root@www elasticsearch-5.0.0]# curl -XGET '192.168.63.242:9200/_cluster/health?pretty'

{

  "cluster_name" :"es-log",

  "status" :"green",

}

可以看到集羣已經變成綠色,說明我們複製分片是已經可以使用了的,我們在192.168.63.246上面查看一下我們剛剛創建的數據看:

 

[root@www elasticsearch-5.0.0]# curl -XGET'192.168.63.246:9200/test/name/1?pretty'

{

  "_index" :"test",

  "_type" :"name",

  "_id" : "1",

  "_version" : 1,

  "found" : true,

  "_source" : {

    "name" :"xiaoluo"

  }

}

############可以看到數據已經被複制到192.168.63.246上面了。

 

後面我們測算成功之後,我們集羣的配置要稍作修改:

discovery.zen.minimum_master_nodes: 2  ###開始設置成1是爲了一臺測試,宣講我們推薦大於1臺。

ELK stack 學習資源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章