1.概述这个章节主要介绍ElasticSearch+Kibana两个组件在linux环境的部署步骤,以及在部署过程中遇到问题解决,暂就不涉及集群部署知识点,后面章节再详细讲解这块。下面让我们来简单了解下Elasticsearch与Kibana。 1.1Elasticsearch简介Elasticsearch是一个基于Lucene的搜索服务器,也是一个是一个分布式、高扩展、高实时的搜索与数据分析引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。 1.2Kibana简介Kibana是一个针对Elasticsearch而设计的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。 2.前期准备2.1下载elasticsearch组件到官网下载页https://www./cn/downloads/elasticsearch下载linux最新版本elasticsearch-7.8.0,如图所示: 2.2下载kibana组件到官网下载页https://www./cn/downloads/kibana下载linux最新版本kibana-7.8.0,如图所示: 2.3下载并安装Xshell 6+Xftp 6Xshell+Xftp下载安装使用,这里我就不多说了,度娘大把资料可以供大伙参考。下面简要解释下Xshell+Xftp用途: 3.Elasticsearch部署3.1创建安装包、Elasticsearch、kibana文件夹在用户目录下创建安装包、Elasticsearch、kibana这三个文件夹的目的是为了方便管理,默认目录是/home/deng,创建文件夹命令如下: //安装包文件夹mkdir /home/deng/installpackage//elasticsearch文件夹mkdir /home/deng/elasticsearch//kibana文件夹mkdir /home/deng/kibana 执行完所有命令后,通过Xftp,我们会看到/home/deng目录下创建三个对应文件夹: //删除文件夹rm -rf /home/deng/installpackage 如果创建文件夹没操作权限,可以通过如下命令进行授权: //修改文件权限chmod -R 775 installpackage 再通过Xftp把之前下载好的elasticsearch-7.8.0-linux-x86_64.tar.gz、kibana-7.8.0-linux-x86_64.tar.gz安装包传输到installpackage中: 3.2解压Elasticsearch安装包先切换到elasticsearch文件夹目录: //切换elasticsearch文件夹cd /home/deng/elasticsearch 把elasticsearch安装包解压到elasticsearch目录当中: //解压elasticsearch安装包tar -zxvf /home/deng/installpackage/elasticsearch-7.8.0-linux-x86_64.tar.gz 3.3修改elasticsearch配置指定ES服务主机先切换到elasticsearch文件夹config目录: //切换elasticsearch/config文件夹cd /home/deng/elasticsearch/elasticsearch-7.8.0/config 使用vi文本编辑器修改elasticsearch.yml配置文件: //vi文本编辑器打开elasticsearch.yml配置文件vi elasticsearch.yml 输入修改命令: //i修改i 找到文件中这两项配置,把前面的#符号删除开放出来并修改为如下内容: network.host: 192.168. http.port: 9200 修改完这两项配置之后,因为7.0以后版本还需要修改如下两个配置才能启动,所以找到这两项进行修改,如果bootstrap.system_call_filter属性没有就新增一行: bootstrap.memory_lock: falsebootstrap.system_call_filter: false 把上面四项配置修改后点击Esc按钮退出编辑,输入命令保存退出: //保存退出:wq 3.4启动Elasticsearch服务注意:ES启动有可能会多次报错,需要我们根据错误信息重新修改下相关配置文件。 3.4.1切换到bin目录启动Elasticsearch服务//进入bin目录cd /home/deng/elasticsearch/elasticsearch-7.8.0/bin//启动Elasticsearch服务或者后台启动模式./elasticsearch or ./elasticsearch -d 当我们启动Elasticsearch服务时候,可能会遇到如下错误提示。 3.4.2root用户不能启动Elasticsearch服务//无法以root用户身份运行elasticsearch服务。org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root 根据上述错误提示,我们要创建一个用户进行启动Elasticsearch服务。而因为我安装linux版本CentOS 7时候已经新建一个用户deng,所以下面演示我就该用户进行部署操作,如果你们在安装过程中没有新建,就使用以下命令新建一个用户再启动Elasticsearch服务: //useradd 建立用户账号(默认在/home目录下)useradd deng//passwd设定账号的密码passwd 123456 3.4.3虚拟内存过低//最大虚拟内存区域vm.max_map_count [65530]太低,至少增加到[262144]max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 根据上述错误提示,我们需要修改下sysctl.conf系统配置文件,但是如果当前用户没有root修改系统文件权限,那么就得先su root用户再进行如下操作: vi /etc/sysctl.conf 输入修改命令i,在空白处添加一行文本: vm.max_map_count=262144 输入:wq保存退出后,再通过su deng切换回来,然后启动Elasticsearch服务。 3.4.4elasticsearch进程的最大文件描述符太低与管理员最大线程数太低//elasticsearch进程的最大文件描述符[4096]太低,请至少增加到[65535]max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]//用户[admin]的最大线程数[3818]太低,请至少增加到[4096]max number of threads [3818] for user [admin] is too low, increase to at least [4096] 根据上述错误提示,还是跟之前操作一样,如果当前用户没有root修改系统文件权限,那么就得先su root用户再进行如下操作: vi /etc/security/limits.conf 输入修改命令i,在空白处添加四行文本: * soft nofile 65535* hard nofile 65535* soft nproc 4096* hard nproc 4096 输入:wq保存退出后,再通过su deng切换回来,然后启动Elasticsearch服务。 3.4.5默认discovery设置不适合生产使用//默认discovery设置不适合生产使用;至少有一个[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]必须配置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 根据上述错误,输入命令进行如下操作: vi elasticsearch.yml 输入修改命令i,找到文件中这项配置,把前面的#符号删除开放出来并修改为如下内容: cluster.initial_master_nodes: ["node-1"] 输入:wq保存退出后启动Elasticsearch服务。 3.4.6无法获取节点锁//无法获取节点锁java.lang.IllegalStateException: failed to obtain node locks 这个错误原因是因为系统已经存在elasticsearch进程了,找出这个进程,把它kill掉重新启动就可以了,具体操作命令如下: //查看elasticsearch进程ps -ef | grep elasticsearch//kill进程ID,格式(kill -9 1111)kill -9 xxxx 然后重新启动Elasticsearch服务。 3.4.7Elasticsearch服务正常启动如果还不能访问,把linux系统防火墙关闭,操作防火墙命令如下: //查看防火状态systemctl status firewalld//暂时关闭防火墙systemctl stop firewalld//永久关闭防火墙systemctl disable firewalld//重启防火墙systemctl enable firewalld 成功访问界面如下: 4.Kibana部署因为之前已经创建好kibana文件夹,我们只需要把kibana安装包解压到对应文件夹中再启动服务就好了。 4.1解压Kibana安装包先切换到kibana文件夹目录: //切换kibana文件夹cd /home/deng/kibana 把kibana安装包解压到kibana目录当中: //解压kibana安装包tar -zxvf /home/deng/installpackage/kibana-7.8.0-linux-x86_64.tar.gz 4.2修改kibana配置指定kibana服务主机先切换到kibana文件夹config目录: //切换kibana/config文件夹cd /home/deng/kibana/kibana-7.8.0-linux-x86_64/config 使用vi文本编辑器修改kibana.yml配置文件: //vi文本编辑器打开kibana.yml配置文件vi kibana.yml 找到文件中这三项配置输入i修改,把前面的#符号删除开放出来并修改为如下内容: server.port: 5601server.host: "192.168."elasticsearch.host: "http://192.168.:9200" 如果需要修改为中文显示: i18n.locale: "zh-CN" 再切换到kibana文件夹bin目录,启动kibana服务: //切换kibana/bin目录cd /home/deng/kibana/kibana-7.8.0-linux-x86_64/bin//启动kibana服务./kibana 成功访问界面如下: 5.Elasticsearch开启登录验证功能先停止Elasticsearch服务,配置X-Pack打开安全配置功能: //配置X-Pack打开安全配置功能xpack.security.enabled: truexpack.security.transport.ssl.enabled: true 重启Elasticsearch服务,执行设置用户名和密码的命令,为elastic、kibana、logstash_system、beats_system四个用户分别设置密码: //切换elasticsearch/bin目录cd /home/deng/elasticsearch/elasticsearch-7.8.0/bin//执行设置用户名和密码的命令,为4个用户分别设置密码:elastic、kibana、logstash_system、beats_system./elasticsearch-setup-passwords interactive 如图所示: //切换kibana/config目录cd /home/deng/kibana/kibana-7.8.0-linux-x86_64/config//设置Kibana登录账号跟密码elasticsearch.username: "elastic"elasticsearch.password: "xxx" 如图所示: |
|