跳至主要內容

安装ElasticSearch

soulballad环境配置CentOSCentOS约 1511 字大约 5 分钟

安装ElasticSearch

环境准备

节点准备

本⽂准备搭建 双节点 Elasticsearch集群(⽤双节点仅仅是做演示),因此这⾥准备了两台 Linux
CentOS 7.4 64bit 机器:

  • 节点1: 192.168.31.8
  • 节点2: 192.168.31.9

Elasticsearch 安装包准备

这⾥下载的是: 7.8.0 版

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz

安装⽬录准备

这⾥拟将 Elasticsearch安装在 /opt/program/elasticsearch ⽬录下:

mkdir -p /opt/program/elasticsearch
# 将压缩包复制到该⽬录下并解压

ELASTICSEARCH 集群配置

需要修改两个节点上的配置⽂件 elasticsearch.yml

节点1 配置

mkdir /opt/elasticsearch
将压缩包复制到该⽬录下并解压

cluster.name: codesheep # 集群名称
node.name: sheep1 # 节点名
network.host: 192.168.31.8 # 绑定的节点1地址
network.bind_host: 0.0.0.0 # 此项不设置你试试本机可能访问不了啊
discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] # hosts列表
discovery.zen.minimum_master_nodes: 1
## 如下配置是为了解决 Elasticsearch可视化⼯具 dejavu的跨域问题!若不⽤可视化⼯具则可省略之
http.port: 9200
http.cors.allow-origin: "http://192.168.199.76:1358"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true

节点2 配置

cluster.name: codesheep # 集群名称
node.name: sheep2 # 节点名
network.host: 192.168.31.9 # 绑定的节点2地址
network.bind_host: 0.0.0.0 
discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] # hosts列表
discovery.zen.minimum_master_nodes: 1
## 如下配置是为了解决 Elasticsearch可视化⼯具 dejavu的跨域问题!若不⽤可视化⼯具则可省略之
http.port: 9200
http.cors.allow-origin: "http://192.168.199.76:1358"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true

机器配置

集群中每台机器都要改动

# 更改linux的最大文件描述限制要求
vim  /etc/security/limits.conf

* soft nofile 262144
* hard nofile 262144
es soft memlock unlimited
es hard memlock unlimited 

# 更改linux的的最大线程数(不一定是90-nproc,根据实际情况修改)
vi  /etc/security/limits.d/90-nproc.conf

*          soft    nproc     unlimited
root       soft    nproc     unlimited

# 更改linux一个进行能拥有的最多的内存区域要求

vm.max_map_count = 262144
vm.swappiness = 1

集群启动前准备

创建⽤户及⽤户组

由于 Elasticsearch不能以 root⽤户启动,因此需要添加⾮ root⽤户:

groupadd es
useradd es -g es
chown -R es:es ./elasticsearch-7.8.0

关闭防⽕墙

systemctl stop firewalld
systemctl disable firewalld

启动 ELASTICSEARCH集群

切换⽤户

su es

分别启动服务

分别在 节点1和 节点2上启动ES服务

cd bin
./elasticsearch # 若要后台启动,则加-d参数

浏览器查看启动效果

访问 http://ip:9200

命令⾏查看集群信息

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

利⽤可视化⼯具 dejavu查看集群信息

dejavu地址open in new window

接下来插⼊两条数据

curl -X PUT 'localhost:9200/accounts/person/1' -d ' {
 "user": "张三",
 "title": "⼯程师",
 "desc": "数据库管理" }'
curl -X PUT 'localhost:9200/accounts/person/1' -d ' {
 "user": "赵四",
 "title": "设计师",
 "desc": "UI设计" }'

查看数据的⼊库效果

安装IK分词器

在 Elasticsearch的世界中,插件是很重要的⼀部分,很多功能都可以通过插件来实现,因此下⾯
就以常⽤的 IK分词器插件 的安装为例,来操作⼀下 Elasticsearch插件的安装

分词技术是搜索技术的基⽯,⽽ IK分词器是⽐较经典的⼀个,接下来尝试安装⼀下吧
IK分词器版本与 ES版本对应,不能搞错,可在 这⾥查看open in new window

下载 IK分词器插件

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip

解压&安装

新建⽬录 /opt/propgram/elasticsearch/elasticsearch-7.8.0/plugins/elasticsearch-analysis-ik- 7.8.0
再将 zip包置于上述⽬录下并解压:

unzip elasticsearch-analysis-ik-7.8.0.zip

重启 Elasticsearch集群

重启 Elasticsearch集群,若发现如下内容,这说明插件安装成功:

怎么样,很简单吧,说到底就是⼀个解压放置的过程⽽已。

Elasticsearch常用GUI

强大的搜索引擎 Elasticsearch 与传统关系型数据库的一个明显不同点在于 前者是一个非结构化的 NoSQL数据库,因此里面的很多概念诸如索引、类型、文档等对于初学者可能会有些疑惑。有时候我们即使搭建好了ES集群,但数据存进去后到底是以一个什么形态存在,我们可能也疑惑重重,此时要是有个可视化的管理工具来辅助一下就便易于理解了,因此本文就搜罗了几种 Elasticsearch可视化管理工具并一一体验一番。

elasticsearch-head

  • 项目地址:

    https://github.com/mobz/elasticsearch-headopen in new window

  • 直接安装方式:此处不赘述

  • Docker安装方式:

    docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5
    
  • 启动访问:http://localhost:9100

  • 使用效果:
    ( 算了,这个简直上古时期的UI真心不想多看一眼,下面就凑合放两张图意思一下吧 )
    img
    img

ElasticHD

ElasticHD 支持 ES监控、实时搜索,Index template快捷替换修改,索引列表信息查看, SQL converts to DSL工具等,体验下来感觉还是比较强大的!

Dejavu

Dejavu 也是一个 Elasticsearch的 Web UI 工具,其 UI界面更符合当下主流的前端页面风格,因此使用起来很方便。

  • 项目地址:

    https://github.com/appbaseio/dejavu/open in new window

  • Docker安装方式:

    docker run -p 1358:1358 -d appbaseio/dejavu
    
  • 启动访问::http://localhost:1358/

  • 使用效果:

    这个数据预览页面非常直观,索引/类型/文档 看得一清二楚
    img

    查询功能也不错
    img

    img

好了,就抛砖引玉到这里了,大家可以根据自己的喜好进行深度体验!

参考:

上次编辑于:
贡献者: soulballad