ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,
基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,
是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

实验环境:rhel6.5
server1 172.25.10.1 master
server2 172.25.10.2 slave
server3 172.25.10.3 slave

一、单机存储配置

server1:
安装elasticsearch和Java

[root@server1 elk]# yum install -y elasticsearch-2.3.3.rpm 
[root@server1 ~]# rpm -ivh jdk-8u121-linux-x64.rpm 

安装head插件
head 插件,它是一个用浏览器跟 ES 集群交互的插件,可以查看集群状态、集群的 doc 内容、
执行搜索和普通的 Rest 请求等。

[root@server1 elk]# /usr/share/elasticsearch/bin/plugin install file:/root/elk/elasticsearch-head-master.zip 

编辑ela配置文件

[root@server1 elk]# cd /etc/elasticsearch/
[root@server1 elasticsearch]# vim elasticsearch.yml 
 17 cluster.name: my-es
 27 node.name: server1  ##本机主机名
 33 path.data: /var/lib/elasticsearch   ##数据目录
 37 path.logs: /var/log/elasticsearch   ##日志目录
 43 bootstrap.mlockall: true  ##程序启动的时候先去获取足够大的内存,再加入集群接收请求;在生产环境中,强烈建议该值设为true
 54 network.host: 172.25.10.1  ##本机IP
 58 http.port: 9200  ##本机端口

打开服务

打开elasticsearch服务
[root@server1 ~]# /etc/init.d/elasticsearch start
查看进程 
$ ps ax
 1691 ?        Sl     0:05 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=tru
查看端口
[root@server1 ~]# netstat -antlp
tcp        0      0 ::ffff:172.25.10.1:9200     :::*                        LISTEN      1691/java           
tcp        0      0 ::ffff:172.25.10.1:9300     :::*                        LISTEN      1691/java        

浏览器访问172.25.10.1:9200/_plugin/head/
这里写图片描述
复合查询添加内容,概览中查看
这里写图片描述
这里写图片描述
这里写图片描述

二、多节点分布式存储——集群搭建

server1:master
server2:slave
server3:slave

添加主机名解析

vim /etc/hosts
172.25.10.1 server1
172.25.10.2 server2
172.25.10.3 server3

server2/3都装上jdk和elasticsearch-2.3.3.rpm

$ yum install -y elasticsearch-2.3.3.rpm 
$ rpm -ivh jdk-8u121-linux-x64.rpm 

server1中修改配置文件

[root@server1 elasticsearch]# vim elasticsearch.yml
 29 node.master: true     #主节点               server2/3:改为false
 30 node.data: false      #数据节点             server2/3:改为true
 31 http.enable: true     #负责外部的查询请求
 73 discovery.zen.ping.unicast.hosts: ["server1", "server2","server3"]
重新加载服务
[root@server1 elasticsearch]# /etc/init.d/elasticsearch reload

server2/3中修改配置文件

将server1中配置文件传至server2/3
[root@server1 elasticsearch]# scp elasticsearch.yml server2/3:/etc/elasticsearch/
修改配置文件
$ cd /etc/elasticsearch/
$ vim elasticsearch.yml 
 27 node.name: server1    server2/3:改为server2/3
 29 node.master: true     server2/3:改为false
 30 node.data: false      server2/3:改为true
 31 http.enable: true     server2/3也为true
 54 network.host: 172.25.10.1    server2/3:改为172.25.10.2/172.25.10.3
打开服务
$ /etc/init.d/elasticsearch start

浏览器刷新查看
这里写图片描述

三、elasticsearch操作

查询集群健康机信息
[root@server1 elasticsearch]# curl -XGET 'http://172.25.10.1:9200/_cluster/health?pretty=true'
删除之前建立的索引
[root@server1 elasticsearch]# curl -XDELETE 'http://172.25.10.1:9200/index'
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐