본문 바로가기

전체 글

(205)
[linux] 특정 프로세스가 사용중인 파일 확인 (lsof) 리눅스에서 특정 프로세스가 사용중인 파일을 확인하고 싶을때는 lsof 명령어를 사용하면 된다. 만약 파이썬 스크립트 중 아래 test.py의 위치를 알고 싶다고 하자. $ ps -ef | grep python root 4198 1 0 2021 ? 00:00:00 python test.py root 8178 1 0 Jan31 ? 00:00:00 python -u runner_best.py 아래와 같이 lsof -p 에 프로세스 숫자를 주면 해당 프로세스가 사용 중인 파일 목록을 볼수 있다. # lsof -p 4198 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python 4198 root cwd DIR 253,1 4096 424809 /root/test py..
[python] 파이썬에서 전역 변수 사용하기 - global 파이썬에서 전역변수를 사용하다가 예상대로 코드가 실행되지 않는다는 것을 발견했다. 전역변수 사용의 잘못된 코드 # 전역 변수 val = False def change_val(): # 아래 val은 함수내의 '지역변수'다. val = True change_val() print(val) >> False val이라는 전역 변수를 change_val 이라는 함수내에서 변경하려고 했으나 변경되지 않고 False 값이 그대로 출력되었다. 이는 C언어의 문법을 기반으로 생각했기 때문에 함수 내에서 변수값이 변경될거라 생각했다. 하지만 파이썬 함수 내에서 전역 변수를 수정하려면 global 키워드를 통해서 전역변수임을 명시해주어야 한다. 그렇지 않으면 그저 함수내에 지역 변수로 인식될 것이다. 전역변수를 사용할래요 -..
[elasticsearch] [circuit_breaking_exception] [parent] Data too large, data for [<http_request>] 오류 해결법 엘라스틱 서치를 운영하다보면 가끔 아래와 같은 메시지를 마주할 때가 있다. [circuit_breaking_exception] [parent] Data too large, data for [] would be [986822004/941.1mb], which is larger than the limit of [986061209/940.3mb], real usage: [986820872/941.1mb], new bytes reserved: [1132/1.1kb], usages [request=0/0b, fielddata=28905/28.2kb, in_flight_requests=1132/1.1kb, accounting=11596758/11mb], with { bytes_wanted=986822004 & by..
[elasticsearch] 노드별 디스크 사용량 확인 쿼리 엘라스틱서치에서 노드별로 디스크 사용량을 보고 싶다면, 아래 쿼리를 통해서 확인할 수 있다. Elasticsearch Dev Tools에서 입력시 GET _cat/allocation?v Curl 명령어시 curl -XGET 'localhost:9200/_cat/indices?v' 응답 shards disk.indices disk.used disk.avail disk.total disk.percent host ip node 2579 322.2gb 416.6gb 75.4gb 492gb 84 10.17.8.3 10.17.8.3 data-node-3 2488 667.8gb 718.8gb 117.7gb 836.6gb 85 10.17.8.2 10.17.8.2 data-node-1 2488 619.6gb 1tb 16..
[kubernetes] kubectl 명령어로 pod에 sql 쿼리 보내기 Database pod를 띄워뒀는데, 매번 파드에 접속해서 mysql 쿼리를 날리는게 귀찮아서 kubectl 명령어 단에서 바로 해결 할 수 없을까 찾아보니 아래와 같은 방법으로 해결할 수 있었다. $ kubectl exec -i 파드명 --namespace 네임스페이스 -- mysql -u'계정명' -p'비번' --database DB명 -e "select * from table_a";