elasticsearch.yml을 고치고 재시작하지 않아도, api를 통해 cluster setting을 수정할 수 있다.
얼마전에 cluster setting값을 수정할일이 있어 문서를 찾아보니, 

es는 진짜 가이드문서가 잘 나와있다.
https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html

 

Cluster update settings API | Elasticsearch Reference [7.5] | Elastic

Cluster update settings APIedit Updates cluster-wide settings. With specifications in the request body, this API call can update cluster settings. Updates to settings can be persistent, meaning they apply across restarts, or transient, where they don’t sur

www.elastic.co

 

get  /_cluster/settings?include_defaults=true 으로 살펴보면
cluster setting 값들이 나온다.

setting값의 영역이  'persistent', 'transient', 'default' 로 나뉘는데,
default는 우리가 수정할 수 있는건 아니다.

default에 나와있는 설정값중에 수정할 부분을 persistent나 transient에 수정하면된다. 
persistent에 수정을 하면 클러스터를 재시작해도 설정이 유지된다.
transient에 수정을 하면 클러스터가 재시작되면 설정이 사라지고, 원복된다.

즉, es cluster에서 설정값이 transient->persistent->defaults 순의 우선순위를 갖게되는 것이다.

 

1. 예를 들어, node를 재시작할때 샤드 route를 피하기 위해 아래와 같이 잠시 설정을 none으로 바꿀때는 transient에 변경. 

PUT /_cluster/settings
{
	"transient": {
		"cluster.routing.allocation.enable": "all"
	}
}

 

2. node를 재시작해도 설정을 유지하고 싶으면 persistent에 변경.

PUT /_cluster/settings
{
	"persistent": {
		"search.default_allow_partial_results": "false"
	}
}

 

3. default 영역은 설정파악할때 참고용.
나는 계속 default영역에 바꾸려고.. 이렇게 삽질을 ㅠ.ㅠ
json에서 "default": { } 여기에 바로 update하는거 아니고, 참고용이고
transient, persistent 에 업뎃하세요~

{
	"default" : {
    	"search": {
        	xxx_xxx_xx : "false"
        }
	}
}

 

웹 초보인 나로서는 화면과 화면 이동, 그리고 화면의 전환 등 Routing에 대한 어려움이 있다. 텍스트를 눌러서 다른 페이지로 이동하거나 메뉴를 만들어서 메뉴를 클릭하면 다른 페이지를 이동하거나... 별거 아닌것 같은데 눌렀을때 404 뜨거나 하면 그만큼 열불나는게 없다! 이해하려고 하는 시간이 필요함에도 우리는 이해하지 않고 그냥... 꾸역꾸역 하나씩 찍기를 시작하지.. 그래서 좋은 사이트!!! 

https://reacttraining.com/react-router/web/example/auth-workflow

 

React Router: Declarative Routing for React

Learn once, Route Anywhere

reacttraining.com

Reacttraining.com에 들어가서 react-router에 대해서 튜토리얼이 정리가 아~주 잘되어있다. 로그인을 했을때 nested, redicrect, Route config 등등 10가지 정도 넘게 방법론에 대해서 코드와 함께 제공되고 있다. 코드도 샌드박스로 제공하고 있어서 코드와 화면을 바로바로 수정해가면서 볼 수 있으니 ... 이건 뭐 거저 주는 느낌? BasicURL ParametersNestingRedirects (Auth)Custom LinkPreventing TransitionsNo Match (404)Recursive PathsSidebarAnimated TransitionsRoute ConfigModal GalleryStaticRouter ContextQuery Parameters

 

이렇게 예제들을 보면서 코드를 구성해보자~ 일단 무작정 만드는게 좋다. 백날 이해하려고 글을 읽어도... 글만 읽게 되니까! router에 대한 이해는 reacttraining에서 해야지!

'우리는 개발자 > Web' 카테고리의 다른 글

Web UI 개발할때는 storybook을 이용해보자  (0) 2019.12.20
React 를 시작하다.  (0) 2019.12.20

항상 웹페이지, 웹앱을 만들고 싶다는 생각이 컸었는데, 이제는 만들수 있을것 같아서 이제서야 시작한다.!! 사람들에게 직접적인 서비스를 할 수 있다고, 그리고 꼭 필요하다고 생각하기 때문에 웹 앱을 만드는 것은 정말 매력적이라고 생각한다. 웹앱과 사실 웹페이지는 다르지만.. 요즘에는 React를 알고 있으면 React-Native를 통해서 ios, android 의 웹앱을 만들 수 있다! React-natvie를 하기 전에 React를 반드시 알아야 할 수 있기 때문에 React를 먼저 시작해볼까 한다. 

React는 facebook에서 만들었고, Angular랑 많이 고민하던데 고민하는 시간에 React를 해보기로한다! 역시 튜토리얼도 너무 잘되어있어서 한번 쭉 읽어보니 그래도 대충 크게 어떻게 학습을 해야할지 윤곽이 잡혔다. 아래 튜토리얼을 무조건 보길 바란다. 무작정 개발하기 보다는 어떻게 앱을 만들고 배포는 어떻게 하는지 환경설정은 어떻게 하는지 등등에 대해서 나와 있어서 한번 꼭 읽어보면 좋은것 같다. 

https://create-react-app.dev/

 

Create React App · Set up a modern web app by running one command.

Set up a modern web app by running one command.

create-react-app.dev

예전에 봤을때는 이런게 없었는데 이제 이렇게 제공! 보다보면 중간중간에 유용한 패키지나 IDE에 대해서 소개도 하니 한번은 꼭 읽어보는게 좋을듯! 안에 나이트 모드가 있는데, 이런 섬세한 기능까지 제공!

react 공홈에 가면 튜토리얼이 있지만 그 튜토리얼 보다는 위에 튜토리얼이 수백배 나으니 일단 위에 create-react-app.dev를 먼저 살펴보자! 그래도 공홈은 한번 방문..해야하나..

https://reactjs.org/

 

React – A JavaScript library for building user interfaces

A JavaScript library for building user interfaces

reactjs.org

 

현재 memory 128기가, 코어40개의 node 5개를 운영중인데, memory는 몇기가로 설정하면 좋을까?
es가이드를 보면 30기가로 설정하는 것을 추천한다.

자바 명령어로 손쉽게 30기가로 설정하는 것이 좋다는 것을 알 수 있다.
31기가, 30기가, 32기가로 설정했을때 보면 30기가일때가 compressedzero base가 됨.

1.

java -Xmx31G -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode 2>/dev/null | grep Compressed | grep Oops

> heap address: 0x00007fc918200000, size: 31744 MB, Compressed Oops mode: Non-zero based:0x00007fc9181ff000, Oop shift amount: 3 bool PrintCompressedOopsMode := true {diagnostic} bool UseCompressedOops := true {lp64_product}

2.

java -Xmx30G -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode
2>/dev/null | grep Compressed | grep Oops

 

> heap address: 0x0000000080000000, size: 30720 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 bool PrintCompressedOopsMode := true {diagnostic} bool UseCompressedOops := true {lp64_product}

3.

java -Xmx32G -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode 2>/dev/null | grep Compressed | grep Oops

 

> bool PrintCompressedOopsMode := true {diagnostic}
bool UseCompressedOops = false {lp64_product}

 

30g로 옵션을 변경한 후에는 재시작을 해줘야하는데, 이미 인덱스가 존재하고 있었으므로 _cluster/settings api로 allocation.enable=none으로 변경해준 뒤에 재시작하고, 다시 all로 변경해주자.

PUT _cluster/settings 
{ 
	"transient": { 
    	"cluster.routing.allocation.enable": "none"
        } 
} 

# after node restart.

PUT _cluster/settings
{ 
	"transient": {
    	"cluster.routing.allocation.enable": "all"
        }
}

 

설정값을 none으로 변경뒤에 node를 일단 내리면 해당 node에 있던 primary shard가 다른 node에 있던 replica shard와 교환 하게 되고, 교환된 replica shard는 unassigend 상태가 된다. 그리고 node를 올리고 설정값을 all로 변경되면 unassigend replica shard가 그  node에 할당된다. 

 

 

# kibana 설치.

kibana 설치는 아래 가이드처럼 rpm으로 간단하게 설치 가능하다.
elasticsearch는 공식홈페이지에 모든게 다 잘 정리되어있다.

"중요한 것은 elasticsearch와 kibana의 버전이 동일해야한다는 것"

<<elasticsearch 공홈에 가이드가 아주 잘 나와있음>>
https://www.elastic.co/guide/en/kibana/7.2/rpm.html

 

Install Kibana with RPM | Kibana Guide [7.2] | Elastic

An alternative package, kibana-oss, which contains only features that are available under the Apache 2.0 license is also available. To install it, use the following baseurl in your kibana.repo file: baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum

www.elastic.co

- RPM설치후에 kibana.yml 에서 elasticsearch.hosts 부분을 array로 넣어주었고, kibana port만 만번대로 변경하여, kibana를 시작했다.

elasticsearch.hosts : ["node1", "node2", "node3"]

 

- kibana configuration을 더 하려면 아래 문서 참고.
https://www.elastic.co/guide/en/kibana/7.2/settings.html

- 이렇게 kibana를 설치하면 kibana에서 node현황도 볼수있고, indexing된 데이터도 볼 수 있고, elasticsearch의 restapi로 request도 날릴수있다.

 

# Filebeat 설치.

- 이번에는 filebeat를 설치하여, 로그를 kibana로 전송해보자. <<역시 가이드 잘 나와있음>>
- 역시나 elasticsearch/kibana와 "버전을 잘 맞춰 설치한다".
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-elasticsearch.html

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.4.1-x86_64.rpm 
sudo rpm -vi filebeat-7.4.1-x86_64.rpm

- filebeat configure : log path잡아주고, elasticsearch hosts와 kibana host만 내꺼에 잘 맞춰서 넣어줬다.

filebeat.inputs:
	type: log
	enabled: true
	paths:
		/var/log/*.log
		/var/log/elasticsearch/elasticsearch.log

output.elasticsearch:
	hosts: ["myEShost:9200"]

setup.kibana:
	host: "mykibanahost:5601"

 

- 가이드대로 filebeat 에서 elasticsearch module을 활성화 시키고, 초기 환경변수를 setup하고, 시작하는 command를 날렸다.

filebeat setup --dashboards
filebeat modules enable elasticsearch
filebeat setup -e
service filebeat start

<<참고문서>>

 

# 마무리.

- kibana에서 index pattern을 생성도 해보고,
- kibana gui에서 mornitoring 옵션을 활성화 시키면
- 이제 node상태들도 보이고, index도 보이고, 로그도 보인다~

부동산 실거래가를 공공데이터에서 제공하는 API로 다운로드를 받았는데 그럴 필요가 없다는 사실을 알아서 충격이였다. 

 



국토교통부에서 실거래가 공개시스템이 있는데 기간을 설정하면 특정날짜에 실거래가 데이터를 다운로드 받을 수 있다. 실제로 다운로드 받은 데이터와 API를 통해 다운로드 받은 데이터의 개수가 다른것을 확인하니 어디 쪽을 믿어야 하나... 일단 데이터를 다운로드 받고 나서 아래와 같이 파일을 읽으면 된다. 맥에서는 encoding을 `cp949`로 해줘야 한다는것! 처음 header를 찾는 곳을 똑똑하게 할 수 있겠지만 그닥 중요하지 않으니... 아래 코드를 

f = open("/Users/Direcision/Desktop/아파트(매매)__실거래가_20191211233713.csv","r", encoding='cp949')
lines = f.readlines()
cols = lines[15][:-1]
cols = cols.split("\"")
cols = list(filter(lambda x: (x != '') & (x != ',') ,cols))

data = lines[16:]
rows = []
for d in data:
    d = d[:-1].split("\"")
    d = list(filter(lambda x: (x != '') & (x != ',') ,d))
    rows.append(d)
    
 df = pd.DataFrame(rows, columns=cols)

https://doubly12f.tistory.com/85

 

분양가 상한제에 대한 영상을 보고 (+정부의 부동산 정책)

https://land.naver.com/news/magazineView.nhn?arti_seq=86788419 [네이버TV] 분양가 상한제 이후 전국 부동산 시장 전망 분양가 상한제 이후 전국 부동산 시장 전망 land.naver.com 네이버에 이런 영상이 있는지..

doubly12f.tistory.com

의 영상을 보니 주택거래량이 줄어들고 있다고 얘기를 하고 있다. 정말 집값은 오르는데 실제로 거래가 안되고 있을까? 유투브에서도 많은 유투버들이 집가격은 오르고 있는데 거래가 되고 있지 않다고 말한다. 어느정도 거래가 이루어졌고 올해 2019년에는 정말 거래가 많이 이루어지지 않았는지 확인을 해보자! 생각해보니 아파트 실거래 데이터가 분양받은것도 포함이 되어있나?.. 연도별 아파트 공급 물량도 확인해보면 좋을것 같다.

서울특별시 연도별 거래량을 살펴보면 아래와 같다.

년도 거래량
2016 110,222
2017 105,091
2018 81,392,
2019 52,125

약간의 누락이 있어보이긴하지만 편차가 그렇게 크지 않다... 지금 http://rtdown.molit.go.kr/ 의 사이트에서 다운받아서 살펴보니 약간의 누락이 있었다! 역시 데이터는 수집도 중요하지만 유효성 체크가 중요하다!!! 어쨋든

2016년에 비해서 2019년은 절반의 거래량이 발생했고, 2018년인 작년과 비교해도 약 36%가 줄어들었다. 집값만 오르고 정말 부동산 시장은 얼었다는 말이다. 이 빙판에서 누가 넘어지지 않느냐의 싸움이 아닌가 싶다. 

2016년에 중계사 분들은 돈을 참 많이 벌었겠다!!!!!!!!!! 하지만 올해는... 

 

 

https://land.naver.com/news/magazineView.nhn?arti_seq=86788419

 

[네이버TV] 분양가 상한제 이후 전국 부동산 시장 전망

분양가 상한제 이후 전국 부동산 시장 전망

land.naver.com

네이버에 이런 영상이 있는지 몰랐는데 우연히 영상을 보았다. 부동산에 대한 생각이 많은 요즘 어떤 정책이 있었으며 현재 부동산 시장이 어떻게 형성되고 있는지 알기 위해서 컨텐츠를 찾고 있는 중이다. 일단 나무위키를 통해서 한번 쭉 읽어보고 챙길 내용을 챙겼다. 나무위키에서 인상깊었던 내용은 https://namu.wiki/w/%EB%B6%80%EB%8F%99%EC%82%B0

 

부동산 - 나무위키

한국은 예로부터 정부가 부동산 시장에 좋은 의미로든 나쁜 의미로든 많이 개입해온 국가이며, 정부 정책에 따라서 특정 지역의 부동산 가격이 출렁이는 것이 상식처럼 되어있다. 아래에는 각 정부의 부동산 대책을 시계열로 나열해놨다. 개발계획에 대한 허위 정보를 퍼트려 단기적으로 토지를 매매하여 부당이득을 취하는 중개업자나 업체로 경매회사 또는 토지정보회사등의 이름을 주로 사용한다. 각종 규제로 개발이 어려운 땅을 헐값에 사드린 후 주변의 허위정보를 만들어 전화

namu.wiki

정부의 부동산 정책들이 정리되어 있어서 어떤 규제가 어떤 정부에서 시작되었는지 확인하기 좋았다.

영상을 보는 이유는 부동산 가격 하락/상승에 대해서 토론을 펼치는게 인상깊다. 사실만을 듣기 보다는 연구원들의 생각을 들으면서 한 연구원에게 설득이 되기 시작한다. 하지만 나는 아직 집이 없기에 부동산 하락의 의견에 힘을 실어주고 싶다!! 

분양가 상한제! 과연 정말 누구를 위한 정책일까? 분양가 상한제를 실시하게 되면 건설사들은 기존보다 더 작은 수익을 갖는 구조가 될것이고 결과적으로 주택 공급이 줄어들게 된다. 공급이 줄어들면 그만큼 집가격이 오를텐데... 이게 맞을까? 정말 건설사들이 공급을 펼치지 않을까? 

또 하나의 의견으로는 건설사들이 얻는 이득을 이제 청약으로 얻는 수요자들이 얻어 간다는 사실! 그렇다면 청약을 넣어서 당첨이 되면 정말 로또보다 더 큰 이득을 얻을 수 있을것이다. 여기서는 은마아파트를 예로 들고 있었는데 은마아파트에 재건축 이후 분양이 된다면? 상한제로 주택 가격이 기대보다 낮게 나온다면 정말 슈퍼 로또에 당첨되는것이다. 하지만 또 여기서 문제는 그래도 서울이다! 서울이라면 주택 가격이 ... 이미 올라있기 때문에 상한제가 있다해도 가격이 비쌀텐데 그럼 실수요자들은 대출을 할 수 밖에 없다. 하지만 대출 규제로 대출을 받지 못한다면? 정말 청약  당첨자는 현금이 있는 사람이 될것이다....

지금 현재 상황은 금리가 낮아지지만 대출 규제로 대출도 못받고, 경제는 불황으로 가고있다는 기사가 쏟아져 나오고 있으며 실제로 주택 실거래는 줄어드는 현상을 보여주고 있다! 아무도 안사는 주택 가격이 비싸면 뭐하나? 종부세를 내는 가계가 많아질지... 이번에 종부세 걱정하시는 분들이 많던데... 중산층에서 종부세를 많이 내서 허덕이는 일이 없기를 ... (누가 누구를 걱정하니? 잠이나자자)

+ Recent posts