安装包下载
sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-linux-x86_64.tar.gz
sudo tar -zxvf elasticsearch-7.13.0-linux-x86_64.tar.gz -C /usr/local
将jdk修改为es中自带jdk的配置目录
cd /usr/local/elasticsearch-7.13.0
sudo vim ./bin/elasticsearch-env
#添加到头部 (#!/bin/bash后)
export JAVA_HOME=/usr/local/elasticsearch-7.13.0/jdk
export PATH=$JAVA_HOME/bin:$PATH
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/usr/local/elasticsearch-7.13.0/jdk/bin/java"
else
JAVA=`which java`
fi
修改elasticsearch默认分配jvm内存
不可超过系统内存50%
sudo vi config/jvm.options
-Xms2G
-Xmx2G
创建专用用户
sudo useradd user-es
sudo chown user-es:user-es -R /usr/local/elasticsearch-7.13.0
其他设置
0、设置端口、允许远程访问、ES节点名称、绑定集群IP
sudo vim config/elasticsearch.yml
http.port: 9202
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
1、解决 elasticsearch用户拥有的内存权限太小,至少需要 62144,解决办法:
在 /etc/sysctl.conf 文件最后添加如下内容
vim /etc/sysctl.conf
#添加如下内容
vm.max_map_count=655360
保存退出,刷新配置文件
sysctl -p
2、解决max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
切换到root用户,执行命令:
vi /etc/security/limits.conf
添加如下内容(阿里云服务器默认已有,无需加):
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
设置登录密码
ES7.x 以后版本成了 X-pack插件,直接设置即可
vim ./config/elasticsearch.yml
#末尾添加
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
启动ES
su user-es
/usr/local/elasticsearch-7.13.0/bin/elasticsearch -d
设置密码:依次设置 elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user 用户的密码
./bin/elasticsearch-setup-passwords interactive
安装IK分词器插件
可使用下面任意一种方式:
1、插件命令安装,假设你已经在Elasticsearch的bin目录
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.0/elasticsearch-analysis-ik-7.13.0.zip
2、 手动下载解压服务器路径 . /plugins/ik/
手动设置索引分词
为所有新创建的索引设置默认的分词器,可以使用索引模板(index template)。 创建一个索引模板如下:
PUT _index_template/default_analyzers
{
"index_patterns": ["*"],
"template": {
"settings": {
"analysis": {
"analyzer": {
"default": {
"type": "ik_max_word"
},
"default_search": {
"type": "ik_smart"
}
}
}
}
},
"priority": 1
}
对于现有索引: 对于已经存在的索引,您需要单独更新它们的设置:
PUT /your_existing_index/_settings
{
"analysis": {
"analyzer": {
"default": {
"type": "ik_max_word"
},
"default_search": {
"type": "ik_smart"
}
}
}
}
最后重启 Elasticsearch 完!