Linux centos安装Elasticsearch7.8单机安装

Posted LMD酱油飘过

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux centos安装Elasticsearch7.8单机安装相关的知识,希望对你有一定的参考价值。

linux上elasticSearch7.8安装配置

 

 


转载原文地址: https://blog.csdn.net/han949417140/article/details/107614240

      https://blog.csdn.net/qq_38380025/article/details/105263797

https://www.cnblogs.com/zlslch/p/6614037.html

一、资源准

名称 地址  
elasticSearch7.8 https://www.oracle.com/java/technologies/javase-jdk11-downloads.html es安装包
jdk11 https://www.oracle.com/java/technologies/javase-jdk11-downloads.html jdk安装包

    

jdk1.8以上都可以,本人就是jdk1.8,只是安装的时候会提示以后的版本需要jdk11

上传资源包到到自己的安装目录下。

二、安装配置

 1. 解压

cd /opt/resources
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz

  

 

2. 修改elasticsearch.yml配置文件
vim 安装路径下的/elasticsearch-7.8.0/config/elasticsearch.yml
cluster.name: es-hld   	#为集群提供一个名称
node.name: hld-1 		  	#此节点名称
path.data: /opt/es/data  	#数据存放的地址
path.logs: /opt/es/logs  	#日志存放地址
network.host: 0.0.0.0 		#网络绑定这样设置就好了
cluster.initial_master_nodes: ["hld-1"] #将es-node1设置为master节点

 3. 修改系统进程内存限制

  vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

  vim /etc/sysctl.conf

  

vm.max_map_count=262145 	 #(es需要262144,我们在基础上+1,保证它启动)

  保存退出过后在执行 

  sysctl -p #刷新命令

 4. 创建用户

由于elasticsearch不允许root用户操作,所以需要建立子用户
useradd esuser  #增加一个子用户
chown -R esuser:esuser /usr/local/elasticsearch-7.4.2  #赋权
su esuser 	#切换成子用户
#进入 es/bin命令启动
cd /usr/local/elasticsearch-7.7.0/bin
./elasticsearch -d    #-d表示后台启动,不是后台启动,不加 "-d" 即可

 5. 校验

http:ip:9200 如果返回json字符串则安装成功,如图:

 

 

 

以上的常见问题以及解决办法

 

1、./elasticsearch-7.6.1/bin/elasticsearch 启动报以杀死  这个问题 没有生成其他日志 只有gc的,根据gc 日志分析 分配内存问题


Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
已杀死

 解决:

编辑   vi config/jvm.options  文件

找到

-Xms1g
-Xmx1g

修改成你本身机器所能承受的范围即可 如 512m

2、type [START_OBJECT] but found [VALUE_STRING]];

[elsearch@k8a elasticsearch-7.6.1]$ ./bin/elasticsearch
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
Exception in thread "main" 2020-04-02 10:33:21,459 main ERROR No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property \'log4j2.debug\' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]];
    at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1097)
    at org.elasticsearch.common.settings.Settings$Builder.loadFromPath(Settings.java:1070)
    at org.elasticsearch.node.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:83)
    at org.elasticsearch.cli.EnvironmentAwareCommand.createEnv(EnvironmentAwareCommand.java:100)
    at org.elasticsearch.cli.EnvironmentAwareCommand.createEnv(EnvironmentAwareCommand.java:91)
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125)
    at org.elasticsearch.cli.Command.main(Command.java:90)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)
Caused by: ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]]
    at org.elasticsearch.common.xcontent.XContentParserUtils.ensureExpectedToken(XContentParserUtils.java:78)
    at org.elasticsearch.common.settings.Settings.fromXContent(Settings.java:617)
    at org.elasticsearch.common.settings.Settings.access$400(Settings.java:82)
    at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1093)
 

解决:

这个是因为编辑   vi config/elasticsearch.yml  的key 和value 写错了导致, 仔细检查你所修改的地方就可以发现问题

提示,key 和value 之间除了:还有个 空格 如:    key: (空格)value

3、

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts,

这里是三个问题

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
ERROR: Elasticsearch did not exit normally - check the logs at /home/elsearch/elasticsearch-7.6.1/logs/elasticsearch.log

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

解决 

编辑文件 用root 用户

 vi /etc/security/limits.conf

 请将es修改为你对应的 启动 elasticsearch 用户名 

  1.  
    es hard nofile 65536
  2.  
    es soft nofile 65536

重启服务器  在重新启动es即可

[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决:

切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf 

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

然后,重新启动elasticsearch,即可启动成功。

[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts,

解决

修改 

vi /conf/elasticsearch.yml

找到  默认是有注释的,把注释去掉 后保存  

cluster.initial_master_nodes: ["node-1"]
 

重启es 即可

以上是关于Linux centos安装Elasticsearch7.8单机安装的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch7.7.0安装

Elasticsearch7.7.0安装

Elasticsearch7.10.0集群搭建

Elasticsearch7.10.0集群搭建

Elasticsearch7.10.0集群搭建

Elasticsearch7.10.0集群搭建