ELK单机安装部署使用教程--亲测

ELK单机安装部署使用教程–亲测

Elasticserach安装帮助文档

	本文档针对6.7到7.1左右的版本都可以使用

1.基本环境搭建

  1. Root下 新建用户 dev , useradd –d /home/dev -m dev

  2. 更改目录所有者命令: chown -R dev /home/dev

  3. 更改目录权限命令: chmod -R 755 /home/dev

  4. 安装JDK并设置环境变量
    新建文件夹 在home下的dev目录下创建以下文件
    mkdir jdk
    mkdir elasticsearch
    mkdir logstash
    mkdir node
    mkdir tar
    将文件全部传到tar目录下
    将相应的tar包解压到对应的问件中
    在对应的目录中执行 格式如 解压 tar -xzvf /home/dev/tar/elasticsearch-6.3.0.tar.gz

  5. JDK安装;
    vim /etc/profile

    添加
    export JAVA_HOME=/home/dev/jdk/jdk1.8.0_25
    export CLASSPATH=.: J A V A H O M E / j r e / l i b / r t . j a r : JAVA_HOME/jre/lib/rt.jar: JAVAHOME/jre/lib/rt.jar:JAVA_HOME/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = JAVA_HOME/lib/tools.jar export PATH= JAVAHOME/lib/tools.jarexportPATH=JAVA_HOME/bin:$PATH
    保存退出

    切换dev用户

    node.name: node-1
    path.data: /home/dev/elastisearch/data
    path.logs: /home/dev/elastisearch/log
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    network.host: 192.168.1.251(对应自己的主机IP)
    http.cors.enabled : true
    http.cors.allow-origin : “*”

ElasticSearch启动

切换到/home/dev/elasticsearch/bin下
执行./elasticsearch &
根据日志提示 修改问题 所列问题如下:

安装E时出现的问题总结
报错:
ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
原因:
这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决:
在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
可以查看issues
https://github.com/elastic/elasticsearch/issues/22899

问题出现环境,OS版本:CentOS-7-x86_64-Minimal-1708;ES版本:elasticsearch-6.2.2。
1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
  每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

ulimit -Hn
ulimit -Sn
  修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效

  •           soft    nofile          65536
    
  •           hard    nofile          65536
    

2、max number of threads [3818] for user [es] is too low, increase to at least [4096]
  问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf,增加配置

1
2 * soft nproc 4096
* hard nproc 4096
  可通过命令查看
ulimit -Hu
ulimit -Su

问题三:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解决:切换到root用户,进入limits.d目录下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048

3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144
vi /etc/sysctl.conf
sysctl -p
  执行命令sysctl -p生效

4、Exception in thread “main” java.nio.file.AccessDeniedException: /usr/local/elasticsearch/elasticsearch-6.2.2-1/config/jvm.options
  elasticsearch用户没有该文件夹的权限,执行命令
chown -R es:es /usr/local/elasticsearch/

错误是关于jvm内存分配的问题heap size [268435456] not equal to maximum heap size [2147483648]
需要修改的jvm配置
[seven@localhost bin]$ vim /usr/java/elasticsearch/config/jvm.options
1
将-Xmx2g改成-Xmx256m,也就是heap size [268435456] /1024/1024的值

启动异常:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

问题原因:因为Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899

解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

logstash使用rpm包安装的时候没有配置init的启动脚本
默认情况使用rpm包安装完logstash之后没有启动脚本。官网给了一个脚本,需要根据不同的系统版本生成对应的启动脚本,而且官网没有给明使用方法,对于新用户来说算是个坑,不过在终端可以查看到脚本的使用帮助# /usr/share/logstash/bin/system-install --help
生成启动脚本,centos6使用sysv参数,centos7使用systemd

/usr/share/logstash/bin/system-install /etc/logstash/startup.options sysv

Successfully created system startup script for Logstash

检查您的elasticsearch listen in /etc/elasticsearch/elasticsearch.yml
检查elasticsearch是否已启动:)(ps -ef | grep elasticsearch)
如果没有重启它。
并检查您是否没有防火墙9200端口。因为kibana需要连接到elasticsearch。
所有kibana作业都是在端口9200上的elasticsearch数据库上请求完成的。

linux(centos 7)下安装elasticsearch - head插件(端口占用,防火墙关闭)

安装Git(如果未安装)

1, yum install git
2, git  --version  #查看版本

强调文本 强调文本

安装node(如果未安装 root用户下)

node安装

https://nodejs.org/zh-cn/download/ 去这个网址 下载Linux64位的包
解压压到(tar -xvf 文件)/usr/local/node下(缺少目录创建)
export NODE_HOME=/usr/local/node
export PATH= N O D E H O M E / b i n : NODE_HOME/bin: NODEHOME/bin:PATH

执行 source /etc/profile

node -v  查看是否安装成功

安装grunt工具(如果未安装,head插件的启动使用grunt root用户下)

npm install -g grunt-cli  #安装grunt命令行工具grunt-cli

npm install grunt --save-dev  #安装grunt及其插件

grunt -version   #查看安装版本情况 

下载并安装elasticsearch-head

选择一个目录下执行下面命令,别把head插件clone后放到 elasticsearch的plugins目录下,否则会报错

git clone git://github.com/mobz/elasticsearch-head.git #git下载
cd elasticsearch-head #进入目录

进入elasticsearch-head插件的源码目录
npm install -g grunt --registry=https://registry.npm.taobao.org
安装grunt工具,由于在国内连接国外的镜像速度奇慢无比,所以我们使用了国内taobao的镜像。
编译elasticsearch-head源码
npm install -g cnpm --registry=https://registry.npm.taobao.org (root用户下)
安装cnpm,这是链接中国的镜像
cnpm install #使用cnpm代替npm编译es-head源码
编译好后es-head根目录下会出现一个叫node_modules的目录,该目录就是存放源码编译后的可执行文件。
那到现在我们已经把elasticsearch-head插件和它的依赖都安装好了,那接下来我们就要对他的配置进行修改,准备运行。

修改两处的配置

(1):修改elasticsearch-5.5.2 安装目录下的config/elasticsearch.yml
增加如下字段
http.cors.enabled: true
http.cors.allow-origin: ""
(2):修改elasticsearch-head下的Gruntfile.js
#其中增加一个
插件默认是只有本机的IP才能访问的,也就是127.0.0.1,这样我们就无法跨主机访问head 插件的管理界面,所以需要把它改成所有IP地址都能访问。该配置在head插件安装目录根目录下,文件名为Gruntfile.js。
cd /home/dev/elasticsearch/elasticsearch-head/elasticsearch-head
vi Gruntfile.js
在该配置文件中connect-server-options下添加hostname: ‘0.0.0.0’,这个配置,这样就不限制IP地址的访问了
hostname: ‘0.0.0.0’ 或者是 hostname: '

图片

具体位置如图所示

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

启动elasticsearch和head插件

(1):启动elasticsearch,进入elasticsearch的bin
sh elasticsearch #执行该命令
(2):启动head插件,进入elasticsearch-head目录
grunt server #执行该命令
如果是学习环境建议关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
八:很多时候重启会遇上9200,或者9100端口占用
netstat -tunlp |grep 端口号 #查看某个端口情况
kill -9 pid #杀死该占用,pid如下图,如kill -9 2411
查看端口

linux(centos 7)下安装elasticsearch - sql插件

安装

./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6.3.0.0/elasticsearch-sql-6.3.0.0.zip

https://github.com/NLPchina/elasticsearch-sql/releases 下载相应版本解压(本项目6.3.0)到和E并列的目录中

1.下载es-sql-site-standalone文件(我的安装包里都有),并解压该文件
2.解压后进入site-server中执行以下命令安装es-sql服务端的依赖环境:
npm install express --save(需要在这个目录再次执行)
3.在site_configuration.json文件中可以修改访问端口(默认如下):
{
“port”:8091
}

启动命令:node node-server.js

访问验证

http://192.168.1.251:8091
界面如图

Logstash安装使用说明

执行

切到/home/cui/logstash/logstash-6.3.1 执行

验证

bin/logstash -e ‘input{stdin{}}output{stdout{codec=>rubydebug} }’

配置文件执行命令示例 bin/logstash -f confs/testLtoE.conf
然后你会发现终端在等待你的输入。没问题,敲入 Hello World,回车,然后看看 会返回什么结果!

结果

成功示例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值