1. 程式人生 > >linux 下部署單片 elasticsearch 服務

linux 下部署單片 elasticsearch 服務

es

本文是部署單機elasticsearch 服務。是通過yum進行安裝。
elasticsearch 需要java環境。另一篇文章有配置java8環境說明。
1: 首先下載 gpg簽名文件:rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

2:添加elasticsearch的yum源: vim /etc/yum.repo.d/elasticsearck.repo 添加如下:

name=Elasticsearch repository for 2.x packages

baseurl=http://packages.elastic.co/elasticsearch/2.x/centos

gpgcheck=1

gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch

enabled=1

3: yum clean all ; yum repolist 刷新yum緩存

4: 安裝elasticsearch ; yum -y install elasticsearch

5: 更改配置文件: vim /etc/elasticsearch/elasticsearch.yml

1.幾個基本名詞

index: es裏的index相當於一個數據庫。
type: 相當於數據庫裏的一個表。
id: 唯一,相當於主鍵。
node:節點是es實例,一臺機器可以運行多個實例,但是同一臺機器上的實例在配置文件中要確保http和tcp端口不同(下面有講)。

cluster:代表一個集群,集群中有多個節點,其中有一個會被選為主節點,這個主節點是可以通過選舉產生的,主從節點是對於集群內部來說的。
shards:代表索引分片,es可以把一個完整的索引分成多個分片,這樣的好處是可以把一個大的索引拆分成多個,分布到不同的節點上,構成分布式搜索。分片的數量只能在索引創建前指定,並且索引創建後不能更改。
replicas:代表索引副本,es可以設置多個索引的副本,副本的作用一是提高系統的容錯性,當個某個節點某個分片損壞或丟失時可以從副本中恢復。二是提高es的查詢效率,es會自動對搜索請求進行負載均衡。

cluster.name: elasticsearch
#這是集群名字,我們 起名為 elasticsearch

#es啟動後會將具有相同集群名字的節點放到一個集群下。

node.name: "es-node1"
#節點名字。

discovery.zen.minimum_master_nodes: 2
#指定集群中的節點中有幾個有master資格的節點。
#對於大集群可以寫3個以上。

discovery.zen.ping.timeout: 40s

#默認是3s,這是設置集群中自動發現其它節點時ping連接超時時間,
#為避免因為網絡差而導致啟動報錯,我設成了40s。

discovery.zen.ping.multicast.enabled: false
#設置是否打開多播發現節點,默認是true。

network.bind_host: 192.168.137.100
#設置綁定的ip地址,這是我的master虛擬機的IP。

network.publish_host: 192.168.137.100
#設置其它節點和該節點交互的ip地址。

network.host: 192.168.137.100
#同時設置bind_host和publish_host上面兩個參數。

discovery.zen.ping.unicast.hosts: ["192.168.137.100", "192.168.137.101","192.168.137.100:9301"]
#discovery.zen.ping.unicast.hosts:["節點1的 ip","節點2 的ip","節點3的ip"]
#指明集群中其它可能為master的節點ip,
#以防es啟動後發現不了集群中的其他節點。
#第一對引號裏是node1,默認端口是9300,
#第二個是 node2 ,在另外一臺機器上,
#第三個引號裏是node3,因為它和node1在一臺機器上,所以指定了9301端口。

啟動服務: /etc/init.d/elasticsearch start

測試: curl ‘http://ip:9200‘

.....未完待續

linux 下部署單片 elasticsearch 服務