一、前言
1、本文主要内容
- Elasticsearch 在CentOS环境下安装过程
- 可视化工具Elasticsearch-head安装
3、本篇环境信息
- 服务器
操作系统 | 硬件配置 | IP | 说明 |
---|---|---|---|
CentOS 7 | 4C16G | 192.168.0.11 | 部署Elasticsearch |
- 软件
工具/环境 | 版本 |
---|---|
Elasticsearch | 7.12.1 |
二、准备工作
Elasticsearch支持通过安装包、docker、yum等方式进行安装,这里以最基础的安装包方式进行操作。
1、下载安装包
最新版官方下载地址:www.elastic.co/cn/download…
历史版本下载地址:www.elastic.co/cn/download…
# 下载安装包,这里下载的版本是7.12.1版本
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-linux-x86_64.tar.gz
# 解压
$ tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz
# 移动目录,一般情况下将此类软件安装在/usr/local目录
$ mv elasticsearch-7.12.1 /usr/local
复制代码
2、配置elasticsearch.xml
这个配置文件是Elasticsearch的核心配置文件,在elasticsearch-7.12.1/config/elasticsearch.xml
目录下
-
修改集群名字
es默认也会有一个集群名字,可以根据自己情况进行更改。虽然我们是单机部署,但也会默认有集群名字。
cluster.name: es-cluster 复制代码
-
修改节点名字
node.name: es-node-1 复制代码
-
修改数据及日志保存地址
# 创建data目录,用于存放数据 $ pwd /usr/local/elasticsearch-7.12.1 $ mkdir data # 修改配置文件,找到如下两个选项,进行修改 path.data: /usr/local/elasticsearch-7.12.1/data path.logs: /usr/local/elasticsearch-7.12.1/logs 复制代码
-
修改es网络信息,可以让外部机器也可以访问
network.host: 0.0.0.0 复制代码
-
修改集群节点名称,也可以不用改
cluster.initial_master_nodes: ["es-node0"] 复制代码
3、修改Elasticsearch的JVM参数
自己安装了玩玩的话,根据自己机器的配置调整下即可,生产环境按需配置。
修改配置文件路径:/usr/local/elasticsearch-7.12.1/config/jvm.options
# 找到 -Xms -Xmx选项,我这里设置成512m了
-Xms512m
-Xmx512m
复制代码
4、其他修改
这些配置如果不修改,启动es的时候会报错。例如:
[4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3818] for user [admin] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
复制代码
修改limits.conf
:
# 这个需要管理员权限
$ vim /etc/security/limits.conf
# 添加如下内容
* soft nofile 65535
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
复制代码
修改sysctl.conf
:
# 这个需要管理员权限
$ vim /etc/sysctl.conf
vm.max_map_count=262144
# 刷新一下
$ sysctl -p
复制代码
5、启动用户说明
Elasticsearch不允许使用root用户进行启动,如果你在虚拟机上玩,可能使用的是root用户,创建一个新用户即可。
# 创建esuser用户
$ useradd esuser
# 授权,将elasticsearch-7.12.1目录的所有权限授权给esuser
$ chown -R esuser:esuser /usr/local/elasticsearch-7.12.1
# 切换用户
$ su esuser
复制代码
6、开放端口号
Elasticsearch默认需要两个端口号:9200、9300
9200:使用HTTP协议,用于给外部提供交互;
9300:使用TCP协议,集群内部之间通讯使用;
#开放9200、9300端口号访问,如果你的防火墙开启了的话,root权限,或者将防火墙关闭(自己的虚拟机)
$ firewall-cmd --zone=public --add-port=9200/tcp --permanent
$ firewall-cmd --zone=public --add-port=9300/tcp --permanent
#重载防火墙规则
sudo firewall-cmd --reload
复制代码
三、启动及测试
1、启动
# 进入有启动命令的目录
$ cd /usr/local/elasticsearch-7.12.1/bin
# 前台方式启动,可以看到启动日志信息,按ctrl+c就可以停止
$ ./elasticsearch
# 后台方式启动
$ ./elasticsearch -d
# 停止方式,找到对应的进程号,kill掉即可
$ ps -ef|grep elasticsearch
复制代码
2、测试
访问:http://ip:9200,如果出现如下信息,即代表启动成功
四、安装可视化工具–Elasticsearch-head
Elasticsearch-head是一个用于浏览ElasticSearch集群并与其进行交互的工具。
Github开源地址:github.com/mobz/elasti…
支持多种方式安装
- 编译源码的方式;
- 使用Docker镜像安装;
- 在Chrome浏览器里面安装插件;
- 以Elasticsearch插件的方式安装(官方已经不推荐);
毫无疑问,在浏览器里面增加一个插件是最简单方便的,对其他方式感兴趣的,可以到Github自行浏览一下。
如果你可以科学上网的话,那么直接到谷歌的插件应用市场,搜索即可。
不能的小伙伴也不要紧,我已经将压缩包准备好了,后台回复「Elasticsearch-head」即可获取到下载连接。
怎么手动添加插件就不多说了,应该都会,不会的私信我。
安装好之后,就是下面这个样:
ps:如果使用编译源码方式的小伙伴,安装好之后,可能会有跨域的问题。 解决办法是在 elasticsearch 的 config 文件夹中的 elasticsearch.yml 中添加如下两行配置,即可解决:
http.cors.enabled: true
http.cors.allow-origin: "*"
复制代码
最后,有任何问题,可以关注下「Hugh的白板」公众号,私信我,一起探讨,一起学习,加油!