这里只搭建了一个节点,提供给测试环境使用,暂未考虑ES集群扩容和优化。
ES 7.0 是 2019 年 4 月份发布的,底层是 Lucene 8.0。其他重要特性有:
废除单个索引下多 Type 的支持
ES Security 免费使用
ECK - ES Operator on K8s
新功能:New Cluster coordination
新功能:完整的 High Level REST Client
新功能:Script Score Query
性能:默认 Primary Shard 数从 5 到 1 ,避免 Over Sharding;性能优化更快的 Top K
# 安装es7.7
cd /opt
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz
tar zxf elasticsearch-7.7.0-linux-x86_64.tar.gz
# es启动需要es用户
useradd es
chown es:es -R elasticsearch-7.7.0
su - es
# es7内置jdk,修改启动脚本
cd /opt/elasticsearch-7.7.0
vim ./bin/elasticsearch
# 配置自己的jdk11
export JAVA_HOME=/opt/elasticsearch-7.7.0/jdk
export PATH=$JAVA_HOME/bin:$PATH
# 添加jdk判断
if [ -x "$JAVA_HOME/bin" ]; then
JAVA="/opt/elasticsearch-7.7.0/jdk/bin/java"
else
JAVA=`which java`
fi
:wq
# 禁用swap
sed -i '/swap/s/^/#/' /etc/fstab
swapoff -a
vim /etc/sysctl.conf
# 优化文件描述符
vm.max_map_count = 655300
# 优化脏内存页,es写入削峰
vm.dirty_ratio=10
vm.dirty_background_ratio=5
vm.dirty_writeback_centisecs=200
# 优化系统回收inode cache权重
vm.vfs_cache_pressure=200
vm.dirty_expire_centisecs=6000
:wq
sysctl -p
# 检查或修改文件句柄数
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
:wq
vim ./config/jvm.options #这里的4g不能超过最大内存的一半,需要给lucene留内存
-Xms4g
-Xmx4g
:wq
# 启动
./bin/elasticsearch -d
# 查看日志
vim ./logs/elasticsearch.log
# 验证是否成功启动
curl localhost:9200
# es可视化插件,elasticsearch-head
# 用谷歌浏览器打开下面的地址,根据提示安装即可。
# https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm/