CentOS 7安装ELK(一):安装ElasticSearch服务

1,408 阅读3分钟

环境配置:

  • centos-7-x86_64
  • java8
  • elasticsearch-6.2.4
  • kibana-6.2.4
  • logstash-6.2.4

一.安装 java8

1.查看系统中是否使用rpm安装过 java

[root@localhost ~]# rpm -qa |grep java

或 [root@localhost ~]# rpm -qa |grep jdk

或 [root@localhost ~]# rpm -qa |grep gc

如果系统中已经安装了其它版本的可用以下命令删除

[root@localhost ~]# rpm -e —-nodeps 包名

例如:

[root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64

2.查看系统中是否使用yum安装过java

[root@localhost ~]# yum list installed |grep java

如果系统中已经安装了其它版本的可用以下命令删除

[root@localhost ~]# yum -y uninstall 包名

例如:

[root@localhost ~]# yum -y uninstall java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64

3.检查无误后开始安装java8

[root@localhost ~]# yum install -y java-1.8.0-openjdk Installing ... Succeed ...

4.配置java环境变量 通过whereis命令来找到java8的安装路径

[root@localhost ~]# whereis java

[root@localhost ~]# vi /etc/profile 把以下内容追加到文件的结尾

保存文件后执行命令使以上修改生效

[root@localhost ~]# source /etc/profile

5.验证java8是否安装成功

[root@localhost ~]# java -version

出现以上内容就说明java8已经安装和配置成功了

二:安装 ElasticSearch 1.准备 ElasticSearch的安装包

(1)通过官网手动下载rpm包:www.elastic.co/downloads/p…(本文不使用此方式)

(2)在线rpm安装

2.导入Elasticsearch PGP密钥

[root@localhost ~]# rpm --import artifacts.elastic.co/GPG-KEY-ela…

3.下载rpm包

下载前先创建一个目录来存放rpm包,方便管理

[root@localhost ~]# mkdir /sourcepackages

[root@localhost ~]# cd /sourcepackages

[root@localhost ~]# wget artifacts.elastic.co/downloads/e…

4.安装rpm包

[root@localhost ~]# rpm -ivh elasticsearch-6.2.4.rpm

5.修改配置文件

[root@localhost ~]# whereis elasticsearch

先看看这两个目录里分别有啥

通过图片我们可以了解到:

/etc/elasticsearch/ 是配置文件目录

/usr/share/elasticsearch/ 是软件安装主目录

好了,接下来就要开始修改配置文件了

[root@localhost ~]# vi /etc/elasticsearch/elasticsearch.yml

取消 #http.port: 9200 这行的注释

[root@localhost ~]# vi /etc/elasticsearch/jvm.options

把其中的

-Xms1g

-Xmx1g

修改成

-Xms100m

-Xmx100m

一般来说,都是根据服务器的配置来修改的

主要是因为我是在本地创建的虚拟机,配置不够罢了,这也就导致启动时的一些问题的发生(划重点,后面会讲到)

6.启动ElasticSearch服务

[root@localhost ~]# cd /usr/share/elasticsearch/bin

[root@localhost ~]# ./elasticsearch

注意看错误信息:can not run elasticsearch as root

出于安全的考虑,elasticsearch服务是不能使用root用户来运行的

那么我们切换到elasticsearch用户来执行命令(通过本文的方式安装的elasticsearch,会自动添加用户和用户组并且授权好的,所以可以直接切换到elasticsearch用户)

[root@localhost ~]# su elasticsearch

[elasticsearch@localhost ~]# ./elasticsearch

这就说明elasticsearch服务已经启动成功了

但是,光标还留在控制台无法退出,咋办呢?

女朋友叫我回家吃饭了(程序员有女朋友?滑稽笑.jpg)

………

好了,ctrl + c 终止程序吧

执行以下命令就能解决这个问题了,加上 -d 参数可使服务在后台运行

[elasticsearch@localhost ~]# ./elasticsearch -d

最后通过 netstat -lntup 查看服务是否启动完成

[elasticsearch@localhost ~]# netstat -lntup

7.最后在这里说下,由于配置不足导致的问题,以及其解决办法

第一种:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

每个进程最大同时打开文件数太小

使用root用户修改配置,增加/修改配置

[root@localhost ~]# vi /etc/security/limits.conf

  •           soft    nofile          65536
    
  •           hard    nofile          65536
    

第二种:max number of threads [3818] for user [es] is too low, increase to at least [4096]

线程数太小,增加/修改配置

[root@localhost ~]# vi /etc/security/limits.conf

  •           soft    nproc          65536
    
  •           hard    nproc          65536
    

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

增加/修改配置

[root@localhost ~]# vi /etc/sysctl.conf

     vm.max_map_count=262144

执行命令使修改生效

[root@localhost ~]# sysctl -p

本文到这里就结束了,谢谢大家的阅读。如有不足之处,希望大家不吝赐教。