Elastic Search의 어느버전부터 인지는 정확하지 않지만,
초기설정은 외부에서 접근이 불가능 하고, 로컬에서만 접속 가능 하도록 설정 되어있다.
보안때문이지 않을까 싶다.
ElasticSearch는 기본적으로 9200/tcp 포트를 사용하도록 되어 있으나,
본인은 포트를 39200/tcp 으로 변경하여 사용한다.
그래서, netstat 를 쳐보면 아래와 같이 로컬IP만 LISTEN 하고 있다.
netstat -na -t | grep 39200 tcp 0 0 ::ffff:127.0.0.1:39200 :::* LISTEN tcp 0 0 ::1:39200 :::* LISTEN |
위와 같이 되면 로컬에서만 접속가능 하기 때문에 공극적으로는
[root@DEV-SCOWAS01 ~]# netstat -na -t | grep 39200 tcp 0 0 :::39200 :::* LISTEN [root@DEV-SCOWAS01 ~]# |
":::39200" 이나 "0.0.0.0:39200" 으로 LISTEN을 하고 있어야
외부에서 접근 할 수 있다.
1. 환경설정 파일 수정 (config/elasticsearch.yml )
항목 |
값 |
비고 |
cluster.name |
okayjava_seach |
cluster는 향후 설명하겠지만, 여러대의 서버로 클러스터링 할때 사용된다. 그래서, 프로젝트명이나 회사명등을 입력 하면된다. 본인은 okayjava_search 로 하였다. |
node.name |
WAS01 |
클러스터링(여러대의 서버에서 분산처리) 할때 각 노드의 identify 가 된다. cluster.name을 갖고있는 ES내에서 유니크하면된다. 동일서버에 여러인스턴스를 생성하지 않는 경우 HOST명으로 한는것이 문안 할것 같다. |
network.host | 0.0.0.0 | 호스트에 여러개의 NIC가 설치된 경우 특정 NIC로 들어오는것만 허용할 수도 있다. "0.0.0.0" 은 any nic 라고 할 수 있다. 공식홈페지의 레퍼런스에서는 아래표와 같이 설명하고 있다. |
http.port |
39200 |
기본은 9200이지만 바꿨다. |
항목 | 값 |
| Addresses of a network interface, for example |
| Any loopback addresses on the system, for example |
| Any site-local addresses on the system, for example |
| Any globally-scoped addresses on the system, for example |
위와 같이 하거나, NIC에 할당된 IP를 적어도 무관한다.
2. 커널파라메터 변경(http://okky.kr/article/364924 참고)
하나 하나가 정확히 뭘 의미 하는지 설명하려면 오래 걸리니 적당히 구글링을 해보면 나올것 같다.
운영하면서 적절히 조정하면서 사용하여야 한다.
vi /etc/security/limits.conf 아래부분을 추가 입력하고 저장한다. was hard nofile 65536 was soft nofile 65536 was hard nproc 65536 was soft nproc 65536 was는 ES를 구동시키는 계정으로 변경 echo 1048575 > /proc/sys/vm/max_map_count sysctl -w fs.file-max=65536 echo 65536 > /proc/sys/fs/file-max reboot |
위와 같이 설정후 리부팅하고, ES를 재구동 시키면 된다.
이상.
끝.
'linux' 카테고리의 다른 글
ElasticSearch 5.1.1 설치 (0) | 2017.03.22 |
---|---|
ElasticSearch 5.1.1 한글형태소(kr_analize) 지원(동전한닢) (0) | 2017.02.28 |
Apache + PHP + Oracle (0) | 2015.02.28 |
CentOS NFS 설정 (0) | 2015.02.27 |
Linux shell(1분동안 계속 반복 수행) (0) | 2015.02.27 |