上手 Elasticsearch
上手Elasticsearch
准备工作
上一篇文章中,虽然我们已经把es
启动起来了,但是还是有一些问题,还是有一些配置需要调整,下面我们将这部分的配置进行补全,涉及到的文件包括/elasticsearch-7.8.0/bin/elasticsearch-env
,/etc/sysctl.conf
,/elasticsearch-7.8.0/config/jvm.options
,/elasticsearch-7.8.0/config/elasticsearch.yml
根据启动es
启动的报错日志,我们需要修改文件lasticsearch-env
的俩个符号问题
修改jvm.options
文件中的内容如下
# 原来的1g
-Xms1g
-Xmx256m
# 修改为256m
-Xms256m
-Xmx256m
在ysctl.conf
文件中添加如下内容
以及需要创建的俩个目录:
/path/to/data
,
/path/to/logs
,
这俩个目录的配置是在elasticsearch.yml
文件中,如下:
# 数据目录
path.data: /path/to/data
# 日志目录
path.logs: /path/to/logs
创建完成后,我们需要切换到root
用户下将目录的权限授权给启动es
的用户triumphxx
,执行如下俩条命令进行授权
chown -R triumphxx:triumphxx /path/to/data/
chown -R triumphxx:triumphxx /path/to/logs/
❝
以上这些配置小伙伴们不必担心不会配置,因为在你启动
es
的时候,日志里都会进行详细的说明,只要大家,按着提示找到对应的文件进行修改添加配置即可。❞
验证
当你看到日志里没有报错,并且日志输出如下描述的时候,说明我们的es
已经没有任何问题了,也就是启动成功了,接下来我们就可以操作它了
访问
在你的浏览器输入ip:端口
,能够看到es
返回的数据如下,可以看到有几个信息使我们在/elasticsearch-7.8.0/config/elasticsearch.yml
配置的
{
"name" :
"node-1",
"cluster_name" : "es",
"cluster_uuid" : "P2_t8-aPS_iB_7trNLztMg",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0beta1"
},
"tagline" : "You Know, for Search"
}
REST
接口
如上所示,我们将节点个集群启动后,接下来我们就要和es
进行通信,es
为开发者提供了强大的rest api
功能,能够然开发者和es
进行方便的"沟通",包括集群的健康检查,对索引进行增、删、改、查和查询的操作,已经实现高级的搜索功能。
检查集群
执行如下操作,就能够看到我们的集群的状态和其他的一些信息数据
curl -X GET "localhost:9200/_cat/health?v"
es
会相应如下的信息给我们
❝
有上图:我们可以看到,集群的名称、集群的状态、集群的节点数、集群的额分片数等信息
集群状态:集群的状态分为
green
、yellow
、red
三种状态,第一种状态,表示集群运行一切良好,功能齐全,数据完备。第二种状态,表示集群的所有数据都是可以使用的,有部分的数据没有被分配到副本分片上。第三种状态,表示集群的部分功能是不可以使用的,部分数据是不可以是使用的,数据没有被完全分配,但是可以提供搜索服务。
❞
检查节点
执行如下的命令,可以查看目前的集群中的节点的详细信息
curl -X GET "localhost:9200/_cat/nodes?v"
❝
如上图:可以看到,目前整个集群只有一个节点,节点的名称是,
node-1
,并且在master
下有一个*号,表示该节点是一个主节点❞
创建索引库
通过如下命令,我们能够创建一个名称为triumphxx
的索引库,返回如下图片显示的内容表示,添加索引库成功。
curl -X PUT "localhost:9200/triumphxx/?pretty"
❝
大家可以看到,上面的命令,有一个参数
pretty
,这个参数的作用是,请求完es
的返回数据以josn
格式输出。❞
查询索引库
curl -X GET "localhost:9200/_cat/indices?v"
❝
可以看到我们刚刚创建的索引,已经查询出来了,有一个主分片一个复制分片,但是健康状态是
yellow
为什么呢?因为我们下现在只有一个节点,主分片和复制分片没有分配到不同的检点下。还可以看到,这个索引下的文档数是没有的,因为我们没有创建文档。❞
添加文档
我们为索引triumphxx
添加一个文档,然后在查询索引,观看有哪些学校发生了变化
curl -X PUT "localhost:9200/triumphxx/_doc/1"
{
"name":"triumphxx"
}
执行成功后返回如下的内容
{
"_index": "triumphxx",
"_type": "_doc",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
继续查看索引,观察在索引triumphxx
是否文档数目发生了变化,可以看索引下的文档数目为1
查询文档
执行如下的命令,查询我们上文添加的文档
curl -X GET "localhost:9200/triumphxx/_doc/1?pretty"
❝
可以看到我们将刚添加进去的文档查询了出来,包括索引名称、文档类型、文档
id
文等,档的内容在_source
的下面进行展示❞
删除索引
执行如下命令,进行索引的删除,如下图,表示索引已经删除成功。
curl -X DELETE "localhost:9200/triumphxx?pretty"
我们进行索引的查询,看是否已经删除,执行curl -X GET "localhost:9200/_cat/indices?v"可以看到已经没有索引的存在了。
小结
好了,小伙伴们,今天我们就聊到这里了,今天主要和大家介绍了我们如何查看集群的状态是否运行良好,已经针对索引库的增、删、查以及如何创建文档,以后的文章我们还会深入的聊这些内容以及其他的内容。
版权声明: 本文为 InfoQ 作者【北漂码农有话说】的原创文章。
原文链接:【http://xie.infoq.cn/article/d46746e10092f91cb3b94d346】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论