https://gist.github.com/spikeekips/40eea22ef4a89f629abd87eed535ac6a


가까스로

가령

각각

각자

각종

갖고말하자면

같다

같이

개의치않고

거니와

거바

거의

것과 같이

것들

게다가

게우다

겨우

견지에서

결과에 이르다

결국

결론을 낼 수 있다

겸사겸사

고려하면

고로

공동으로

과연

관계가 있다

관계없이

관련이 있다

관하여

관한

관해서는

구체적으로

구토하다

그들

그때

그래

그래도

그래서

그러나

그러니

그러니까

그러면

그러므로

그러한즉

그런 까닭에

그런데

그런즉

그럼

그럼에도 불구하고

그렇게 함으로써

그렇지

그렇지 않다면

그렇지 않으면

그렇지만

그렇지않으면

그리고

그리하여

그만이다

그에 따르는

그위에

그저

그중에서

그치지 않다

근거로

근거하여

기대여

기점으로

기준으로

기타

까닭으로

까악

까지

까지 미치다

까지도

꽈당

끙끙

끼익

나머지는

남들

남짓

너희

너희들

논하지 않다

놀라다

누가 알겠는가

누구

다른

다른 방면으로

다만

다섯

다소

다수

다시 말하자면

다시말하면

다음

다음에

다음으로

단지

답다

당신

당장

대로 하다

대하면

대하여

대해 말하자면

대해서

댕그

더구나

더군다나

더라도

더불어

더욱더

더욱이는

도달하다

도착하다

동시에

동안

된바에야

된이상

두번째로

둥둥

뒤따라

뒤이어

든간에

등등

딩동

따라

따라서

따위

따지지 않다

때가 되어

때문에

또한

뚝뚝

라 해도

로 인하여

로부터

로써

마음대로

마저

마저도

마치

막론하고

만 못하다

만약

만약에

만은 아니다

만이 아니다

만일

만큼

말하자면

말할것도 없고

매번

메쓰겁다

모두

무렵

무릎쓰고

무슨

무엇

무엇때문에

물론

바꾸어말하면

바꾸어말하자면

바꾸어서 말하면

바꾸어서 한다면

바꿔 말하면

바로

바와같이

밖에 안된다

반대로

반대로 말하자면

반드시

버금

보는데서

보다더

보드득

본대로

봐라

부류의 사람들

부터

불구하고

불문하고

붕붕

비걱거리다

비교적

비길수 없다

비로소

비록

비슷하다

비추어 보아

비하면

뿐만 아니라

뿐만아니라

뿐이다

삐걱

삐걱거리다

상대적으로 말하자면

생각한대로

설령

설마

설사

소생

소인

습니까

습니다

시각

시간

시작하여

시초에

시키다

실로

심지어

아니

아니나다를가

아니라면

아니면

아니었다면

아래윗

아무거나

아무도

아야

아울러

아이

아이고

아이구

아이야

아이쿠

아하

아홉

안 그러면

않기 위하여

않기 위해서

알 수 있다

알았어

앞에서

앞의것

약간

양자

어기여차

어느

어느 년도

어느것

어느곳

어느때

어느쪽

어느해

어디

어때

어떠한

어떤

어떤것

어떤것들

어떻게

어떻해

어이

어째서

어쨋든

어쩔수 없다

어찌

어찌됏든

어찌됏어

어찌하든지

어찌하여

언제

언젠가

얼마

얼마 안 되는 것

얼마간

얼마나

얼마든지

얼마만큼

얼마큼

엉엉

에 가서

에 달려 있다

에 대해

에 있다

에 한하다

에게

에서

여기

여덟

여러분

여보시오

여부

여섯

여전히

여차

연관되다

연이서

영차

옆사람

예를 들면

예를 들자면

예컨대

예하면

오로지

오르다

오자마자

오직

오호

오히려

와 같은 사람들

와르르

와아

왜냐하면

외에도

요만큼

요만한 것

요만한걸

요컨대

우르르

우리

우리들

우선

우에 종합한것과같이

운운

위에서 서술한바와같이

위하여

위해서

윙윙

으로

으로 인하여

으로서

으로써

응당

의거하여

의지하여

의해

의해되다

의해서

이 되다

이 때문에

이 밖에

이 외에

이 정도의

이것

이곳

이때

이라면

이래

이러이러하다

이러한

이런

이럴정도로

이렇게 많은 것

이렇게되면

이렇게말하자면

이렇구나

이로 인하여

이르기까지

이리하여

이만큼

이번

이봐

이상

이어서

이었다

이와 같다

이와 같은

이와 반대로

이와같다면

이외에도

이용하여

이유만으로

이젠

이지만

이쪽

이천구

이천육

이천칠

이천팔

인 듯하다

인젠

일것이다

일곱

일단

일때

일반적으로

일지라도

임에 틀림없다

입각하여

입장에서

잇따라

있다

자기

자기집

자마자

자신

잠깐

잠시

저것

저것만큼

저기

저쪽

저희

전부

전자

전후

점에서 보아

정도에 이르다

제각기

제외하고

조금

조차

조차도

졸졸

좋아

좍좍

주룩주룩

주저하지 않고

줄은 몰랏다

줄은모른다

중에서

중의하나

즈음하여

즉시

지든지

지만

지말고

진짜로

쪽으로

차라리

참나

첫번째로

총적으로

총적으로 말하면

총적으로 보면

콸콸

쾅쾅

타다

타인

탕탕

토하다

통하여

틈타

펄렁

하게될것이다

하게하다

하겠는가

하고 있다

하고있었다

하곤하였다

하구나

하기 때문에

하기 위하여

하기는한데

하기만 하면

하기보다는

하기에

하나

하느니

하는 김에

하는 편이 낫다

하는것도

하는것만 못하다

하는것이 낫다

하는바

하더라도

하도다

하도록시키다

하도록하다

하든지

하려고하다

하마터면

하면 할수록

하면된다

하면서

하물며

하여금

하여야

하자마자

하지 않는다면

하지 않도록

하지마

하지마라

하지만

하하

한 까닭에

한 이유는

한 후

한다면

한다면 몰라도

한데

한마디

한적이있다

한켠으로는

한항목

할 따름이다

할 생각이다

할 줄 안다

할 지경이다

할 힘이 있다

할때

할만하다

할망정

할뿐

할수있다

할수있어

할줄알다

할지라도

할지언정

함께

해도된다

해도좋다

해봐요

해서는 안된다

해야한다

해요

했어요

향하다

향하여

향해서

허걱

허허

헉헉

헐떡헐떡

형식으로 쓰여

혹시

혹은

혼자

훨씬

휘익

흐흐

힘입어



클러스터(또는 노드) 재시작하기 - Rolling Restarts


참고 : https://www.elastic.co/guide/en/elasticsearch/guide/current/_rolling_restarts.html
참고 : http://asuraiv.blogspot.kr/2015/04/elasticsearch-rolling-restarts.html


Elasticsearch 클러스터를 운영하다보면, Elasticsearch의 자체의 업그레이드 작업이든, 하드웨어의 교체/업그레이드 작업이든, Elasticsearch 클러스터 전체를 재구동해야하는 경우가 무조건 온다.

이때, 보통 우리가 생각 하듯이 그냥 클러스터 전체를 껐다 키면 되지 않을까? 라는건 조금 저렴한(?) 발상이다. 어쨌든, 각 노드를 하나씩 재구동한다고 했을때, 어떻게 해야할까? 

이제부터 'Rolling Restarts'라는 방식을 설명하겠다.
아래와 같은 클러스터 구조가 있다고 하자.



'amigo' 인덱스를 보면,
노드가 3개, Primary Shard가 5개 Replica Shard가 5개인 구조이다. (굵은 테두리로 되어있는 shard가 Primary Shard 이다) 이때, 'es-node1'을 shutdown 한다고 치자. 그렇게 되면 'amigo' 인덱스의 node1에 있는 0,2,3 replica shard는 어떻게 될까? 

있을 곳을 잃어버린 위의 3개 shard는 '무작위로' 나머지 node2, node3으로 '재배치'(Reallocation)가 된다. 이때 발생하는것은 고 비용의 IO 작업 이다.

그건 그렇다 치자, 해야하는 작업을 마치고 다시 node1을 구동한다. 원래있던 0,2,3 replica shard가 다시 node1로 돌아가게 될까? 

아니다. node2와 node3에 있던 shard들이 무작위로 node1로 옮겨가게되는데, 이때 Elasticsearch는 적절히 각 노드의 균형을 맞춰 shard를 재배치 한다. 이때 발생하는 Rebalance 작업 또한 비용이 상당하다.

게다가 각 shard에 대용량의 데이터가 저장되어있다고 했을때, 이러한 Reallocation, Rebalance 작업은 엄청난 시간이 걸린다 (필자는 노드 하나를 껐다 키고 모든 샤드가 파란색이 될때까지 2시간 이상을 기다린 경험도 있다..)

여기서 필요한게 바로 'Rolling Restarts' 기법이다.

2. Rolling Restarts Steps



이제 각 단계를 살펴보자.


1) 위 그림과 같은 초기 상태이다


가능하면, document가 색인되는것을 중지한다.

2) 아래와 같은 요청으로 shard allocation 옵션을 disable한다
$ curl -XPUT 'localhost:9200/_cluster/settings?pretty=true' -d
{
    "transient" : {
        "cluster.routing.allocation.enable" : "none"
    }
}
이게 Rolling Restarts 의 핵심이다. 이게 왜 핵심인지는 step을 밟아가며 알아보자.


3) 노드를 shutdown 한다.     <----- es5.5에서는 _shutdown 명령어가 _shutdown API has been removed

                                            (https://www.elastic.co/guide/en/elasticsearch/reference/5.5/cluster-nodes-shutdown.html)

$ curl -XPOST 'localhost:9200/_cluster/nodes/_local/_shutdown'

자, 2)번에서 allocation을 disable 했다. 이러한 설정상태에서 node를 shutdown하면, 아래와같이 shutdown한 node에 있던 shard들은 재배치 되지 않고 'Unassinged' 상태로 남아있다.




바로 위에 언급했던 '불필요한 I/O작업'을 피할 수 있는것이다.

4) 해야하는 작업을 한다 (유지보수/upgrade)

5) node를 다시 구동하고, 클러스터에 합류하는지 확인한다.

$ sudo service elasticsearch start
 
Starting Elasticsearch...
Waiting for Elasticsearch......
running: PID:25374


6) 2번에서 disable했던 allocation 옵션을 다시 enable한다.

$ curl -XPUT 'localhost:9200/_cluster/settings?pretty=true' -d
{
    "transient" : {
        "cluster.routing.allocation.enable" : "all"
    }
}

자 이렇게 되면 'Unassigned' 상태에있던 shard들이 아래와 같이 재배치 될것이다.


하지만 서론에서 언급한것처럼 무작위로 재배치되어 균형을 맞추는것이 아니라, 원래 node1에 있던 shard들, 즉 'Unassigned' 상태에있던 shard 들만 node1로 옮겨간다.

원래 node1에 있던 shard들이 제자리로 돌아 가는 것이니, Rebalance 작업이 필요없는 것이다!

아래와같이 빠른속도로 재배치가 완료된다.



7) 클러스터가 안정화되면(green 상태) 2번~6번 까지의 작업을 다른 node에 반복한다.


3. 결론



'Rolling Restarts'의 핵심은 shard가 allocation되는것을 disable하는것이다. 간단하지 않은가? 이런 설정을 한뒤에 재구동을 하면, 불필요한 I/O작업과 Rebalance 작업을 하지 않아도 되니, 비용절약과 동시에 재구동후의 빠른 클러스터의 안정을 가져다 준다.

Elasticsearch 운영시에 꼭 알아둬야할 기법인 것같다.


https://www.elastic.co/guide/en/elasticsearch/guide/2.x/index.html





Elasticsearch: The Definitive Guide

Clinton Gormley

Zachary Tong

If you would like to purchase an eBook or printed version of this book once it is complete, you can do so from O'Reilly Media: Buy this book from O'Reilly Media

만약 당신이 eBook을 구매하기 원하거나 또는 당신은 이것이 완벽할 때 이 book의 버전을 출력했다면, 당신은 O'Reilly Media 부터 그렇게 할 수 있다: Buy this book from O'Reilly Media


We welcome feedback – if you spot any errors or would like to suggest improvements, please open an issue on the GitHub repo.

우리는 feedback을 환영하다. 만약 당신이 어떤 에러들의 지점 또는 향상들에 대한 제한을 원한다면, the GitHub repo에 이슈를 open해 주세요.





Getting Started


Elasticsearch is a real-time distributed search and analytics engine. It allows you to explore your data at a speed and at a scale never before possible. It is used for full-text search, structured search, analytics, and all three in combination:

Elasticsearch 는 search와 분석이 분배된 real-time 엔진이다. 이것은 당신에게 당신의 데이터를 빠르고 이전에는 불가능했던 규모를 분석하는것을 허용한다. 이것은 full-text search, 구조화된 검색, 분석, 그리고 combination내에 3가지 전부를 위해 사용된다.


  • Wikipedia uses Elasticsearch to provide full-text search with highlighted search snippets, and search-as-you-type and did-you-mean suggestions.
  • Wikipedia 는 highlighted search snippets와 함께 full-text 검색과 search-as-you-type 과 did-you-mean 제안들을 제공하기 위해 Elasticsearch 을 사용한다.
      
  • The Guardian uses Elasticsearch to combine visitor logs with social -network data to provide real-time feedback to its editors about the public’s response to new articles.
  • Guardian 은 이것의 편집장들에게 새로운 기사들에 공공의 응답을 대해 real-time feedback을 제공하는 social -network data 와 함께 방문로그를 위해 Elasticsearch 를 사용한다.

  • Stack Overflow combines full-text search with geolocation queries and uses more-like-this to find related questions and answers.
  • Stack Overflow 는 geolocation queries 와 함께 full-text를 결합한다. 그리고 관련된 쿼리들과 대답들을 찾기 위해 more-like-this 를 사용한다.

  • GitHub uses Elasticsearch to query 130 billion lines of code.

But Elasticsearch is not just for mega-corporations. It has enabled many startups like Datadog and Klout to prototype ideas and to turn them into scalable solutions. Elasticsearch can run on your laptop, or scale out to hundreds of servers and petabytes of data.

그러나 Elasticsearch 단지 mega-corporations을 위한건 아니다. 이것은 현재 이미 Datadog, Klout와 같은 prototype ideas 와  많은 startup들이 이용했다.


No individual part of Elasticsearch is new or revolutionary. Full-text search has been done before, as have analytics systems and distributed databases. The revolution is the combination of these individually useful parts into a single, coherent, real-time application. It has a low barrier to entry for the new user, but can keep pace with you as your skills and needs grow.

If you are picking up this book, it is because you have data, and there is no point in having data unless you plan to do something with it.

Unfortunately, most databases are astonishingly inept at extracting actionable knowledge from your data. Sure, they can filter by timestamp or exact values, but can they perform full-text search, handle synonyms, and score documents by relevance? Can they generate analytics and aggregations from the same data? Most important, can they do this in real time without big batch-processing jobs?

This is what sets Elasticsearch apart: Elasticsearch encourages you to explore and utilize your data, rather than letting it rot in a warehouse because it is too difficult to query.

Elasticsearch is your new best friend.

문서 번역에 앞서 의역을 할 때도 있고 아닐 때도 있습니다. 

그리고 되도록이면 직접 문서를 보시는 것을 추천드립니다.


* http://hadoop.apache.org/docs/r2.7.3/

Apache Hadoop 2.7.3


Apache Hadoop 2.7.3 is a minor release in the 2.x.y release line, building upon the previous stable release 2.7.2.

(Apache Hadoop 2.7.3는 이전 안정된 release 2.7.2를 기반으로 the 2.x.y release line 안에 minor release를 했다.)


Here is a short overview of the major features and improvements.

(여기에 major features and improvements에 short overview가 있다.)



Common

  • Authentication improvements when using an HTTP proxy server. This is useful when accessing WebHDFS via a proxy server.
    (인증은 HTTP proxy server를 사용할 때 향상된다. 이것은 WebHDFS 경유 proxy server 접근할 때 유용하다.

  • A new Hadoop metrics sink that allows writing directly to Graphite.
    (새로운 Hadoop metrics은  Graphite에 직접쓰는 것에 허락한것을 못쓰게 한다.

     (Specification work는 Hadoop Compatible Filesystem 활동을 관련시켰다.)



HDFS
  • Support for POSIX-style filesystem extended attributes. See the user documentation for more details.
    (POSIX-style filesystem 에 대한 지원은 속성들을(attributes) 확장했다. 더 자세한 것은 user document를 봐라.)

  • Using the OfflineImageViewer, clients can now browse an fsimage via the WebHDFS API.
     ((클라이언트가) OfflineImageViewer를 사용할 때, 클라이언트는 WebHDFS API를 경우하여 fsimage를 새롭게 훏어 볼 수 있다.)

  • The NFS gateway received a number of supportability improvements and bug fixes. The Hadoop portmapper is no longer required to run the gateway, and the gateway is now able to reject connections from unprivileged ports.
    (NFS gateway는 supportability improvements 와  bug fixes를 지원받아썼다. Hadoop portmapper는 gateway를 운영하는것을 더 이상 요청되지 않는다, 그리고 그 gateway는 unprivileged ports로 부터 연결하는 것을 지금 거절 할 수 있다.)

  • The SecondaryNameNode, JournalNode, and DataNode web UIs have been modernized with HTML5 and Javascript.
     (SecondaryNameNode, JournalNode, and DataNode web UIs는 HTML5 와 javascript와 함께 현재 이미 현대화됐다.)

NFS : Network File System 약자이다. 




YARN
  • YARN’s REST APIs now support write/modify operations. Users can submit and kill applications through REST APIs.
     (YARN의 REST APIs 는 write/modify 기능들을 현재 지원하다. Users 는 REST APIs를 통해 applications을 submit 과 kill을 할 수 있다.)

  • The timeline store in YARN, used for storing generic and application-specific information for applications, supports authentication through Kerberos.
     (generic 과 applications에 대한 application-specific information 을 저장하는데 사용된 YARN안에 timeline store는 Kerberos를 통한 인증을 지원합니다. )

  • The Fair Scheduler supports dynamic hierarchical user queues, user queues are created dynamically at runtime under any specified parent-queue.
     (Fair Scheduler 은 dynamic hierarchical user queues을 지원한다, user queues는 어떤 지정된 parent-queue 아래 runtime시에 dynamically하게 만들어진다.)




Getting Started

The Hadoop documentation includes the information you need to get started using Hadoop. Begin with the Single Node Setup which shows you how to set up a single-node Hadoop installation. Then move on to the Cluster Setup to learn how to set up a multi-node Hadoop installation.


Hadoop documentation은 당신이 정보를 포함한다. 


+ Recent posts