[Java] BufferedReader 사용 시 size 설정

ITWeb/개발일반 2018.07.17 08:34

Text 파일을 라인 단위로 읽어 들이기 위해 많이 사용하는 클래스 입니다.

보통은 default 생성자로 사용을 하는데 라인 한줄이 너무 커서 크기를 조정해 줘야 했습니다.

혹시 잊을까봐 기록해 봅니다.


https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html


BufferedReader(Reader in)


BufferedReader(Reader in, int sz)


JDK8 기준으로 default size  는 8192 bytes 입니다.


private static int defaultCharBufferSize = 8192;


Trackback 0 : Comment 0

[Curator] 5.5 사용해 보기

Elastic/Curator 2018.07.13 19:34

오랜만에 사용해 보려고 했더니 또 기억이나질 않아서 기록해 봅니다.


공식문서)

https://www.elastic.co/guide/en/elasticsearch/client/curator/5.5/index.html


설치)

https://www.elastic.co/guide/en/elasticsearch/client/curator/5.5/pip.html


설치 방법이 예전이랑 좀 달라진게 있더군요.

저는 아래 방법으로 설치 했습니다.


$ pip install --user elasticsearch-curator


실행)

https://www.elastic.co/guide/en/elasticsearch/client/curator/5.5/command-line.html

https://www.elastic.co/guide/en/elasticsearch/client/curator/5.5/singleton-cli.html


$ curator [--config CONFIG.YML] [--dry-run] ACTION_FILE.YML 


이 방식으로 이전 3.x 버전에서는 command 를 주고 사용했었으나 4.2 버전 이후 부터는 Singleton command line interface 를 사용해야 합니다. 


- prefix 방식

$ curator_cli --host localhost --port 9200 show_indices --filter_list '{"filtertype":"pattern", "kind":"prefix", "value":"search-"}'


- regex 방식

$ curator_cli --host localhost --port 9200 show_indices --filter_list '{"filtertype":"pattern", "kind":"regex", "value":"^(search-).*$"}'


예제)

https://www.elastic.co/guide/en/elasticsearch/client/curator/5.5/examples.html


더 많은 예제는 위 문서에서 찾아 보시면서 해보시면 될 것 같습니다.


Trackback 0 : Comment 0

[Logstash] http output plugin - slack chat

Elastic/Logstash 2018.07.09 12:19


예전에는 output slack_chat 이라고 플러그인을 만들어서 사용을 했었는데 logstash output http 가 있어서 그냥 이걸로 바로 사용하겠습니다.


공식문서에 잘못된 정보가 있기 때문에 그대로 보고 따라 하시면 시간을 낭비 하실 수 있습니다.

(6.3.0 에서 테스트 되었습니다.)


Reference)

https://www.elastic.co/guide/en/logstash/current/plugins-outputs-http.html


input {

stdin {}

}


output {

stdout { codec => rubydebug }

http {

url => "https://slack.com/api/chat.postMessage"

content_type => "application/json"

http_method => "post"

format => "json"

mapping => [ "channel", "CXXXXXXXXX", "text", "%{message}" ]

headers => ["Authorization", "Bearer xoxb-xxxxxxxxxxx"]

}

}


문서 내 잘못된 정보)

https://www.elastic.co/guide/en/logstash/current/plugins-outputs-http.html#plugins-outputs-http-mapping


mapping 이 hash 로 되어 있는데 실제 나와 있는 예제로는 동작 하지 않습니다.


잘못된 예)

   mapping => {"foo" => "%{host}"
              "bar" => "%{type}"}


바른 예)

mapping => [ "channel", "CXXXXXXXXX", "text", "%{message}" ]



Trackback 0 : Comment 0

[Elasticsearch] Default field type 값.

Elastic/Elasticsearch 2018.07.05 11:04

elasticsearch 문서 모델링 하면서 잘 알고 있다고 생각 하지만 늘 그렇듯 잘 잊어버립니다.

그래서 올려 봅니다. (어딘가에 글 올려 놓은게 있긴 할테지만.. )



우선, FieldMapper 클래스를 확인 합니다.

여기서 보면 MappedFieldType 클래스로 넘어 가게 됩니다.


그래서 default field type 은 아래와 같습니다.


public MappedFieldType() {
setTokenized(true);
setStored(false);
setStoreTermVectors(false);
setOmitNorms(false);
setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS);
setBoost(1.0f);
}


Trackback 0 : Comment 0

[Kibana] start and stop 스크립트

Elastic/Kibana 2018.07.05 09:52

Kibana 실행 스크립트.

$ bin/kibana 귀찮아서 그냥 es 에서 쓰던거 복붙.


[start.sh]


#!/bin/bash


DIR_NAME=`dirname "$0"`

DIR_HOME=`cd $DIR_NAME; cd ..; pwd`


$DIR_HOME/bin/kibana> /dev/null 2>&1 & KIBANA_PID=$!

echo $KIBANA_PID > $DIR_HOME/bin/kibana.pid



[stop.sh]


#!/bin/bash


DIR_NAME=`dirname "$0"`

DIR_HOME=`cd $DIR_NAME; cd ..; pwd`


KIBANA_PID=`cat $DIR_HOME/bin/kibana.pid`

kill -9 $KIBANA_PID

echo "Kibana Daemon($KIBANA_PID) is killed"

rm -f $DIR_HOME/bin/kibana.pid


tags : elastic, kibana
Trackback 0 : Comment 0