一、中间件简介

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中间件,常用接口演示相关推荐

  1. python es 数据库 ik_Linux系统:centos7下搭建ElasticSearch中间件,常用接口演示

    一.中间件简介 1.基础概念 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用J ...

  2. Linux系统:Centos7下搭建PostgreSQL关系型数据库

    本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...

  3. Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站

    Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站 Linux 常用命令ls -l 以长格式显示-a 显示.. 和 .-A 不显示 . 和 ..-d ...

  4. kali dvwa php mysql,kali linux 2.0下搭建DVWA渗透测试演练平台

    DVWA (Dam Vulnerable Web Application)DVWA是用PHP+MySQL编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...

  5. linux7 postfix,CentOS7下搭建postfix邮箱服务器并实现extmail的web访问

    笔记内容:CentOS7下搭建postfix邮箱服务器并实现extmail的web访问 笔记日期:2017-11-20 闲来无事想着尝试使用postfix搭建一个邮箱服务器,我是边搭建边写这个笔记,搭 ...

  6. Linux系统IO分析工具之iotop常用参数介绍

      Linux系统IO分析工具之iotop常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(iostat中的 ...

  7. 新装linux系统(centOs7)使用nginx驱动vue项目

    新装linux系统(centOs7)使用nginx驱动vue项目 配置linux环境 centos安装nginx 安装nginx前首先要确认系统中安装了gcc.pcre-devel.zlib-deve ...

  8. 【Linux】CentOS7下安装Ngnix代理服务器详细过程 附Linux 64位 Ngnix压缩包百度云盘分享

    [Linux]CentOS7下安装Ngnix代理服务器详细过程 附Linux 64位 Ngnix压缩包百度云盘分享 Ngnix基本概况 Nginx (读作"engine X") 由 ...

  9. linux使用yum下安装elasticsearch 7.17.6-1

    linux使用yum下安装elasticsearch 7.17.6-1 首先确定linux系统中yum环境是正常的 在/etc/yum.repos.d/ 或者/etc/zypp/repos.d/ 目录 ...

最新文章

  1. python2转python3文件
  2. python max函数_Python3
  3. ×××S 2012 参照函数 -- 介绍
  4. iframe高度动态自适应
  5. (转)android Fragments详解三:实现Fragment的界面
  6. 后盾网lavarel视频项目---图片上传
  7. THUSC2019游记
  8. 1.10 编程基础之简单排序 06 整数奇偶排序 python
  9. 上海大学c语言程序设计,上海大学2009-2010年度C语言程序设计秋季学期试卷.doc
  10. vue 第三天(绑定属性)
  11. 2节串联锂电池充电管理IC芯片,5V,12V升降压解决方案
  12. java程序员待遇怎么样_上海海文告诉你Java程序员工资待遇到底如何
  13. 使用字体编辑软件修改字体
  14. 什么是UI(UI百科)
  15. 浏览器页面前端自适应方案
  16. Android学习之仿QQ讨论组和微信群聊头像
  17. getValueFromEvent和shouldUpdate
  18. 连锁不平衡的计算以及LDSC分析多基因遗传
  19. 【日常】FAB法则在产品设计的应用
  20. CI框架教程5——整合PHPExcel库应用

热门文章

  1. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节7:缓冲区管理
  2. (王道408考研操作系统)第三章内存管理-第一节8:非连续分配管理方式之段页式管理方式
  3. shell脚本if中判断大于、小于、等于、不等于的符号
  4. ROS kinetic外接Realsense D435i跑ORB_SLAM2教程
  5. 设计模式:模板方法模式(C++)【喝咖啡还是喝茶】
  6. 图:图的邻接矩阵创建、深度优先遍历和广度优先遍历详解
  7. Swing企业员工工资管理系统v1.4(java毕业设计)
  8. NHibernate第一个实例
  9. Netty构建游戏服务器(一)--基本概念与原理
  10. 瞎学的几天 ----java多线程和线程池