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
[[email protected] roo]# mv elasticsearch-6.3.2.zip /usr/local/mysoft/
[[email protected] mysoft]# unzip elasticsearch-6.3.2.zip

3、启动软件

[[email protected] mysoft]# cd elasticsearch-6.3.2/
[[email protected] elasticsearch-6.3.2]# ./bin/elasticsearch

1)报错一

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

新建用户组和用户

[[email protected]]# useradd esroot
[[email protected]]# passwd esroot
[[email protected]]# groupadd esgroup
[[email protected]]# usermod -g esgroup esroot

esroot用户授权

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

切换到esroot用户

[[email protected] mysoft]# su - esroot
[[email protected] ~]$ su #回到root用户

2)报错二

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

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

[[email protected] roo]# vim /etc/security/limits.conf
添加内容
* soft nofile 65536
* hard nofile 65536

切回esroot用户
再次启动,没有报错信息。

4、打开命令行测试

curl localhost:9200

[[email protected] ~]$ 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。

[[email protected] config]$ cd /usr/local/mysoft/elasticsearch-6.3.2/config
[[email protected] config]$ vim elasticsearch.yml
network.host: 0.0.0.0

6、安装IK中文分词器

切换到root用户

[[email protected] 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、创建索引

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

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

2、删除索引

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

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

四、源代码地址

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


原文地址:https://www.cnblogs.com/cicada-smile/p/11154558.html

时间: 2024-11-10 10:43:43

Linux系统:centos7下搭建ElasticSearch中间件,常用接口演示的相关文章

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

本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux.Unix.Windows等.PostgreSQL是完全的事务安全性数据库,完整地支持外键.联合.视图.触发器和存储过程,支持了大多数的SQL:2008标准的数据类型,包括整型.数值型.布尔型.字节型.字符型.日期型.时间间隔型和时间型,它也支持存储二进制的大

linux系统CentOS7

linux系统CentOS7 到http://mirrors.sohu.com/mysql/下载想要的mysql版本 这里用到的是 mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 用 WinSCP上传到指定的目录下,这里是 /usr/local/src 也可以直接在shell端提要供下载文件的详细url用wget命令下载到指定文件夹内 wget是一个从网络上自动下载文件的自由工具,它支持HTTP.HTTPS和FTP协议. -c : 接着下载没下载完的文件,允许

Linux系统 Centos7/Centos6.8 yum命令在线安装 MySQL5.6

Linux系统 Centos7 yum命令在线安装 MySQL5.6 标签: centosmysqlyum 2015-11-18 17:21 707人阅读 评论(0) 收藏 举报  分类: Linux 版权声明:本文为博主原创文章,未经博主允许不得转载. 现在Centos7的yum源中 没有mysql,可以直接安装.用了MariaDB 代替了. 那我们如果要装MySQL数据库,可以用以下方法 # wget http://dev.mysql.com/get/mysql-community-rele

CentOS7 下安装 ElasticSearch 5.x 及填坑

ElasticSearch简介 什么是ElasticSearch: ElasticSearch是基于Apache Lucene构建的开源搜索引擎 采用Java编写,提供了简单易用的RESTFul API 轻松的横向扩展,可支持PB级的结构化或非结构化的数据处理 应用场景: 海量数据分析引擎 站内搜索引擎 作为数据仓库 一线公司实际应用场景: 英国卫报 - 实时分析公众对文章的回应 维基百科.GitHub - 站内实时搜索引擎 百度 - 实时日志监控平台 单实例安装ElasticSearch 在安

linux,centos7上搭建LVS负载均衡

在linux,centos7上搭建LVS负载均衡 实前准备 准备五台虚拟机 四台centos7 一台做调度 一台做nfs缓存 两台做wed群集 一台windows7 开始逐个配置 配置nfs服务器(centos7在用的时候是在线下载源代码包但是为了做实验先把源代码用yum安装好后改为仅主机模式) IP:192.168.10.174 用rpm -q nfs-utils查看有没有安装 rpcbind (远程过程调用) 编辑配置文件 [[email protected] ~]# vim /etc/ex

LINUX系统服务器上搭建DHCP服务,实现两大基本功能:1,自动分配ip;2,手工指定ip

在linux系统服务器上搭建DHCP服务,实现两大基本功能:1,自动分配ip地址:2,手动指定ip地址.首先准备两台虚拟机作为实验对象,一个linux系统作为服务器,一个windows7系统作为客户机,两者使用同一个虚拟网卡vmnet1,并使用仅主机模式.确定服务器上光盘状态为已连接,使用命令查看并挂载光盘检查dhcp软件包是否安装,若没有则使用rpm进行安装.复制dhcp配置文件的模板,并修改编辑dhcp的配置文件,进行相关设定并保存退出=" alt="LINUX系统服务器上搭建DH

在Centos7下搭建Socks5代理服务器

在Centos7下搭建Socks5代理服务器 知者不言0人评论20237人阅读2017-12-21 09:50:25 采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器.Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准.Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理. HTTP 层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FT

Linux 使用 docker 下搭建xunsearch 搜索引擎服务

Linux 使用 docker 下搭建 xunsearch 搜索引擎服务 安装 docker 环境(菜鸟教程有说明) 安装docker说明 下载并运行 xunsearch 的服务端:docker安装xunsearch说明 docker 安装完毕后,开始安装xunsearch镜像 docker pull hightman/xunsearch 启动镜像 //镜像非开机自启 docker run --name xunsearch -d -p 8383:8383 -p 8384:8384 -v /var

在Centos7下搭建Git服务器

简介 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具. 开放源码社区中的有些人觉得BitKeeper