Elasticsearch使用记录

Elasticsearch的搭建方法


1.RPM方式搭建

首先去官网[https://www.elastic.co/downloads/elasticsearch#ga-release]

下载最新的ES RPM安装包,下载下来之后,直接执行rpm -ivh elasticsearch.rpm就可以了

Es进程已经可以用systemctl服务去启动了,sysatemctl start elasticsearch.

你需要记住一点,Es需要java环境的支持,先检查有没有java环境,没有的话需要下载jre去启动它。


2.源码包搭建

首先去官网[https://www.elastic.co/downloads/elasticsearch#ga-release]下载最新版的安装包elasticSearch-6.3.2.tar.gz

解压包:

tar -xvf elasticsearch-6.3.2.tar.gz

执行如下命令

#添加用户
adduser elasticSearch
passwd elasticSearch 根据提示输入两次密码即可
#赋予可执行权限
chown -R elasticSearch@elasticSearch /opt/elasticSearch/
其中后面的路径是我的解压路径

添加后台自启动方式

./bin/elasticsearch -d -p pid

3.注意事项

这里需要注意,无论你通过哪种方式安装,请打开9200,9300端口,如果你不想你的Es像个自嗨的傻瓜。。。那就按我说的去做:

firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload

原理就是9200和9300这两个端口是es启动时默认分配的,9200是对外服务端口,外部所有的API请求都是通过这个端口和es服务器通信的,9300是集群间的通信端口,集群中的各个节点就是通过这个端口来发现当前节点并组成集群的。明白?

Es的系统参数配置


在Es中,最重要的就是参数配置,这个决定了Es集群或者是节点的性质,性能等。所以,在这里,我会贴出我的节点配置,大家自己参考。

Es的配置文件默认是

/etc/elasticsearch/elasticsearch.yml

我的配置如下:

# Es集群名
cluster.name: Es_test
# Es节点名
node.name: es_node1
# 是否有资格被选为主节点(很重要,决定身份,默认true)
node.master:true
# 决定节点是否存放数据(很重要,同上)
node.data:true
# 设置默认索引分片个数,默认为5片。
index.number_of_shards:5
# 设置默认索引副本个数,默认为1个副本。
index.number_of_replicas:1
# Es对外开放的Ip
network.host: 10.0.6.244
# Es对外开放的端口
http.port: 9200
# 集群内各节点通信端口
transport.tcp.port: 9300
# Es集群包含的节点IP
discovery.zen.ping.unicast.hosts: ["10.0.6.244"]
# 这个参数很重要,一般的取值规则是master.node/2+1,可以防止脑裂的情况发生
discovery.zen.minimum_master_nodes: 1
# 是安装head插件锁需要的
http.cors.enabled: true
# 同上
http.cors.allow-origin: "*"
# 打开本地localhost 的访问权限,很重要
network.bind_host: "::"
# 数据存放位置
path.data: /var/lib/elasticsearch
# 日志存放位置
path.logs: /var/log/elasticsearch

这里只是简单配置,这样基本就可以跑起来。


Es的一些常用命令

查看Es的状态:

curl -XGET "http://127.0.0.1:9200/"

查看集群健康:

curl -XGET "http://127.0.0.1:9200/_cluster/health?pretty"

查看集群现有的index:

curl -XGET "http://127.0.0.1:9200/_cat/shards"

查看集群列表

curl http://127.0.0.1:9200/_cat/nodes?v

创建一个index

curl -XPUT http://127.0.0.1:9200/user?pretty

添加一个doc

curl -H "Content-Type: application/json" -XPUT http://127.0.0.1:9200/message/external/1?pretty -d '{"name":"lisg"}'

查询一个doc

curl -H "Content-Type: application/json" -XGET http://127.0.0.1:9200/message/external/1?pretty

删除一个doc

curl -H "Content-Type: application/json" -XDELETE http://127.0.0.1:9200/message/external?pretty

Elasticsearch使用记录的更多相关文章

  1. ElasticSearch 学习记录之ES几种常见的聚合操作

    ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city&quo ...

  2. ElasticSearch 学习记录之ES短语匹配基本用法

    短语匹配 短语匹配故名思意就是对分词后的短语就是匹配,而不是仅仅对单独的单词进行匹配 下面就是根据下面的脚本例子来看整个短语匹配的有哪些作用和优点 GET /my_index/my_type/_sea ...

  3. ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理

    分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...

  4. ElasticSearch 学习记录之如任何设计可扩容的索引结构

    扩容设计 扩容的单元 一个分片即一个 Lucene 索引 ,一个 Elasticsearch 索引即一系列分片的集合 一个分片即为 扩容的单元 . 一个最小的索引拥有一个分片. 一个只有一个分片的索引 ...

  5. ElasticSearch 学习记录之ES高亮搜索

    高亮搜索 ES 通过在查询的时候可以在查询之后的字段数据加上html 标签字段,使文档在在web 界面上显示的时候是由颜色或者字体格式的 GET /product/_search { "si ...

  6. ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询

    ES添加排序 在默认的情况下,ES 是根据文档的得分score来进行文档额排序的.但是自己可以根据自己的针对一些字段进行排序.就像下面的查询脚本一样.下面的这个查询是根据productid这个值进行排 ...

  7. ElasticSearch 学习记录之父子结构的查询

    父子结构 父亲type属性查询子type 的类型 父子结构的查询,可以通过父亲类型的字段,查询出子类型的索引信息 POST /product/_search { "query": ...

  8. ElasticSearch 学习记录之Text keyword 两种基本类型区别

    ElasticSearch 系列文章 1 ES 入门之一 安装ElasticSearcha 2 ES 记录之如何创建一个索引映射 3 ElasticSearch 学习记录之Text keyword 两 ...

  9. Elasticsearch学习记录(分布式的特性)

    Elasticsearch学习记录(分布式的特性) 分布式的特性 我们提到Elasticsearch可以扩展到上百(甚至上千)的服务器来处理PB级的数据.然而我们的例子只给出了一些使用Elastics ...

随机推荐

  1. Maven 小技巧之 自动更新你的jar包

    在做selenium 自动化测试的时候,我们经常遇到这样的情况:浏览器悄悄升级了.紧接着所有测试用例都Fail. 检查过日志之后发现,原来是升级过的浏览器,我们用原来的selenium已经无法操作. ...

  2. P-Called-Party-ID 头域的应用说明

    P-Called-Party-ID 头域的适用场景 P-Called-Party-ID 适用于 UAS 须要知道在代理将目标改写为Contact 地址之前请求中Request-URI的目的AOR的情况 ...

  3. 【JQuery Easy UI】后台管理系统的简单布局分享

    重要说明:本博已迁移到 石佳劼的博客.有疑问请到 文章新地址 留言..! 近期做的一个简单的后台管理系统,当中用到了JQuery Easy UI框架,对于撸主这样的把控件能摆整齐就谢天谢地的码农来说, ...

  4. ArcObject IFeature set_Shape()和Delete()报错

    这样的问题主要是Ifeature实际在数据库里面不存在!可是通过IFeatureClass.getFeature()又可以得到! 详细操作流程: 首先是对要素进行删除,可是通过IFeatureClas ...

  5. EasyNetQ操作RabbitMQ(高级消息队列)

    RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件).写消息队列的时候用RabbitMQ比较好,但是写的时候需要自己封装下,自己的封装,就需要对RabbitM ...

  6. springboot 中使用AOP

    网上关于AOP的例子好多,各种名词解释也一大堆,反正名词各种晦涩,自己写个最最最简单的例子入门mark一下,以后再深入学习. maven依赖 <dependency> <groupI ...

  7. C#实战Microsoft Messaging Queue(MSMQ)消息队列(干货)<转>

    前言 在使用MSMQ之前,我们需要自行安装消息队列组件!(具体安装方法大家自己搜一下吧) 采用MSMQ带来的好处是:由于是异步通信,无论是发送方还是接收方都不用等待对方返回成功消息,就可以执行余下的代 ...

  8. vmware下为CentOS7设置静态IP

    vmware下为CentOS7设置静态IP可以分为三个主要步骤: 1. 在windows中设置VMWare创建的虚拟网络 2. 设置VMWare为静态IP 3. 设置CentOS7的网络为静态IP 首 ...

  9. find 多文件查找需要单引号

    [root@db01 local]# find  -name '*.com'|xargs egrep "qq"./tt.com:qq[root@db01 local]# find  ...

  10. Arbitrage - poj 2240 (Bellman-ford)

      Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 17374   Accepted: 7312 Description Ar ...