ElasticSearch集群安装部署

0 集群搭建

1.安装unzip yum install unzip
2.所有集群节点创建新用户 useradd el
3.所有集群节点给el用户设置密码passwd el方便记忆使用的rootroot

4.所有集群节点创建安装目录和赋予使用权限--》并转换用户

mkdir -p /opt/es
ll /opt/
chown el:el /opt/es
ll /opt/
su el



5.上传安装部署包到master

6.解压到刚刚创建的目录unzip elasticsearch-2.2.1.zip -d /opt/es/(注意是否是普通用户解压的)

7.修改conf

cd elasticsearch-2.2.1/config/
vim elasticsearch.yml



末尾增加防脑裂:

discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["192.168.74.10","192.168.74.11", "192.168.74.12"]
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s


8.目前已经配置好了,但是不忙分发,加个可视化插件


9.分发(输入yes再输入上面设置的el密码)

scp -r elasticsearch-2.2.1/ [email protected]:`pwd`
scp -r elasticsearch-2.2.1/ [email protected]:`pwd`

10.修改2个从机器的配置文件

vim /opt/es/elasticsearch-2.2.1/config/elasticsearch.yml
  • slave1

  • slave2


    11.配置环境变量
vim ~/.bashrc

#Elasticsearch
EL_HOME=/opt/es/elasticsearch-2.2.1
PATH=$PATH:$EL_HOME/bin

source ~/.bashrc

12.集群所有节点执行脚本启动el集群

13.如果能看见如下信息就是启动成功了

  • master
  • slave1
  • slave2

14.使用浏览器查看(对比原生态的和插件的)

1 IK分词器安装

1.找到安装el的目录下的插件目录,上传IK包

2.解压unzip elasticsearch-analysis-ik-1.8.0.zip

3.修改配置文件vim + plugin-descriptor.properties

4.回到plugins目录,分发

scp -r ik/ [email protected]:`pwd`
scp -r ik/ [email protected]:`pwd`

2 使用

2.1 CURL命令

  • 简单认为是可以在命令行下访问url的一个工具
  • curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。
  • curl
    • -X 指定http请求的方法(HEAD GET POST PUT DELETE)
    • -d 指定要传输的数据

2.1.1创建索引库curl -XPUT http://192.168.74.10:9200/hello/


2.1.2删除索引库curl -XDELETE http://192.168.74.10:9200/hello1/

2.1.3数据操作-普通添加

curl -XPOST http://192.168.74.10:9200/hello/employee -d ‘
{
 "first_name" : "bin",
 "age" : 33,
 "about" : "I love to go rock climbing",
 "interests": [ "sports", "music" ]
}‘


curl -XPOST http://192.168.74.10:9200/hello/employee -d ‘
{
 "first_name" : "gob bin",
 "age" : 43,
 "about" : "I love to go rock climbing",
 "interests": [ "sports", "music" ]
}‘

2.1.4数据操作-追加列

curl -XPOST http://192.168.74.10:9200/hello/employee -d ‘
{
 "first_name" : "pablo",
 "age" : 33,
 "about" : "I love to go rock climbing",
 "interests": [ "sports", "music" ],
 "sex": "man",
 "last_name" : "bin"
}‘

2.1.5数据操作-put指定id添加(如果是新的id就是创建,如果是老的id那么更新)

curl -XPUT http://192.168.74.10:9200/hello/employee/1 -d ‘
{
 "first_name" : "god bin",
 "last_name" : "pang",
 "age" : 42,
 "about" : "I love to go rock climbing",
 "interests": [ "sports", "music" ]
}‘

2.1.6数据操作-根据document的id来获取数据

curl -XGET http://192.168.74.10:9200/hello/employee/1
curl -XGET http://192.168.74.10:9200/hello/employee/1?pretty

2.1.7数据操作-根据field来查询数据:

curl -XGET http://192.168.74.10:9200/hello/employee/_search?q=first_name="bin"

2.1.8数据操作-根据field来查询数据:match

curl -XGET http://192.168.74.10:9200/hello/employee/_search?pretty -d ‘
{
 "query":
  {"match":
   {"first_name":"bin"}
  }
}‘

  • 对多个field发起查询:multi_match
curl -XGET http://192.168.74.10:9200/hello/employee/_search?pretty -d ‘
{
 "query":
  {"multi_match":
   {
    "query":"bin",
    "fields":["last_name","first_name"],
    "operator":"and"
   }
  }
}‘

2.1.9数据操作-多个term对多个field发起查询:bool(boolean)

  • 组合查询,must,must_not,should
  • must + must : 交集
  • must +must_not :差集
  • should+should : 并集
curl -XGET http://192.168.74.10:9200/hello/employee/_search?pretty -d ‘
{
 "query":
  {"bool" :
   {
    "must" :
     {"match":
      {"first_name":"bin"}
     },
    "must" :
     {"match":
      {"age":33}
     }
   }
  }
}‘

curl -XGET http://192.168.74.10:9200/hello/employee/_search?pretty -d ‘
{
 "query":
  {"bool" :
   {
    "must" :
     {"match":
      {"first_name":"bin"}
     },
    "must_not" :
     {"match":
      {"age":33}
     }
   }
  }
}‘

curl -XGET http://192.168.74.10:9200/hello/employee/_search?pretty -d ‘
{
 "query":
  {"bool" :
   {
    "must_not" :
     {"match":
      {"first_name":"bin"}
     },
    "must_not" :
     {"match":
      {"age":33}
     }
   }
  }
}‘

2.1.10数据操作-区间查询

查询first_name=bin的,年龄不能在20岁到33岁之间的

curl -XGET http://192.168.74.10:9200/hello/employee/_search -d ‘
{
 "query":
  {"bool" :
   {
   "must" :
    {"term" :
     { "first_name" : "bin" }
    }
   ,
   "must_not" :
    {"range":
     {"age" : { "from" : 20, "to" : 33 }
    }
   }
   }
  }
}‘

2.1.11修改配置

curl -XPUT ‘http://192.168.74.10:9200/test2/‘ -d‘{"settings":{"number_of_replicas":2}}‘

curl -XPUT ‘http://192.168.74.10:9200/test3/‘ -d‘{"settings":{"number_of_shards":3,"number_of_replicas":3}}‘

原文地址:https://www.cnblogs.com/chen8023miss/p/11576723.html

时间: 2024-07-29 11:51:25

ElasticSearch集群安装部署的相关文章

ElasticSearch2.2 集群安装部署

一.ElasticSearch 集群安装部署 环境准备 ubuntu虚拟机2台 ip:192.168.1.104 192.168.1.106 jdk:最低要求1.7,本机jdk版本1.7_67 安装 a.安装jdk(这里不赘述) b.从官网下载ES版本 地址https://www.elastic.co/downloads/elasticsearch c.解压ES到本地 d.进入config目录下,用编辑器打开elasticsearch.yml文件 1.cluster.name: ppscore-

Storm笔记整理(三):Storm集群安装部署与Topology作业提交

[TOC] Storm分布式集群安装部署 概述 Storm集群表面类似Hadoop集群.但在Hadoop上你运行的是"MapReduce jobs",在Storm上你运行的是"topologies"."Jobs"和"topologies"是大不同的,一个关键不同是一个MapReduce的Job最终会结束,而一个topology永远处理消息(或直到你kill它). Storm集群有两种节点:控制(master)节点和工作者(wo

Mysql上的RAC:Percona XtraDB Cluster负载均衡集群安装部署手册

 Percona XtraDB Cluster安装部署手册 引言 编写目的 编写此文档,供PerconaXtraDB Cluster部署时使用. 预期读者 系统维护人员及实施人员. 编制依据及参考资料 目标 通过阅读该手册,让读者明确PerconaXtraDB Cluster的安装.配置和维护情况,为后续数据库运维工作提供指导. 应用部署方案 环境准备 服务器列表 序号 IP 用途 HOSTNAME 操作系统 1 192.168.0.7 Percona XtraDB Cluster RedHat

mesos 集群安装部署规划、准备(1)

一:简介 Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache Incubator中的项目.Mesos计算框架一个集群管理器,提供了有效的.跨分布式应用或框架的资源隔离和共享,可以运行Hadoop.MPI.Hypertable.Spark.使用ZooKeeper实现容错复制,使用Linux Containers来隔离任务,支持多种资源计划分配. 1: 总体架构 Apache Mesos由四个组件组成,分别是Mesos-master,mesos-slave,framework

mesos 集群安装部署zookeeper(2)

三:集群安装配置 ############################################################## 配置zookeeper集群    (172.16.7.12~13 执行) ############################################################### 1:部署环境介绍: 服务器IP地址主机名安装服务 172.16.7.12ctn-7-12.ptmind.com zookeeper   myid=1 17

mesos 集群安装部署mesos-master(3)

############################################################### Mesos 集群master配置 ############################################################### 1:部署环境介绍: 服务器IP地址主机名安装服务 172.16.7.11ctn-7-11.ptmind.com mesos-master 172.16.7.12ctn-7-12.ptmind.com mesos

mesos 集群安装部署marathon(4)

############################################################### 配置 marathon 服务 ############################################################### Marathon:marathon是一个mesos框架,能够支持运行长服务,比如web应用等.是集群的分布式Init.d,能够原样运行任何Linux二进制发布版本,如Tomcat Play等等,可以集群的多进程管理

mesos 集群安装部署chronos(5)

############################################################### chronos 安装部署 ############################################################### Chronos 是一个具备容错特性的作业调度器,可处理依赖性和基于 ISO8601 的调度.Chronos 是由 Airbnb 公司推出的用来替代 cron 的开源产品.你可以用它来对作业进行编排,支持使用 Mesos

mesos 集群安装部署mesos-slave(6)

############################################################### Slave节点安装配置 ############################################################### 1:部署环境介绍: 服务器IP地址主机名安装服务 172.16.7.12ctn-7-12.ptmind.com mesos-slave 172.16.7.13ctn-7-13.ptmind.com mesos-slave