# ElasticSearch安装
# 用户创建
groupadd elasticsearch
useradd es
passwd es # 然后设置密码,也可以不设置密码
usermod -G elasticsearch es
chown -R es elasticsearch-7.6.2
# 修改应用配置
cd /u01/es/elasticsearch-7.6.2
mkdir data
cd config
rm -rf elasticsearch.yml
vim elasticsearch.yml
# 集群名称, 处于同一个集群所有节点,该名称必须相同
cluster.name: es-cluster
# 节点名称. 三台机器名字必须都不一样
node.name: node1
path.data: /u01/es/elasticsearch-7.6.2/data
path.logs: /u01/es/elasticsearch-7.6.2/log
# 网络绑定,这里我绑定 0.0.0.0,支持外网访问
network.host: 0.0.0.0
# 设置对外服务的http端口,默认为9200
http.port: 9200
# 集群发现。 集群配置:
discovery.seed_hosts: ["127.0.0.1"]
# 手动指定可以成为 master 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算。 集群配置:["node1","node2","node3"]
#cluster.initial_master_nodes: ["node1"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 关闭 geoip的自动更新
ingest.geoip.downloader.enabled: false
vim jvm.options
-Xms2g
-Xmx2g
# 修改系统配置
exit #从普通用户退到root用户
vim /etc/security/limits.conf
---#追加如下内容,*号也需要保留
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
vim /etc/security/limits.d/20-nproc.conf
--#将如下内容改为4096,如果已经是就不用改了
* soft nproc 4096
vim /ect/sysctl.conf
---追加以下内容
vm.max_map_count=262144
sysctl -p
#重连后生效
# 设置访问密码
su es
vim elasticsearch.yml
#追加内容
xpack.security.enabled: true
discovery.type: single-node
xpack.security.transport.ssl.enabled: true
../bin/elasticsearch -d #需要先启动后才能设置密码
../bin/elasticsearch-setup-passwords interactive
#交互式设置密码,一般设置elastic
# 安装ik插件
mv elasticsearch-analysis-ik-7.6.2.zip elasticsearch-7.6.2/plugins/ik/
unzip elasticsearch-analysis-ik-7.6.2.zip
./bin/elasticsearch -d
# 安装自定义ik插件
- 首先,需要获取自定义ik插件的资源
- 配置jvm的安全策略
# 在config/jvm.options中添加如下内容
-Djava.securityManager
-Djava.security.policy=file:config/java.policy
- 然后,在config目录下创建java.policy文件,内容如下:
#在config目录下添加 java.policy并添加如下内容
grant {
permission java.net.SocketPermission "172.20.20.15:5432", "connect,resolve";
};
# 实践中遇到的坑
- 个别情况下,索引为red的情况, 需要删除,重启了也不行;
- 否则会查询失败,报503错误;
# windows环境下安装es步骤
- 下载zip安装包(不能直接用linux的tar.gz文件)
- 解压后,直接去 bin里面启动
- 将config目录下的elasticsearch.yml修改为linux环境的配置(如上)即可,其中
path.data
和path.logs
留空 - 关闭xpack插件,免密登录
- ik分词器插件安装方式与linux一致
- 通过
_analyze
接口查看分词效果
POST /_analyze
{
"analyzer": "ik_smart",
"text": "周杰伦唱歌好听"
}