java环境这里默认安装了 ,一般源码安装,这里就不说了

一、安装logstash

安装logstash可以用yum安装,也可以用源码安装:

yum安装:

1.导入GPG:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2.创建repo文件,vim /etc/yum.repos.d/logstash.repo

[logstash-.x]
name=Elastic repository for .x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=
autorefresh=
type=rpm-md

3.安装logstash

yum install logstash

二、源码安装(推荐)

1.官网下载需要的稳定版本

2.解压:

unzip logstash-5.5..zip

3.移到安装目录,创建软链接,我这里安装到/opt/app目录

mv logstash-5.5. /opt/app/
ln -s logstash-5.5./ logstash

4.修改配置文件

vim /opt/app/logstash/config/logstash.yml

path.data: /opt/app/logstash/data/
pipeline.workers:
pipeline.output.workers:
pipeline.batch.size:
path.config: /opt/app/logstash/etc #放配置文件
config.reload.automatic: false #这里yes的话后面会报错,后面有提到这个问题
config.reload.interval:
path.logs: /data/logs/logstash

vim /opt/app/logstash/config/startup.options  修改部分选项如下:

JAVACMD=/opt/app/jdk/bin/java
LS_HOME=/opt/app/logstash
LS_JAVA_OPTS="/opt/app/jdk"
LS_PIDFILE=/opt/app/logstash/run/logstash.pid
LS_USER=logstash
LS_GROUP=logstash
LS_GC_LOG_FILE=/data/logs/logstash/gc.log

5.创建目录和用户

useradd -g  -u  logstash -s /sbin/nologin
mkdir /opt/app/logstash/run -p
mkdir /data/logs/logstash -p
mkdir /opt/app/logstash/data/ -p
mkdir /opt/app/logstash/etc -p
chown logstash:logstash /opt/app/logstash -R
chown logstash:logstash /data/logs/logstash

6.创建启动脚本,通过systemd管理:

vim /etc/systemd/system/logstash.service

[Unit]
Description=logstash [Service]
Type=simple
User=logstash
Group=logstash
EnvironmentFile=-/etc/default/logstash
#ExecStart=/opt/app/logstash/bin/logstash
ExecStart=/opt/app/logstash/bin/logstash --path.settings /opt/app/logstash/config
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
WorkingDirectory=/
Nice=
LimitNOFILE= [Install]
WantedBy=multi-user.target

vim /etc/default/logstash

JAVACMD="/opt/app/jdk/bin/java"
LS_HOME="/opt/app/logstash"
LS_SETTINGS_DIR="/opt/app/logstash/config"
LS_PIDFILE="/opt/app/logstash/run/logstash.pid"
LS_USER="logstash"
LS_GROUP="logstash"
LS_GC_LOG_FILE="/data/logs/logstash/gc.log"
LS_OPEN_FILES=""
LS_NICE=""
SERVICE_NAME="logstash"
SERVICE_DESCRIPTION="logstash"

这样logstash就可以启动了

三、实现logstash写入mariadb数据到elasticsearch

1.安装插件:(这是一个基于jdbc的数据导入插件,可以从各种能对接此驱动的数据库导入数据到ES,还可以自行设定导入执行频率,规则等。

cd /opt/app/logstash
bin/logstash-plugin install logstash-input-jdbc

出现success表明安装成功

tips:

安装插件国外源太慢,解决办法:

(1)先安装gem

yum install gem

(2)替换国内的镜像

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

(3)验证是否成功

#gem sources -l
***CURRENTSOURCES*** https://gems.ruby-china.org/

(4)修改Gemfile数据源地址

cd /opt/app/logstash
修改Gemfile文件的source的值为:“https://gems.ruby-china.org/”
修改Gemfile.jruby-1.9.lock文件的remote的值为:“https://gems.ruby-china.org/

(5)执行安装插件

bin/logstash-plugin install logstash-input-jdbc

2.安装所需的java驱动包:

下载地址

解压到自定义目录,这个路径会在logstash配置文件中配置使用,我这里是:

/opt/app/logstash/lib/mysql-connector-java-5.1.44

3.生成配置文件,这里有工具可以生成

、、、、、、

tips:

logstash 启动后报错:

Logstash is not able to start since configuration auto reloading was enabled but the configuration contains plugins that don't support it. Quitting... {:pipeline_id=>"main", :plugins=>[LogStash::Inputs::Stdin]}

解决办法:

config.reload.automatic: false #关闭这个选项

logstash5安装并实现mariadb数据写入到elasticsearch的更多相关文章

  1. 通过Hive将数据写入到ElasticSearch

    我在<使用Hive读取ElasticSearch中的数据>文章中介绍了如何使用Hive读取ElasticSearch中的数据,本文将接着上文继续介绍如何使用Hive将数据写入到Elasti ...

  2. Logstash读取Kafka数据写入HDFS详解

    强大的功能,丰富的插件,让logstash在数据处理的行列中出类拔萃 通常日志数据除了要入ES提供实时展示和简单统计外,还需要写入大数据集群来提供更为深入的逻辑处理,前边几篇ELK的文章介绍过利用lo ...

  3. SQL数据同步到ElasticSearch(三)- 使用Logstash+LastModifyTime同步数据

    在系列开篇,我提到了四种将SQL SERVER数据同步到ES中的方案,本文将采用最简单的一种方案,即使用LastModifyTime来追踪DB中在最近一段时间发生了变更的数据. 安装Java 安装部分 ...

  4. flink---实时项目--day01--1. openrestry的安装 2. 使用nginx+lua将日志数据写入指定文件中 3. 使用flume将本地磁盘中的日志数据采集到的kafka中去

    1. openrestry的安装 OpenResty = Nginx + Lua,是⼀一个增强的Nginx,可以编写lua脚本实现⾮非常灵活的逻辑 (1)安装开发库依赖 yum install -y ...

  5. Centos7 编译安装 Nginx、MariaDB、PHP

    前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小 ...

  6. PHP如何通过SQL语句将数据写入MySQL数据库呢?

    1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...

  7. 如何将爬取的数据写入ES中

    前面章节一直在说ES相关知识点,现在是如何实现将爬取到的数据写入到ES中,首先的知道ES的python接口叫elasticsearch dsl 链接:https://github.com/elasti ...

  8. Python3 Pandas的DataFrame格式数据写入excle文件、json、html、剪贴板、数据库

    Python3 Pandas的DataFrame格式数据写入excle文件.json.html.剪贴板.数据库 一.DataFrame格式数据 Pandas是Python下一个开源数据分析的库,它提供 ...

  9. Redis 安装,配置以及数据操作

    Nosql介绍 Nosql:一类新出现的数据库(not only sql)的特点 不支持SQL语法 存储结构跟传统关系型数据库中那种关系表完全不同,nosql中存储的数据都是k-v形式 Nosql的世 ...

随机推荐

  1. VS2010/2012Web负载测试

    原文地址:http://www.cnblogs.com/aarond/archive/2013/04/18/performance.html VS自带的Web负载测试真的很大程度上能和专业的loadr ...

  2. (1)IIS

    1.选择控制面板-程序和功能 2.点击左侧“打开或关闭Windows功能 3.internet信息服务下的文件夹全勾 4.安装完成后,选择管理工具 5.选择IIS管理器 6.显示如下

  3. 51nod 1202 不同子序列个数 [计数DP]

    1202 子序列个数 题目来源: 福州大学 OJ 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 子序列的定义:对于一个序列a=a[1],a[2],.. ...

  4. Python的程序结构[6] -> 迭代器/Iterator -> 迭代器浅析

    迭代器 / Iteratior 目录 可迭代对象与迭代器协议 迭代器 迭代器(模拟)的建立 1 可迭代对象与迭代器协议 对于迭代器首先需要了解两个定义,迭代器协议 (Iterator Protocol ...

  5. axure8.1.0.3377授权码

    被授权人:zdfans.com 授权密钥:gP5uuK2gH+iIVO3YFZwoKyxAdHpXRGNnZWN8Obntqv7++FF3pAz7dTu8B61ySxli

  6. Codeforces 1009F Dominant Indices

    另类解法 将每一个节点拥有的各深度节点数量存在vector中,向上返回,这样不会占用过多的内存,以此判断最多节点相应的深度即可,但正常写最后一个数据会T,毕竟一次复制一个节点,相当于复制了(1+2+3 ...

  7. (寒假集训) Cow Jog(二分优化的最长上升子数列)

    Cow Jog 时间限制: 1 Sec  内存限制: 64 MB提交: 24  解决: 5[提交][状态][讨论版] 题目描述 Farmer John's N cows (1 <= N < ...

  8. shell 查找目录

    查找目录:find /(查找范围) -name '查找关键字' -type d

  9. bzoj 5020: [THUWC 2017]在美妙的数学王国中畅游【泰勒展开+LCT】

    参考:https://www.cnblogs.com/CQzhangyu/p/7500328.html --其实理解了泰勒展开之后就是水题呢可是我还是用了两天时间来搞懂啊 泰勒展开是到正无穷的,但是因 ...

  10. LA 3026 Period

    这只是蓝书上的一道KMP水题...然后对于最长前缀的循环证明我就不说了... #include<iostream> #include<cstring> #include< ...