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. 本地yum仓库的搭建

    . 1.直接断开网络,模拟生产内网环境 2.将原先的网络yum仓库全部移动到 backup目录下 3.创建本地yum仓库  local_yum.repo vi /etc/yum.repos.d/loc ...

  2. git从远程仓库中更新代码到本地仓库

    git从远程仓库中更新代码到本地仓库 有时候在使用git pull的时候,会莫名才报错.查了很多资料,尝试过git的很多命令.包括git fetch命令,都会报同样的错.最后终于发现了一条捷径,由网友 ...

  3. linux命令和工具

    环境搭建 lnmp环境搭建 命令 uname -a 查看linux版本 lsof -i:80 查看端口被那个程序占用 lsof -p pid号 查看引用的文件 netstat -apn|grep 80 ...

  4. protostuff序列化使用

    背景 最近在做项目的时候需要使用持久化功能,1.0版本中使用的akka自带的持久化功能,使用的是akka persist支持的redis插件,在使用的过程中踩了一些坑.因此,在而2.0版本中考虑自己往 ...

  5. Shader与AGAL(From 7yue)

  6. c#作业题

    第三章 语法基础Ⅱ 上机练习 1. 编写一个控制台程序,要求将字符串中的每个字符颠倒输出. string str = "ABC"; Console.WriteLine(str); ...

  7. MySQL命令show full processlist

    processlist命令的输出结果显示了有哪些线程在运行,可以检查当前数据库的运行状态,两种方式使用这个命令. 1 进入MySQL/bin目录下输入mysqladmin processlist; 2 ...

  8. Visual Studio 插件开发资源

    微软官方MSDN 官方MSDN永远是最大而全的电子字典Visual Studio Software Development Kit ,不过它的资料虽然详细,但没有一定的基础的话直接使用它的话有点无从入 ...

  9. 细说JavaScript对象(3):hasOwnProperty

    判断一个属性是定义在对象本身而不是继承自原型链,我们需要使用从 Object.prototype 继承而来的 hasOwnProperty 方法. hasOwnProperty 方法是 JavaScr ...

  10. 18 Tar Command Examples in Linux

    FROM: http://www.tecmint.com/18-tar-command-examples-in-linux/ 18 Tar Command Examples in Linux By R ...