赞
踩
目录
本篇介绍elasticsearch和kibana在Linux系统中的安装和启动操作。
es是使用Java语言开发的引擎,因此在安装es之前首先要安装JDK,在Oracle官网下载Linux的JDK1.8版本,使用FTP工具上传到服务器上,然后使用命令“tar -xzvf JDK压缩包名称“解压。解压后的文件目录如下:
与Windows一样,Linux同样要配置JDK的环境变量。编辑/etc/profile,文件结尾处添加以下内容:
- export JAVA_HOME=刚刚解压的JDK文件路径
- export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
- export PATH=$PATH:$JAVA_HOME/bin
进入刚刚解压的JDK压缩包目录中使用pwd命令可以打印当前工作目录,如下图,因此笔者的JAVA_HOME=/usr/application/java/jdk1.8.0_301。export命令的作用是将变量声明为环境变量,可以看出来其实Linux的环境变量配置方式与Windows并无差别。
环境变量就配置好之后如果直接使用java -version命令验证是否安装成功会出现”-bash: java: command not found“错误信息,原因是虽然我们配置了/etc/profile文件,但是该文件并没有重新执行,环境变量中也就没有JDK路径。使用”source /etc/profile“命令就可以使得我们刚刚的配置生效,再使用java -version命令看到JDK版本信息表示安装成功了。
es的下载有两种方式:①在es官网下载然后通过FTP工具上传到服务器上;②在服务器可以联网的情况下,可以直接使用wget命令下载。笔者使用的是云服务器,因此直接使用第二种方式,使用命令“wget --no-check-certificate https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz”下载(此处版本不一样路径就不一样,根据个人需要修改)。
然后使用命令“tar -xzvf 压缩包名称”解压刚刚下载的压缩包。解压之后的es文件主要包含以下几个目录:
目录名称 | 说明 |
---|---|
bin | 主要用于存放一些可执行文件,包括es的启动脚本elasticsearch |
config | 主要用于存放一些配置文件,后面详细介绍较重要的配置文件 |
plugins | 主要用于存放一些插件,包括后面要使用到的中文分词插件ik等 |
lib | 主要用于存放引用的相关库 |
logs | 主要用于存放日志 |
在config目录中包括两个重要的配置文件elasticsearch.yml和jvm.options,其中elasticsearch.yml包括es的端口号、集群、节点名称等配置,jvm.options主要用来配置JVM参数。elasticsearch.yml主要的配置参数以及说明如下:
参数名称 | 说明 |
---|---|
cluster.name | 集群名称 |
node.name | 节点名称 |
node.attr.rac | 节点的部落属性,部落可跨越多个集群 |
path.data | 数据存放目录 |
path.logs | 日志存放目录 |
bootstrap.memory_lock | 启动后是否锁定内存,设置为true后,es启动时就将占用配置的内存 |
network.host | 设置对外的ip地址,此处设置为0.0.0.0即可 |
http.port | 设置对外服务的端口号,一般默认为9200 |
discovery.seed_hosts | 种子地址列表,用于配置集群节点地址 |
cluster.initial_master_nodes | 有资格称为主节点的节点名称 |
gateway.recover_after_nodes | 设置n个节点启动后进行数据恢复 |
目前我们仅需配置上面中的一些即可,除了以上配置还有其他的一些没有涉及到的,更全的配置项建议查看官网文档。修改elasticsearch.yml文件如下:
- #集群名称
- cluster.name: my-elasticsearch
- #节点名称
- node.name: node-1
- #数据存放目录
- path.data: /usr/application/elasticsearch-7.0.0/data
- #日志存放目录
- path.logs: /usr/application/elasticsearch-7.0.0/logs
- #对外ip地址
- network.host: 0.0.0.0
- #对外服务端口号
- http.port: 9200
- cluster.initial_master_nodes: ["node-1"]
启动es其实就是执行bin目录下的elasticsearch脚本,在执行脚本过程中可能会出现各种错误,此处仅列出笔者遇到的错误和解决方法。使用相对路径的方式执行elasticsearch脚本,例如笔者的工作目录在elasticsearch/bin目录下,使用命令”./elasticsearch”执行后报错如下:
出现以上问题的原因是笔者登陆的当前用户是root,而es出于安全原因不能使用root用户启动,因此我们创建一个新的用户。使用命令“useradd -m 用户名”创建新用户,然后使用命令“su 新用户”切换到新用户esuser。
使用esuser启动es,结果报错如下图:
出现以上错误的原因是esuser用户没有权限,我们切换会root用户并使用”chown -R esuser /usr/application/elasticsearch-7.0.0/“命令赋予esuser用户权限。然后再切换回esuser用户重新启动es,再次报错如下图:
这是由于es进程占用的内存超过了参数vm.max_map_count配置的最大数量,这个错误有两种解决方法:
笔者亲测以上两种方式都能解决上面的问题,由于笔者的服务器本来内存就有限,因此笔者选择了第二种。出现以下输出即表示es启动成功。
为了验证es确实启动成功,我们还可以直接在浏览器或postman上访问服务器的9200端口,es会返回该节点的一些信息,如下图:
Kibana是一款开源的数据分析和可视化平台,利用Kibana我们可以搜索、查看elasticsearch中存储的数据。在kibana官网下载与你下载的es版本一致的kibana,将其上传到服务器上,解压之后进入解压生成的kibana目录的config目录,修改kibana.yml如下:
- #端口号,一般默认为5601,笔者公司有端口号限制,5601无法访问
- server.port: 8081
- #后端服务器主机地址
- server.host: 0.0.0.0
- #当前kibana实例对外展示名称
- server.name: "kibana"
然后启动kibanad的bin目录的kibana脚本即可,安装成功后访问kibana的对外服务ip和端口号,出现以下界面表示安装成功。
kibana的功能较多,Elastic官网已经讲解得非常详细,因此此处不再赘述。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。