Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,同时也是 Elastic Stack 的核心。其应用于比如说全文搜索、购物推荐、附近定位推荐等。
Elastic search下载列表:Past Releases of Elastic Stack Software | Elastic
下载后解压目录:
Elasticsearch 的配置信息在根目录的 config 目录下的 elasticsearch.yml 文件,里面是空的,只有一些注释信息,用来指引用户配置的
path:
data: /var/data/elasticsearch # 数据文件存放地址
logs: /var/log/elasticsearch # 日志文件存放地址
path:
data:
- /mnt/elasticsearch_1
- /mnt/elasticsearch_2
- /mnt/elasticsearch_3
在没有任何网络配置的时候,Elasticsearch 将会绑定可用的回环地址并扫描本地端口 9300 到 9305 来连接其他运行在同一个服务器上的节点。这个行为提供了一个不需要任何配置的自动集群体验
如果想要和其他主机上的节点形成一个集群时,可以使用静态配置 discovery.seed_hosts。这个配置提供一个包含集群中其他节点的列表,这些节点符合主节点条件并且可能处于活动状态并且可以被发现。这个配置接收一个包含集群中所有符合主节点条件的地址的 YAML 序列或者数组,每一个地址可以是IP地址或者主机名
discovery.seed_hosts:
- 192.168.1.10:9300
- 192.168.1.11
- seeds.mydomain.com
- [0:0:0:0:0:ffff:c0a8:10c]:9301
第一次启动集群时,集群引导步骤会确定在第一次选举中计票的主合格节点集。在开发模式中,没有配置发现设置,这一步由节点自己自动执行。
由于自动引导本质上是不安全的,因此在生产模式下启动新集群时,你必须明确列出在第一次选举中计算其选票的主合格节点
discovery.seed_hosts:
- 192.168.1.10:9300
- 192.168.1.11
- seeds.mydomain.com
- [0:0:0:0:0:ffff:c0a8:10c]:9301
cluster.initial_master_nodes:
- master-node-a
- master-node-b
- master-node-c
bootstrap.memory_lock: false # JVM的内存能swap到磁盘,不能则需要配置为true
cluster.name: elasticsearch # 集群名称
http.port: 9200 # 端口
network.host: 127.0.0.1 # ip
node.data: true # 表示节点是否存储数据
node.ingest: true # 节点是否具有预处理能力
node.master: true # 表示节点是否具有成为主节点的资格
node.max_local_storage_nodes: 1 # 同一安装路径最多可以启动的节点
node.name: WNT123 # 节点名称
transport.tcp.port: 9300 # 节点通信的端口
reindex.remote.whitelist: 127.0.0.2:9200 # 远程重建索引时的ip白名单
进入Elasticsearch解压目录下的bin;找到elasticsearch.bat脚本,双击运行脚本
打开管理员权限的 CMD 进入 bin 目录,运行下面代码:
start elasticsearch.bat
用CMD命令启动的好处是,有错误无法启动时,会显示报错信息
这样启动的弊端是这个 CMD 窗口需要一直开着,关闭 CMD 窗口 Elasticsearch 服务就会关闭,可使用下一节方法安装 Elasticsearch 后台服务
在bin目录下有一个 elasticsearch-service.bat 脚本,这个脚本用来安装 Elasticsearch 服务;这个脚本有一些参数,请看下表:
参数 | 示例 | 描述 |
---|---|---|
install | elasticsearch-service.bat install [服务名] | 安装 Elasticsearch 服务,服务名自定义,可以不写有默认值:elasticsearch |
remove | elasticsearch-service.bat remove [服务名] | 删除已安装的 Elasticsearch 服务(如果已启动,则停止该服务) |
start | elasticsearch-service.bat start [服务名] | 启动弹性搜索服务(如果已安装) |
stop | elasticsearch-service.bat stop [服务名] | 停止 Elasticsearch 服务(如果已启动) |
打开管理员权限 CMD 运行代码:elasticsearch-service.bat install (这里为了省事,不写服务名)
打开任务管理器服务栏,看到 elasticsearch 服务说明安装成功
可以借助 Windows 的服务管理启动 elasticsearch 服务,不用再运行启动程序命令
Linux系统没有服务可视化管理工具时,需要命令运行
在浏览器中输入 localhost:9200 ;在浏览器中可看到下面的 json 数据
{
"name" : "LAPTOP-QJJO6H84",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "q6n-oFkeQKm1LCItA-IlFA",
"version" : {
"number" : "7.15.2",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "93d5a7f6192e8a1a12e154a2b81bf6fa7309da0c",
"build_date" : "2021-11-04T14:04:42.515624022Z",
"build_snapshot" : false,
"lucene_version" : "8.9.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}