文章目录

  • 写在前面
  • 1、Elasticsearch初识
  • 2、es包内文件
  • 3、Linux下安装
  • 3.1、下载与配置
  • 3.2、运行
  • 3.3、可能出现的报错
  • 3.4、访问客户端
  • 4、windows下安装
  • 4.1、配置
  • 5、安装可视化界面head
  • 6、安装数据分析工具Kibana
  • 6.1、Kibana配置
  • 7、总结
  • 7.1、elasticsearch
  • 7.2、head
  • 7.3、Kibana
  • 7.4、利用镜像下载


写在前面

Elasticsearch 1 : 本文
Elasticsearch 2 :
Elasticsearch 3 : https://blog.csdn.net/a__int__/article/details/111644611
Elasticsearch 4 :

1、Elasticsearch初识

ES:(elasticsearch搜索引擎)是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。

本文仅适用于es 7.X版本

本文的下一章
Elasticsearch 2 :

2、es包内文件

先看一下es包解压后的目录

win es 默认用户名密码_大数据

config目录

win es 默认用户名密码_elasticsearch_02


jvm.options里面的配置内容

win es 默认用户名密码_搜索引擎_03


jvm相关参数解释:

-Xms 堆的初始大小

-Xmx 堆的最大值

这里面默认设置1G 的堆内存,我们需要根据我们自己电脑可用内存大小调节

elasticsearch.yml里可配置参数:

属性名

说明


配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。


节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理

path.conf

设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch

path.data

设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开

path.logs

设置日志文件的存储路径,默认是es根目录下的logs文件夹

path.plugins

设置插件的存放路径,默认是es根目录下的plugins文件夹

bootstrap.memory_lock

设置为true可以锁住ES使用的内存,避免内存进行swap

network.host

设置bind_host和publish_host,设置为0.0.0.0允许外网访问

http.port

设置对外服务的http端口,默认为9200。

transport.tcp.port

集群结点之间通信端口

discovery.zen.ping.timeout

设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些

discovery.zen.minimum_master_nodes

主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2

3、Linux下安装

3.1、下载与配置

es官网下载:https:///cn/downloads/elasticsearch

可能下载很慢,可以使用迅雷下载,linux上没迅雷自己想办法

这里我们在linux上安装

运行之前,我们需要切换成一个非root账户
因为出于安全考虑,elasticsearch默认不允许以root账号运行。

创建用户:useradd newname
设置密码:passwd newname
切换用户:su - newname

以下指令都是在newname用户下进行

准备工作:

# 解压
tar -zxvf elasticsearch.tar.gz
# 移动到我们要安装的位置
mv elasticsearch-7.10.1/ /home/newname/elasticsearch-7.10.1
# 进入elasticsearch目录下的config目录
cd config
# 修改jvm.options
vim jvm.options
# 修改elasticsearch.yml
vim elasticsearch.yml

修改jvm.options:修改默认配置:-Xms1g -Xmx1g为

-Xms512m
-Xmx512m

修改elasticsearch.yml(修改数据、日志目录、远程访问):

这一步如果不知道自己当前的具体目录,可以输入pwd显示目录

path.data: /home/newname/elasticsearch-7.10.1/data # 数据目录位置
path.logs: /home/newname/elasticsearch-7.10.1/logs # 日志目录位置
network.host: 0.0.0.0

如上指定的两个目录,在对应位置手动创建一下

mkdir data
mkdir logs

目前我们是做的单机安装,如果要做集群,只需要在这个配置文件中添加其它network.host节点信息即可。

3.2、运行

运行之前,注意下面几点:
1、需要在非root账户下运行
2、es-7.10需要安装jdk11
3、jdk需要配置环境变量
4、这个非root账户要有读写文件的权限、或者给es所在目录提权

查询es与jdk对应版本https:///cn/support/matrix#matrix_jvm

非root账户提权 参考:
linux安装jdk1.8 参考:

进入elasticsearch根目录,再进入其bin目录

./elasticsearch

3.3、可能出现的报错

第一种错误:not find jdk

在这一步如果报找不到jdk的错误,可能是下列问题:
1、没使用非root账户
2、jdk没有配置环境变量

查找java安装路径:
配置Java环境变量:

第二种错误:unable to install syscall filter

win es 默认用户名密码_搜索引擎_04

如果用centos6(其linux内核版本为2.6 ),则会出现如下报错,原因是Elasticsearch的插件要求至少3.5以上版本。

不过没关系,我们禁用这个插件即可。修改elasticsearch.yml文件,在最下面添加如下配置:

bootstrap.system_call_filter: false

第三种错误:文件权限不足

win es 默认用户名密码_大数据_05


登陆root账户,修改配置文件如下

vim /etc/security/limits.conf

添加内容

* soft nofile 65536

* hard nofile 131072

* soft nproc 4096

* hard nproc 4096

第四种错误:线程数不够
[2]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

这是线程数不够,继续修改配置:

vim /etc/security/limits.d/90-nproc.conf

将* soft nproc 1024改为

* soft nproc 4096

第五种错误:进程虚拟内存

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

报的错误也可能是

controller process has stopped - no new native processes can be started

vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件:

vim /etc/sysctl.conf

添加下面内容

vm.max_map_count=655360

完成后执行sysctl -p命令,载入sysctl配置文件;

sysctl -p

配置完成重启终端端口

第六种错误:
Exception in thread “main” SettingsException[Failed to load settings from…

出现这个错误要注意elasticsearch.yml文件是否填写有错:
在yaml文件里,”:“后面必须要加空格

或者考虑是不是该用户没有权限读取elasticsearch.yml文件
切到elasticsearch.yml目录下
执行sudo chmod 777 elasticsearch.yml

第七种错误:Exception in thread “main” java.nio.file.AccessDeniedException:

这个还是文件权限不足
解决方法: chown -R 用户名:用户名 文件(目录)名

尽量将整个elasticsearch所在目录都放权

sudo chown -R leyou:leyou /home/leyou/elasticsearch-7.10.1

第八种错误:bootstrap checks failed
解决方案:

在elasticsearch的config目录下,修改elasticsearch.yml配置文件,将下面的配置加入到该配置文件中:

ip替换host1等,多节点请添加多个ip地址,单节点可写按默认来
#配置以下三者,最少其一
#[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
cluster.initial_master_nodes: [“node-1”] #这里的node-1为node-name配置的值

具体参考:

3.4、访问客户端

运行成功后可以看到:

  • 9300:集群节点间通讯接口
  • 9200:客户端访问接口

通过主机ip+9200可以访问客户端,但是要确保你的linux防火墙9200端口开放

centos开放9200端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload

访问

win es 默认用户名密码_win es 默认用户名密码_06

4、windows下安装

es下载网址:https:///cn/downloads/elasticsearch

直接下载很慢:用迅雷下载

这里我使用的版本:
es 版本 7.10
jdk 版本 1.8

下载完解压

win es 默认用户名密码_win es 默认用户名密码_07


进入bin目录,双击elasticsearch.bat就可以运行

win es 默认用户名密码_elasticsearch_08

运行成功后可以看到:

  • 9300:集群节点间通讯接口
  • 9200:客户端访问接口

访问:http://127.0.0.1:9200/

win es 默认用户名密码_大数据_09

4.1、配置

进入config目录,修改elasticsearch.yml文件,添加如下两个路径,记得也要创建对应的文件夹

win es 默认用户名密码_搜索引擎_10

进入config目录,修改jvm.options文件,根据我电脑的内存,我将堆内存改成了512m

win es 默认用户名密码_java_11

进入bin目录,双击elasticsearch.bat启动

如果不出问题的话,es就开始运行了,如果出现问题,比如闪退了,
可以打开一个cmd窗口运行elasticsearch.bat,查看错误是什么

win es 默认用户名密码_elasticsearch_12

5、安装可视化界面head

安装head之前需要安装node.js

参考:
注意:node.js依赖于python,所以你可能还需安装python:
当然node.js官网最新版,安装时会自动帮你安装python环境

下载head插件:https:///mobz/elasticsearch-head

win es 默认用户名密码_elasticsearch_13


下载完成,进入解压目录,打开对应的cmd

win es 默认用户名密码_搜索引擎_14


输入npm install 安装依赖

win es 默认用户名密码_java_15

如果npm安装太慢,可以使用cnpm指令安装,参考:

依赖安装完成,输入npm run start

win es 默认用户名密码_搜索引擎_16


访问页面

win es 默认用户名密码_win es 默认用户名密码_17


由于es的端口是9200,这里使用head连接的话就跨域了,所以我们在es里面配置一下跨域

在es目录,找到config目录下的elasticsearch.yml

添加下面配置

http.cors.enabled: true
http.cors.allow-origin: "*"

保存后,重启es、head

win es 默认用户名密码_elasticsearch_18


连接

win es 默认用户名密码_win es 默认用户名密码_19

6、安装数据分析工具Kibana

Kibana :可以进行数据查看、数据分析、数据可视化
kibana在很多日志系统中,用来做日志分析,我们使用kibana进行请求测试

Kibana下载:https:///cn/downloads/kibana

下载的时候需要注意:Kibana 和 es版本要一致
下载完成解压很慢

解压完成找到kibana.bat双击运行

win es 默认用户名密码_win es 默认用户名密码_20


win es 默认用户名密码_win es 默认用户名密码_21


访问web端

win es 默认用户名密码_elasticsearch_22

打开它的控制台

win es 默认用户名密码_elasticsearch_23


win es 默认用户名密码_elasticsearch_24

6.1、Kibana配置

Kibana汉化:
找到config目录下的kibana.yml,在里面添加下面内容:

i18n.locale: "zh-CN"

改完重启生效,
如果你想自定义汉化内容,你可以修改下列文件
位置:kibana根目录\x-pack\plugins\translations\translations

win es 默认用户名密码_java_25

7、总结

仅windows下

7.1、elasticsearch

下载:https:///cn/downloads/elasticsearch
运行:双击bin/elasticsearch.bat
访问:http://localhost:9200/

7.2、head

下载:https:///mobz/elasticsearch-head
运行:npm install (下载依赖)、npm run start(运行)
访问:http://localhost:9100/

7.3、Kibana

下载:https:///cn/downloads/kibana
运行:双击bin/kibana.bat
访问:http://localhost:5601/

7.4、利用镜像下载

下载太慢的同学,还可以从华为镜像下载
ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=D
logstash: https://mirrors.huaweicloud.com/logstash/?C=N&O=D
kibana: https://mirrors.huaweicloud.com/kibana/?C=N&O=D