安装ElasticSearch
安装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查看集群信息
接下来插⼊两条数据
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版本对应,不能搞错,可在 这⾥查看
下载 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
项目地址:
直接安装方式:此处不赘述
Docker安装方式:
docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5启动访问:http://localhost:9100
使用效果:
( 算了,这个简直上古时期的UI真心不想多看一眼,下面就凑合放两张图意思一下吧 )

ElasticHD
ElasticHD 支持 ES监控、实时搜索,Index template快捷替换修改,索引列表信息查看, SQL converts to DSL工具等,体验下来感觉还是比较强大的!
项目地址:
直接安装方式:
- 首先下载 zip 压缩包: https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/
- 修改权限:chmod -R 777 ElasticHD
- 运行: ./ ElasticHD -p 127.0.0.1:9800
Docker安装方式:
docker run -p 9200:9200 -d --name elasticsearch elasticsearch docker run -p 9800:9800 -d --link elasticsearch:demo containerize/elastichd启动访问:http://localhost:9800
使用效果:
这个 Dashboard有点酷炫:
数据搜索直观易使用:

索引列表看得比较清楚:

这个 SQL查询语句转 ES的Json查询格式的小工具挺厉害的
Dejavu
Dejavu 也是一个 Elasticsearch的 Web UI 工具,其 UI界面更符合当下主流的前端页面风格,因此使用起来很方便。
项目地址:
Docker安装方式:
docker run -p 1358:1358 -d appbaseio/dejavu启动访问::http://localhost:1358/
使用效果:
这个数据预览页面非常直观,索引/类型/文档 看得一清二楚

查询功能也不错


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