Linux系统下 centos7下搭建ElasticSearch中间件及常用接口演示

 更新时间:2019年07月09日 10:12:24   作者:知了一笑  
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。这篇文章主要介绍了Linux系统下 centos7下搭建ElasticSearch中间件及常用接口演示 ,需要的朋友可以参考下

一、中间件简介

1、基础概念

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

2、分布式数据库

分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。

3、核心角色

1)节点和集群

cluster代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体。单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。

2)Shards分片

代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。

3)Document文档
Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。Document 使用 JSON 格式表示。

4)Index索引

Elastic 会索引所有字段,查找数据的时候,直接查找该索引。每个 Index (即理解为数据库名称)的名字必须是小写。

5)Type类型

Document 可以根据Type进行虚拟的逻辑分组,用来过滤 Document,即理解为数据库表名称。

二、中间件安装

1、安装环境和版本

Centos7
JDK1.8
elasticsearch-6.3.2

2、下载解压

下载的路径,当前目录的文件夹下,也可以指定下载路径。wget -P 目录 网址。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zip
[root@localhost roo]# mv elasticsearch-6.3.2.zip /usr/local/mysoft/
[root@localhost mysoft]# unzip elasticsearch-6.3.2.zip

3、启动软件

[root@localhost mysoft]# cd elasticsearch-6.3.2/
[root@localhost elasticsearch-6.3.2]# ./bin/elasticsearch

1)报错一

org.elasticsearch.bootstrap.StartupException: 
java.lang.RuntimeException: can not run elasticsearch as root

新建用户组和用户

[root@localhost]# useradd esroot
[root@localhost]# passwd esroot
[root@localhost]# groupadd esgroup
[root@localhost]# usermod -g esgroup esroot

esroot用户授权

chown esroot /usr/local/mysoft/elasticsearch-6.3.2 -R

切换到esroot用户

[root@localhost mysoft]# su - esroot
[esroot@localhost ~]$ su #回到root用户

2)报错二

max file descriptors [4096] for elasticsearch process is too low, 
increase to at least [65536]

执行如下命名,该操作在Root权限下操作。

[root@localhost roo]# vim /etc/security/limits.conf 

添加内容

* soft nofile 65536
* hard nofile 65536

切回esroot用户

 再次启动,没有报错信息。

4、打开命令行测试

curl localhost:9200
[roo@localhost ~]$ curl localhost:9200
{
 "name" : "YMS44oi",
 "cluster_name" : "elasticsearch",
 "cluster_uuid" : "2ZXjBnkJSjieV_k1IWMzrQ",
 "version" : {
 "number" : "6.3.2",
 "build_flavor" : "default",
 "build_type" : "zip",
 "build_hash" : "053779d",
 "build_date" : "2018-07-20T05:20:23.451332Z",
 "build_snapshot" : false,
 "lucene_version" : "7.3.1",
 "minimum_wire_compatibility_version" : "5.6.0",
 "minimum_index_compatibility_version" : "5.0.0"
 },
 "tagline" : "You Know, for Search"
}

这样elasticsearch-6.3.2环境搭建成功。

 请求9200端口,Elastic 返回一个 JSON 对象,包含当前节点、集群、版本等信息。
 按下 Ctrl + C,Elastic 就会停止运行。

5、配置外部访问

默认情况下,Elastic 只允许本机访问,如果需要远程访问,可以修改 Elastic 安装目录的config/elasticsearch.yml文件,去掉network.host的注释,将它的值改成0.0.0.0,然后重新启动 Elastic。

[esroot@localhost config]$ cd /usr/local/mysoft/elasticsearch-6.3.2/config
[esroot@localhost config]$ vim elasticsearch.yml 
network.host: 0.0.0.0

6、安装IK中文分词器

切换到root用户

[root@localhost elasticsearch-6.3.2]$ ./bin/elasticsearch-plugin 
install 
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip

三、入门操作

索引创建和删除

1、创建索引

[esroot@localhost ~]$ curl -X PUT 'localhost:9200/esindex01'
# 返回数据
{
 "acknowledged": true,
 "shards_acknowledged": true,
 "index": "esindex01"
}

服务器返回一个 JSON 对象,acknowledged:true字段表示操作成功。

2、删除索引

[esroot@localhost ~]$ curl -X DELETE 'localhost:9200/esindex01'
{"acknowledged":true}

acknowledged:true字段表示操作成功。

四、源代码地址

GitHub地址:知了一笑
https://github.com/cicadasmile
码云地址:知了一笑
https://gitee.com/cicadasmile

总结

以上所述是小编给大家介绍的Linux系统下 centos7下搭建ElasticSearch中间件及常用接口演示 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • linux编辑文件保存退出的实操讲解

    linux编辑文件保存退出的实操讲解

    在本篇文章里小编给大家整理的是一篇关于linux编辑文件保存退出的实操讲解内容,需要的朋友们参考下。
    2020-02-02
  • linux环境下卸载oracle 11g的过程

    linux环境下卸载oracle 11g的过程

    这篇文章主要介绍了linux环境下卸载oracle 11g的过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Centos8搭建本地Web服务器的实现步骤

    Centos8搭建本地Web服务器的实现步骤

    这篇文章主要介绍了Centos8搭建本地Web服务器的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 用shell命令删除网站最新nb挂马的方法与代码

    用shell命令删除网站最新nb挂马的方法与代码

    教你删除网站最新NB挂马最近发现 很多网站被挂了木马,会在页面中生成如下代码。
    2010-02-02
  • Centos7的apache网站环境搭建wordpress

    Centos7的apache网站环境搭建wordpress

    本篇文章给大家详细分析了在Centos7的apache网站环境搭建wordpress的详细操作方法,有兴趣的朋友参考下。
    2018-02-02
  • 详解如何在Linux上一次性批量重命名一组文件

    详解如何在Linux上一次性批量重命名一组文件

    这篇文章主要介绍了详解如何在Linux上一次性批量重命名一组文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • linux查看系统编码和修改系统编码的方法

    linux查看系统编码和修改系统编码的方法

    本文为大家介绍了linux查看系统编码和修改系统编码的方法,这里使用的是redhat系统,大家参考使用吧
    2014-01-01
  • Linux服务器中对于Memcache的安装配置方法

    Linux服务器中对于Memcache的安装配置方法

    Linux服务器中对于Memcache的安装配置教程,服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0
    2011-05-05
  • Linux中mv命令的高级用法示例

    Linux中mv命令的高级用法示例

    这篇文章主要给大家介绍了关于Linux中mv命令的高级用法示例,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 关于Linux命令行下的数学运算示例详解

    关于Linux命令行下的数学运算示例详解

    在Linux中直接使用数学运算符进行数学运算往往得不到我们想要的计算结果。要在Shell中进行数学运算,我们需要借助点小手段。下面这篇文章主要给大家介绍了关于Linux命令行下的数学运算的相关资料,需要的朋友可以参考下
    2018-05-05

最新评论