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 学习资源

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