BigData

zookeeper / firewalld 설치

IT오이시이 2020. 3. 8. 12:22
728x90

 

#Zookeeper #firewalld

1. Zookeeper

1) 주키퍼 설치하기

wget http://mirror.apache-kr.org/zookeeper/stable/apache-zookeeper-3.5.7.tar.gz
wget http://mirror.apache-kr.org/zookeeper/stable/apache-zookeeper-3.5.7-bin.tar.gz

 2) 설치할 디렉토리에 tar 압축을 해제한다.

 

tar zvzf apache-zookeeper-3.5.7-bin.tar.gz
ln -s apache-zookeeper-3.5.7-binzookeeper

 

3) zookeeper.conf 작성

아래와 같이 zookeeper/conf/zoo.cfg 를 만든다

tickTime=2000
initLimit=10
syncLimit=5

dataDir=/svc/data_zookeeper

clientPort=2181
maxClientCnxns=60

server.1=node1:2888:3888
server.2=node2:2888:3888

 

4) 각 노드 서버에서 myid 만들기
-  zookeeper가 사용할 저장소 디렉토리를 생성하고 각 노드의 식별 아이디를 입력한다.

#*[server.1]
mkdir /svc/data_zookeeper
echo 1 > /svc/data_zookeeper/myid

 

#*[server.2]
mkdir /svc/data_zookeeper
echo 2 > /svc/data_zookeeper/myid

2. Firewalld

 - 방화벽의 기본적인 명령은 Systemctl 명령으로 시작과  중지를 할 수 있고
  개별 방화벽 정책을 입력하고 수정하는 것을 알아보자

1) 방화벽을 disable 하여 사용하는 경우

# 방화벽을 중지한다
systemctl stop firewalld.service

# OS 부팅후 자동 실행을 중지한다
systemctl disable firewalld.service

2) 방화벽을 사용하는 경우 방화벽을 기동한다.

# OS 부팅후 자동 실행을 설정 한다
systemctl enable firewalld.service  
# or systemctl enable firewalld

# 방화벽을 실행한다
systemctl start firewalld.service  
# or systemctl start firewalld

 

3) 사용할 데몬들의 포트를 방화벽 정책에 적용한다.

* firewall-cmd --zone=public --list-all # 디폴트 zone 이 public 임을 확인한다.

아래와 같이 각 데몬들이 사용하는 포트를 설정하여 방화벽 정책을 적용하면 된다.

#* 주키퍼 사용 포트를 적용
firewall-cmd --permanent --zone=public --add-port=2181/tcp
firewall-cmd --permanent --zone=public --add-port=2888/tcp
firewall-cmd --permanent --zone=public --add-port=3888/tcp

#* 방화벽 적용
firewall-cmd --reload

#* 카프카 사용 포트를 적용
firewall-cmd --permanent --zone=public --add-port=9092/tcp

#* 방화벽 적용
firewall-cmd --reload

 

4) 방화벽 설정이 완료 되면 아래와 같이 3888 포트간의 통신이 이루어 짐을 알수 있다.

 

tcp6 0 0 :::2181:::* LISTEN 12611/java
tcp6 0 0 192.168.56.102:3888:::* LISTEN 12611/java
tcp6 0 0 192.168.56.102:3888192.168.56.104:42148 ESTABLISHED 12611/java
tcp6 0 0 192.168.56.102:32906192.168.56.104:2888ESTABLISHED 12611/java

[root@node1 svc]# netstat -antp | grep java

tcp6 0 0 :::39523       		:::* LISTEN 12611/java
tcp6 0 0 :::2181 		   	    :::* LISTEN 12611/java
tcp6 0 0 192.168.56.102:3888	:::* LISTEN 12611/java
tcp6 0 0 :::8080 				:::* LISTEN 12611/java
tcp6 0 0 192.168.56.102:3888	192.168.56.104:42148 ESTABLISHED 12611/java
tcp6 0 0 192.168.56.102:32906	192.168.56.104:2888	ESTABLISHED 12611/java

 

[참고] 방화벽이 설정된 목록을 확인한다.

    - ports: 2181/tcp 2888/tcp 3888/tcp 가 입력된 것을 확인하면 해당 포트가 열려있다고 확인 된다.

# firewall-cmd --zone=public --list-all

public (active)
target: default

icmp-block-inversion: no
interfaces: enp0s3 enp0s8

sources:
services: cockpit dhcpv6-client rsyncd ssh
ports: 2181/tcp 2888/tcp 3888/tcp

protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

 

 

728x90
반응형