小编all*_*len的帖子

Logstash/ElasticSearch:对于字段的数据类型猜测错误

我试图导入Logstash的日志文件包含一个有时看起来像日期/时间的字段,有时却没有.不幸的是,第一次出现看起来像日期/时间,某人(logstash或elasticsearch)决定将该字段定义为日期/时间.尝试导入以后的日志记录时,Elasticsearch有一个例外:

Failed to execute [index ...]  
org.elasticsearch.index.mapper.MapperParsingException: Failed to parse [@fields.field99]  
at org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:320)  
at org.elasticsearch.index.mapper.object.ObjectMapper.serializeValue(ObjectMapper.java:587)  
...  
Caused by: java.lang.IllegalArgumentException: Invalid format: "empty"  
at org.elasticsearch.common.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:747)  
...  
Run Code Online (Sandbox Code Playgroud)

问题:如何告诉logstash/elasticsearch不将此字段定义为日期/时间?我希望我的日志中的所有字段(除了一个显式时间戳字段)都被定义为文本.

问题:似乎logstash在看到弹性搜索引发异常的日志之后放弃尝试从日志文件中导入记录.如何告诉logstash忽略此异常并继续尝试从日志文件中导入其他记录?

elasticsearch logstash

6
推荐指数
1
解决办法
3070
查看次数

OSX上的Java文件限制低于bash

我已经增加了我的macbook pro上的最大文件限制,以便Elasticsearch可以处理更多文件,但它无法正常工作.

我运行命令'ulimit -a',它说"打开文件"是100,000.我可以像这样运行一个简单的shell脚本:

export counter=0
while (true) ; do touch "/tmp/foo${counter}" ; export counter=`expr $counter + 1` ; done
Run Code Online (Sandbox Code Playgroud)

而且我能够创建大量文件(在我杀死脚本之前超过60,000个).

但是,使用Java代码在"/ tmp"目录的空子目录中创建RandomAccessFiles,在出现错误之前,我只能生成10,232个文件:java.io.FileNotFoundException(打开的文件太多).这是我的Java代码:

import java.io.*;
import java.util.*;

public class max_open_files {
    public static void main(String ... args) throws Exception {
        File testDir = new File("/tmp/tempsubdir");
        testDir.mkdirs();

        List<File> files = new LinkedList<File>();
        List<RandomAccessFile> fileHandles = new LinkedList<RandomAccessFile>();

        try {
            while (true) {
                File f = new File(testDir, "tmp" + fileHandles.size());
                RandomAccessFile raf = new RandomAccessFile(f, "rw");
                files.add(f);
                fileHandles.add(raf);
            }
        } catch …
Run Code Online (Sandbox Code Playgroud)

java macos bash elasticsearch

3
推荐指数
1
解决办法
2384
查看次数

标签 统计

elasticsearch ×2

bash ×1

java ×1

logstash ×1

macos ×1