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. Win32环境下代码注入与API钩子的实现(转)

    本文详细的介绍了在Visual Studio(以下简称VS)下实现API钩子的编程方法,阅读本文需要基础:有操作系统的基本知识(进程管理,内存管理),会在VS下编写和调试Win32应用程序和动态链接库 ...

  2. JUnit--BeforeClass、AfterClass、Before、After示例

    JUnit 4 使用 Java 5 中的注解(annotation),以下是JUnit 4 常用的几个 annotation 介绍@Before:初始化方法@After:释放资源@Test:测试方法, ...

  3. 开发API完成,写个文档

    Jira对接Prism开发API指南 部门 证系统运维团队 文档制作人 陈刚() 时间 2017-04-05 版本 第一版 目录 目的... 1 通例:... 1 认证... 2 新建版本单... 2 ...

  4. Python的扩展接口[1] -> 串口通信

    串口通信 / Serial Communication 1 串口简介 / Serial Introduction 串行接口(Serial Interface)简称串口,通常为COM接口,数据发送方式为 ...

  5. (转)Limboy:自学 iOS 开发的一些经验

    不知不觉作为 iOS 开发也有两年多的时间了,记得当初看到 OC 的语法时,愣是被吓了回去,隔了好久才重新耐下心去啃一啃.啃了一阵,觉得大概有了点概念,看到 Cocoa 那么多的 Class,又懵了, ...

  6. 5.Android之NFC介绍

    NFC简介: Near Field Communication 近场通信,是一种数据传输技术. 与wifi.蓝牙.红外线等数据传输技术的一个主要差异就是有效距离一般不能超过4cm. NFC支持3种工作 ...

  7. 体验VisualStudio 2013中的内存分析功能

    内存分析一直是个比较令人头痛的问题,Visual Studio 2013中就集成了一个内存分析的功能,可以方便我们进行分析内存的占用情况.本文将简单的介绍一下如何使用这个功能. 首先以一个简单的程序为 ...

  8. PHP生成GUID的函数

    GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) . GUID是一个通过特定算法产生 ...

  9. 【转】蘑菇街面试经历(已拿到offer)

    最近正好接到了蘑菇街的面试通知,顿时很欣喜,还在等通知,不知结果如何. 首先安排了一次电话面试,大体内容时现在工作的一个状态,主要负责的项目功能,模块,以及架构例如,高并发网站优化,负载均衡等等,还会 ...

  10. 编译qt提示找不到gmake

    转:http://wuyuans.com/2012/11/gmake-not-found/ 在用debian编译qt4.5的时候提示gmake: not found,gmake是什么东西,用aptit ...