今天安装elasticsearch首先去官网下载https://www.elastic.co/cn/elasticsearch/ 下载linux版本,我使用的是腾讯云服务器,所以下载linux版本,在上传至服务器中,我存放在/data文件夹下,
tar -zxvf 进行安装,
cd elasticsearch/bin
./elasticsearch启动
如果出现报错can not run elasticsearch as root
不能使用root进行启动,已经被官方禁止了,可以useradd 用户名 自己进行添加一个在给elasticsearch分配权限
shown -R 用户名:用户名 文件夹(文件)使用root进行分配
启动过程中,如果出现usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
修改配置elasticsearch-env脚本文件或elasticsearch启动文件,将我是讲JAVA_HOME跟ES_JAVA_HOME进行调换,因为es默认有jdk配置,让直接加载我自己的。
if [ ! -z "$JAVA_HOME" ]; then
JAVA="$JAVA_HOME/bin/java"
JAVA_TYPE="JAVA_HOME"
elif [ ! -z "$ES_JAVA_HOME" ]; then
JAVA="$ES_JAVA_HOME/bin/java"
JAVA_TYPE="ES_JAVA_HOME
如果 Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
并不是这是由于jdk版本太低造成的,jdk版本需要在9.0以上,因此需要重新安装jdk。因为我jdk是11所以不是版本问题,而是JVM内存分配过大导致
将-Xms4G,-Xmx4G修改小就可以,我改成为256m
更换GC算法
8-13:-XX:+UseConcMarkSweepGC
更变为
8-13:-XX:+UseG1GC
ConcMarkSweep更换成G1回收算法
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
修改 vim /etc/security/limits.conf
增加
用户名[*] hard nofile 65536
用户名[*] soft nofile 65536
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改 vim etc/sysctl.conf
增加 vm.max_map_count=655360
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts,........
修改 vim /conf/elasticsearch.yml
将注释打开 cluster.initial_master_nodes: ["node-1"]