安装步骤如下:
**1. 下载Linux版本的Elasticsearch**
下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
![](https://img.kancloud.cn/2a/c4/2ac4ee18966519c747b82efe36dc9ef2_1564x321.png)
**2. 上传到Linux并解压**
```shell
-- 解压
# tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /opt/install
-- 建立软链接
# ln -s elasticsearch-7.8.0/ es
```
**3. 修改配置文件**
```shell
(1)修改 %ES_HOME%/config/elasticsearch.yml
# vim elasticsearch.yml
cluster.name: elasticsearch
node.name: node-1
--自定义数据存储的目录
path.data: /opt/install/es/data
--自定义日志存储的目录
path.logs: /opt/install/es/logs
--让任何人都可以访问(当然在实际开发中这样做是不安全的)
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
(2)修改 /etc/security/limits.conf
# vim /etc/security/limits.conf
--在文件末尾中增加下面内容
--每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
(3)修改 /etc/security/limits.d/20-nproc.conf
# vim /etc/security/limits.d/20-nproc.conf
--在文件末尾中增加下面内容
--每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
--操作系统级别对每个用户创建的进程数的限制
--注:* 代表 Linux 所有用户名称
* hard nproc 4096
(4)修改/etc/sysctl.conf
# vim /etc/sysctl.conf
--在文件中增加下面内容
--一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360
(5)重新加载
# sysctl -p
```
**4. 创建非root用户**
因为安全性问题,Elasticsearch不允许在root用户下运行,需要创建一个新用户名。
```shell
--新增es用户
# useradd es
--为es用户设置密码
# passwd es
--将es文件夹所有者设置为es用户
# chown -R es:es /opt/install/es/
```
**5. 开放9200端口或者关闭防火墙**
```shell
--开发9200端口
# sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
--查看防火墙是否关闭
# firewall-cmd --state
--关闭防火墙
# systemctl stop firewalld.service
--禁止防火墙开机自启
# systemctl disable firewalld.service
```
**6. 启动es**
```shell
--需要切换到es用户
# su es
# cd /opt/install/es/
--启动方式1
# bin/elasticsearch
--启动后看到如下9300和9200端口,基本可以确定启动成功
publish_address {192.168.1.18:9300}, bound_addresses {[::]:9300}
publish_address {192.168.1.18:9200}, bound_addresses {[::]:9200}
--启动方式2:后台启动
# bin/elasticsearch -d
```
**7. 访问es**
访问 http://192.168.1.18:9200/ ,ip为你自己Linux的ip地址,出现如下信息则表明安装成功!
```json
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "H6crEs5tTgCNqtp1WsBo6A",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
```
- Elasticsearch是什么
- 全文搜索引擎
- Elasticsearch与Solr
- 数据结构
- 安装Elasticsearch
- Linux单机安装
- Windows单机安装
- 安装Kibana
- Linux安装
- Windows安装
- es基本语句
- 索引操作
- 文档操作
- 映射操作
- 高级查询
- es-JavaAPI
- maven依赖
- 索引操作
- 文档操作
- 高级查询
- es集群搭建
- Linux集群搭建
- Windows集群搭建
- 核心概念
- 索引(Index)
- 类型(Type)
- 文档(Document)
- 字段(Field)
- 映射(Mapping)
- 分片(Shards)
- 副本(Replicas)
- 分配(Allocation)
- 系统架构
- 分布式集群
- 单节点集群
- 故障转移
- 水平扩容
- 应对故障
- 路由计算
- 分片控制
- 写流程
- 读流程
- 更新流程
- 多文档操作流程
- 分片原理
- 倒排索引
- 文档搜索
- 动态更新索引
- 近实时搜索
- 持久化变更
- 段合并
- 文档分析
- 内置分析器
- 分析器使用场景
- 测试分析器
- 指定分析器
- 自定义分析器
- 文档处理
- 文档冲突
- 乐观并发控制
- 外部系统版本控制
- es优化
- 硬件选择
- 分片策略
- 合理设置分片数
- 推迟分片分配
- 路由选择
- 写入速度优化
- 批量数据提交
- 优化存储设备
- 合理使用合并
- 减少Refresh的次数
- 加大Flush设置
- 减少副本的数量
- 内存设置
- 重要配置
- es常见问题
- 为什么要使用Elasticsearch
- master选举流程
- 集群脑裂问题
- 索引文档流程
- 更新和删除文档流程
- 搜索流程
- ES部署在Linux时的优化方法
- GC方面ES需要注意的点
- ES对大数据量的聚合实现
- 并发时保证读写一致性
- 字典树
- ES的倒排索引
- Spring Data Elasticsearch
- 环境搭建
- 索引操作
- 文档操作