ElasticSearch7安装过程以及遇到的坑

安装前准备

centos7 +
java 8 +
elastic 7.6.0 +

创建目录

mkdir -p /data/es
mkdir -p /data/download
cd /data/download

下载包和解压

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.0-linux-x86_64.tar.gz
# 解压
tar -zxvf elasticsearch-7.6.0-linux-x86_64.tar.gz -C /data/es/

目录结构介绍:
bin:可执行文件,运行es的命令
config:配置文件目录
config/elasticsearch.yml:ES启动基础配置
config/jvm.options:ES启动时JVM配置
config/log4j2.properties:ES日志输出配置文件
lib:依赖的jar
logs:日志文件夹
modules:es模块
plugins:可以自己开发的插件
jdk:java 版本

创建用户

#创建用户组
groupadd es
#创建用户并设置密码
useradd es -g es -p 123456
#给esuser用户授权
chown -R es:es /data/es/elasticsearch-7.6.0

启动

cd /data/es/elasticsearct-7.6.0
#切换用户
su esuser
./bin/elasticsearch

ES的配置

vim config/jvm.options

## JVM configuration

################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
## -Xms4g
## -Xmx4g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

#-Xms1g
#-Xmx1g
-Xms256m
-Xmx256m

我们改一下堆内存的大小,我这里使用的虚拟机,只分配了1g的内存,所以,我这里统一调整为256m内存,大家可以根据自己机器的内存情况进行调整。

修改elasticsearch.yml配置

vim config/elasticsearch.yml

# 配置集群名称(默认是被注释的,并且默认有一个集群名) 
cluster.name: my-application
# 配置当前es节点名称(默认是被注释的,并且默认有一个节点名)
node.name: node-1
# 绑定地址为特定IP地址(设置其它节点和该节点交互的ip地址,如果不设置它会自动判断)默认为0.0.0.0,绑定这台机器的任何一个ip
network.host: 0.0.0.0

Discovery是集群配置

在这里插入图片描述

报错(java版本问题)

future versions of Elasticsearch will require Java 11; your Java version from [/data/java/jdk1.8.0_291/jre] does not meet this requirement
原因:说明这个版本对应的jdk应该是java11。我们环境中的jdk是java8。其实新版的es是自带了jdk的。但是和我们环境变量的冲突了。

解决方案:修改启动文件,添加如下修改

. 或者直接修改vim /etc/profile 环境变量

vi bin/elasticsearch

#配置自己的jdk 
export JAVA_HOME=/data/es/elasticsearch-7.6.0/jdk
export PATH=$JAVA_HOME/bin:$PATH

#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/data/es/elasticsearch-7.6.0/jdk/bin/java"
else
        JAVA=`which java`
fi

在这里插入图片描述

报错 OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.

解决:
修改 vim config/jvm.options
将 : -XX:+UseConcMarkSweepGC
改为:-XX:+UseG1GC 即可

在这里插入图片描述

 
# 安装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 131072
	:wq

# 查看是否生效
ulimit -Hu
ulimit -Su

vim ./config/jvm.options  #这里的4g不能超过最大内存的一半,需要给lucene留内存
    -Xms1g
    -Xmx1g
    :wq

# 启动
./bin/elasticsearch -d

# 查看日志
vim ./logs/elasticsearch.log

# 验证是否成功启动
curl localhost:9200
  
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值