Centos7安装ES 和 Docker搭建ES

本文版权归博客园和做者吴双本人共同全部 转载和爬虫请注明原文地址 www.cnblogs.com/tdwshtml

一.linux centos7.x安装ES 

1.下载javajava

1 sudo yum install java-1.8.0-openjdk.x86_64
2 java -version 确认安装结果

2.下载和安装ESnode

1 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.rpm
2 rpm -ivh elasticsearch-5.6.2.rpm 
1 systemctl enable elasticsearch

若是你机器内存小,就去/etc/elasticsearch 下 修改jvm.options linux

1 systemctl start elasticsearch   //启动
2 systemctl status elasticsearch  //状态

3.配置ESdocker

nano /etc/elasticsearch/elasticsearch.yml

移除cluster.name和node.name前面的#井号来取消注释。另外一个重要的配置是服务器角色master或slave。centos

master负责集群健康和稳定。在大型生产部署环境中一般有不少节点,建议拥有多个专用Master。一般专用master不会存储数据和建立indexes. 所以通常不会因过载而致使集群健康受到威胁。服务器

slaves做为工做机,能够加载数据任务。即便slave节点过载,集群健康也不会受到严重的影响,其余节点能够承担额外的负载。curl

决定服务器角色的配置乘坐node.master。若是你只有一个ES节点,应该保持其默认值为true, 即惟一的节点也是master. 若是但愿将节点配置为slave, 取消这行注释,而且把值修改成false. jvm

node.master: false 

另外一个重要的配置项是node.data , 它决定是否存储数据,在大多数状况下,此选项应保留默认值true.可是有两种状况你也许不但愿节点存储数据,一个是结点做为专用master,另外一个则是节点仅用于从其余节点获取数据并聚合结果的时候,这种状况也被称为 搜索负载平衡器,search load balancer.elasticsearch

再说到若是你只有一个ES节点的话,则应该注释此配置,并保留其默认true值。不然,为了禁用数据存储,则取消该行注释,并将值修改成false.

node.data: false

另外两个重要配置项为index.number_of_shards和index.number_of_replicas 。

前者决定index将会被分割成多少片(shards),第二个决定了在集群中被分发的副本(replicas)数。有更多的分片shards能够提升性能,有更多的replicas能够搜索更快。

若是你仍然在单节点的ES上探索和测试ES。最好从一个shards开始,而后设置无replicas.所以应按照以下设置(请确保取消注释)

index.number_of_shards: 1 
index.number_of_replicas: 0

最后一个你感兴趣的应该是修改path.data设置,它决定了数据的存储路径。默认设置为/var/lib/elasticsearch.在生产环境中,建议你使用专用分区和挂载点来存储数据。在最好的状况下,专用分区是一个单独的存储介质,以提供更好的性能和数据隔离。您能够经过取消注释并更改path.data的值,来指定不一样的路径:

path.data: /media/different_media

在修改设置后不要忘了 restart es服务。下面使用几个基础命令测试一下:

 1 curl -X GET 'http://localhost:9200'
 2 
 3 curl -X POST 'http://localhost:9200/tutorial/helloworld/1' -d '
 4 { "message": "Hello World!" }'   //存点数据
 5 
 6 curl -X GET 'http://localhost:9200/tutorial/helloworld/1'   //再获取下
 7 
 8 curl -X PUT 'localhost:9200/tutorial/helloworld/1?pretty' -d ' 
 9 { "message": "Hello People!" }'   更新一下
10 
11 curl -XGET 'http://localhost:9200/_count?pretty' -d ' { "query": { "match_all": {} } }'   //计算文档数量
View Code

 

二.Docker搭建ES

 虽然弄了两台服务器,但感受还不够,Docker环境安装ES就比较方便了,正好也能够借着docker 开多个es镜像的容器来学习ES集群。更多的内容能够参考docker es文档 https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docker.html

 docker pull docker.elastic.co/elasticsearch/elasticsearch:5.6.2

//不过个人服务器内存仍是不够开启那么多es,因此在启动容器实例的时候 设置了512m.

docker run -p 9301:9200 -e ES_JAVA_OPTS="-Xms512m -Xmx512m"  -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:5.6.2
相关文章
相关标签/搜索