Elasticsearch 入门实战(2)--安装
本文主要介绍 Elasticsearch 的安装,使用到的环境及软件信息如下:CentOS 7.6.1810、Elasticsearch 8.2.2。
1、主机参数调整
安装 Elasticsearch 需先调整 Linux 系统参数。
1.1、修改 open files
编辑 /etc/security/limits.conf 文件:
* hard nofile 65536 * soft nofile 65536
重新登录生效。
1.2、修改 vm.max_map_count
编辑 /etc/sysctl.conf 文件:
vm.max_map_count=262144
执行 sysctl -p 生效。
2、单机安装
2.1、下载安装包并解压
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
解压:
tar zxvf elasticsearch-8.2.2-linux-x86_64.tar.gz
2.2、启动
bin/elasticsearch [-d]
-d 表示后台启动。停止Elasticsearch,kill 相关进程即可。
2.3、地址
https://10.49.196.11:9200
Elasticsearch8 默认开启了安全认证,用户名密码可以查看启动日志。
2.4、修改密码
默认的密码是随机生成的,可以修改密码:
bin/elasticsearch-reset-password --username elastic -i
2.5、查看证书
查看 config/certs/http.p12 密码:
bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password
客户端可以使用该证书来访问 Elasticsearch API。
查看 config/certs/transport.p12 密码:
bin/elasticsearch-keystore show xpack.security.transport.ssl.keystore.secure_password
2.6、配置调整
可以根据需要调整配置,配置文件为 config/elasticsearch.yml。
安全相关配置:
xpack.security.enabled: false #安全验证配置总开关,也可以根据需要单独配置下面的各项 xpack.security.enrollment.enabled: true #是否需要用户名密码 xpack.security.http.ssl: #客户端访问是否使用https协议 xpack.security.transport.ssl: #集群节点间交换是否使用https协议
地理库相关配置:
ingest.geoip.downloader.enabled: false
磁盘空间不足,Elasticsearch 状态是否异常:
cluster.routing.allocation.disk.threshold_enabled: false
3、插件安装
3.1、Elasticsearch-head 安装
Elasticsearch-head 是一款针对 ElasticSearch 提供可视化的操作页面的开源插件,通过该插件可以方便的查看 ElasticSearch 的各项信息。
3.1.1、下载并安装
git clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install npm run start
3.1.2、Elasticsearch 中增加配置(conf/elasticsearch.yml)
#表示是否支持跨域,默认为false http.cors.enabled: true #当设置允许跨域,默认为*,表示支持所有域名 http.cors.allow-origin: "*" http.cors.allow-headers: "Content-Type,Authorization"
3.1.3、访问
关闭安全认证情况下:
http://10.49.196.11:9100
开启安全认证情况下:
http://10.49.196.11:9100/?auth_user=elastic&auth_password=123456,如果浏览器没导入 ElasticSearch 的证书 config/certs/http.p12,需先用浏览器访问下 ElasticSearch 的地址 https://ip:9200,让浏览器允许访问该地址。Elasticsearch-head 和 Elasticsearch 可以装在不同的机器上。
3.2、中文分词器 elasticsearch-analysis-ik 安装
3.2.1、下载插件
https://github.com/medcl/elasticsearch-analysis-ik/releases/,新版本插件已不在该地址发布,新的发布地址为:https://release.infinilabs.com。
3.2.2、创建插件目录并解压插件到该目录
cd plugins mkdir ik cd ik unzip elasticsearch-analysis-ik-8.2.0.zip
3.2.3、版本调整
如果插件没有与 Elasticsearch 一致的版本,下载最近的插件版本,然后在插件 plugin-descriptor.properties 文件中手动修改版本:
elasticsearch.version=8.2.2 #如果插件版本和es版本不一致,这里需修改为es的版本
4、集群安装
4.1、集群规划
假设在 10.49.196.10、10.49.196.11、10.49.196.12 三台机器上安装 Elasticsearch 集群。
4.2、10.49.196.10 上安装 Elasticsearch
先在一台机器(10.49.196.10)上按照单机版的方式安装 Elasticsearch。
4.3、在 10.49.196.10 节点上进行准备工作
A、生成 token
bin/elasticsearch-create-enrollment-token -s node
B、注释掉config/elasticsearch.yml 文件中transport.host配置
C、重启 Elasticsearch
4.4、其他节点加入集群
在 10.49.196.11 和 10.49.196.12 上执行:
bin/elasticsearch --enrollment-token <token>
4.5、集群形成后配置修改
修改所有节点的配置(config/elasticsearch.yml):
discovery.seed_hosts: ["10.49.196.10:9300", "10.49.196.11:9300", "10.49.196.12:9300"] #cluster.initial_master_nodes: #该配置如果有注释掉
重启所有的节点。
4.6、查看集群信息
创建 test-index、poet-index 索引后(都是 2 分片,1 副本),集群信息如下: