欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ELK—Linux安装Elasticsearch

程序员文章站 2022-07-09 15:46:04
...

1.1 安装JDK8(需要Java8环境)

 使用java –version查看版本信息,已安装1.8以上版本无需安装

1)下载jdk8文件:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2)解压文件:tar -zxvf jdk-8u211-linux-x64.tar.gz

3)将JDK移动到/usr/local/jdk1.8.0_211目录之中:

# mv jdk1.8.0_211 /usr/local/jdk1.8.0_211

4)配置环境变量:

    avim /etc/profile

    b)在末尾添加

         export JAVA_HOME=/usr/local/jdk1.8.0_211
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin

    csource /etc/profile

5)验证是否安装成功java –version

ELK—Linux安装Elasticsearch

 

1.2 安装Elasticsearch

1) 创建安装目录命令# mkdir elk

      ELK—Linux安装Elasticsearch

2) 通过FTP工具上传安装包到创建的elk目录下;

3) 解压文件:tar -zxvf elasticsearch-6.7.0.tar.gz

1.3 创建Elasticsearch启动用户

  root 用户不能启动 es,所以需要新建一个其它用户来启动:

  1)添加用户adduser es

2)设定密码:passwd es

  3)添加权限chown -R es:es  /opt/elk

1.4 修改配置文件

  1) 进入/opt/elk/elasticsearch-6.7.0目录,创建ES索引数据存储路径: mkdir data

2) 当前目录下, vim config/elasticsearch.yml
  3) 配置一下内容:

#配置es的集群名称

cluster.name: elasticsearch

#节点名称
  node.name: node-1

#设置索引数据的存储路径

path.data: /opt/elk/elasticsearch-6.7.0/data

#设置日志的存储路径

path.logs: /opt/elk/elasticsearch-6.7.0/logs

#设置为true来锁住内存,jvm开始swappinges效率会降低,保证不swap
  bootstrap.memory_lock: true

#设置当前的ip地址,需要外域访问
  network.host: 0.0.0.0

#设置对外服务的http端口
  http.port: 9200

bootstrap.system_call_filter: false

4) root用户使用vi编辑器,vim /etc/security/limits.conf 添加

* soft memlock unlimited

* hard memlock unlimited

* soft nofile 65536

* hard nofile 131072

5) root用户使用vi编辑器,修改vim /etc/security/limits.d/90-nproc.conf 中:

找到如下内容:* soft nproc 1024

6) root用户设置最大虚拟内存太小:

执行命令:sysctl -w vm.max_map_count=262144

查看修改结果命令:sysctl -a|grep vm.max_map_count  看是否已经修改

永久性修改策略:echo "vm.max_map_count=262144" >> /etc/sysctl.conf

1.5 启动Elasticsearch

1)切换用户:  su es

2)查看当前用户: who am i

3)启动服务: ./bin/elasticsearch

4)后台启动: ./bin/elasticsearch –d

5)查看进程是否存在: jps | grep Elasticsearch

6)关闭ES进程: Kill -9 进程号

7)测试是否启动成功

           命令:curl -XGET 'http://172.20.32.209:9200/'

           网页测试:http://172.20.32.209:9200  返回JSON

1.6 错误解决

参考文档:

https://blog.csdn.net/weixin_41615494/article/details/79591335

https://blog.csdn.net/javasun608/article/details/80228617

 

错误1:

ELK—Linux安装Elasticsearch

原因:Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

解决方案:

在elasticsearch.yml中新增配置:bootstrap.system_call_filter: false

错误2:

ELK—Linux安装Elasticsearch

 

解决办法

vim /etc/security/limits.conf //添加

* soft memlock unlimited

* hard memlock unlimited

验证是否生效命令:ulimit -a

错误3:

ELK—Linux安装Elasticsearch
        原因:elasticsearch不让用root用户直接运行,需要创建新用户

解决办法:创建新用户启动

错误4:

ELK—Linux安装Elasticsearch

 

原因1:无法创建本地文件问题,用户最大可创建文件数太小

解决办法:切换到root用户,vim /etc/security/limits.conf, 添加类似如下内容:

* soft nofile 65536

* hard nofile 131072

原因2:无法创建本地线程问题,用户最大可创建线程数太小

解决办法:切换到root用户,vim /etc/security/limits.d/20-nproc.conf:

找到如下内容:* soft nproc 1024

修改为:      * soft nproc 4096

原因3:最大虚拟内存太小

解决办法:root用户执行命令:

执行命令:sysctl -w vm.max_map_count=262144

查看修改结果命令:sysctl -a|grep vm.max_map_count  看是否已经修改

永久性修改策略:echo "vm.max_map_count=262144" >> /etc/sysctl.conf

 

-------------------------------------------------------------------------------------------------

编写不易,如果有帮助到您,欢迎点赞!