[toc]
二、安装上手
1. Elasticsearch的安装和简单配置
Elasticsearch非常容易在个人电脑上搭建环境

- 下载
Elasticsearch安装包https://elasticsearch.cn/download/ Elasticsearch还有官方的Docker镜像,我们可以在Docker中很容易的启动它
2. Elasticsearch的文件目录结构
| 目录 | 配置文件 | 描述 |
|---|---|---|
| bin | 脚本启动,包括启动Elasticsearch,安装插件。运行统计数据等 |
|
| config | elasticsearch.yml | 集群配置文件,user,role based 相关配置 |
| JDK | Java运行环境 | |
| data | path.data | 数据文件 |
| lib | Java类库 | |
| logs | path.log | 日志文件 |
| modules | 包含所有ES模块 | |
| plugins | 包含所有已安装插件 |
2.1 JVM配置
- 修改
config/jvm.options,7.1版本的默认设置时1 GB Xmx和Xms设置成一样Xmx不要超过机器内存的50%- 不要超过
30GB- [https://www.elastic.co/blog/a-heap-of-trouble]
3. 运行Elasticsearch
3.1 启动出现的问题
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量
1
2ulimit -Hn
ulimit -Sn修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
1
2* soft nofile 65536
* hard nofile 65536
max number of threads [3818] for user [es] is too low, increase to at least [4096]
问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf(和问题1是一个文件),增加配置
1
2* soft nproc 4096
* hard nproc 4096可通过命令查看
1
2ulimit -Hu
ulimit -Su
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144
1
2vi /etc/sysctl.conf
sysctl -p执行命令sysctl -p生效
3.2 启动
1 | /opt/module/elasticsearch-7.1.0/bin/elasticsearch |
- 打开浏览器输入:
http://192.168.37.130:9200/
4. 为Elasticsearch安装插件(我们可以利用插件来实现一些安全策略,来保护我们存储的数据)

4.1 查看当前Elasticsearch已经安装的插件
1 | [root@hadoop101 elasticsearch-7.1.0]# bin/elasticsearch-plugin list |
4.2 安装analysis-icu(analysis是一个国际化的分词插件)
1 | [root@hadoop101 elasticsearch-7.1.0]# bin/elasticsearch-plugin install analysis-icu |
4.3 页面查看安装的插件
http://192.168.37.130:9200/_cat/plugins
5. 在开发机上运行多个Elasticsearch实例
Elasticsearch中一个很大的特色就是以分布式的方式去运行,也就是说你可以在多台机器上去运行多个Elasticsearch实例,这些实例最后组成一个大的集群- 我们现在要在本机以一个多实例的方式去运行它,来了解它的机制
5.1 修改config/elasticsearch.yml
1 | # 集群名称 |
5.2 修改config/jvm.options
- 因为我是在虚拟机上,内存不是很大,所以这里将
JVM内存调小一点1
2-Xms512M
-Xmx512M
5.3 创建数据目录和日志目录
1 | #创建数据目录和日志目录 |
5.4 启动
1 | # 启动(同一台机子) |
6. Kibana的安装和界面快速浏览
6.1 下载(都是国内的社区)
6.2 配置
- 修改
config/Kibana.yml1
2
3
4# 用于在任何主机都可以访问
server.host: "0.0.0.0"
# es的地址,这个它默认是9200端口,我们现在启动的是9201、9202、9203,所以这里需要配置一下
elasticsearch.hosts: ["http://192.168.37.130:9201"]
6.3 启动
1 | [els@hadoop101 kibana-7.1.0-linux-x86_64]$ bin/kibana |
6.4 设置中文
- 在kibana.yml配置文件中添加一行配置
i18n.locale: "zh-CN"
6.4 访问及简单介绍




7. 在Docker容器中运行Elasticsearch Kibana和Cerebro
7.1 安装Docker和Docker Compose
自行百度安装
7.2 Docker Compose相关命令
docker-compose up: 运行docker compose downdocker compose down -vdocker stop/rm containerID
7.3 运行Docker-comose,本地构建开发环境,直观了解Elasticsearch分布式特性,并集成Cerebro,方便查看集群状态
7.3.1 docker-compose.yaml文件
1 | version: '2.2' |
7.3.2 启动运行
- 进入有
docker-compose.yaml文件的目录运行 - 我这里的目录在
1
docker-compose up



8. Logstash安装与导入数据
8.1 下载并安装
- 下载时,我们必须要保证我们的
Logstash的版本和我们的Elasticsearch的版本一致 - https://elasticsearch.cn/download/
8.2 下载logstash数据文件
D:\WorkSpace\rickying-geektime-ELK-master- 并将数据导入到Linux中的
/opt/module/logstash_data

8.2 修改logstash.conf配置文件
1 | input { |

8.3 指定配置文件运行logstash
1 | ./logstash -f logstash.conf |

