하둡을 설치하면 주키퍼가 알아서 깔리는 경우가 있다던데 직접 설치하고 싶어서 찾아본 포스팅을 참조하였다.
ZooKeeper란?
주키퍼는 분산 처리 프로그램의 분산 코디네이션 서비스로 활용된다. 다수의 노드에서 수행되는 분산 처리 어플리케이션은 단일 노드에서 수행되는 어플리케이션보다 매우 고려해야 할 요소가 많은데 그중 중요한 것은 부분 실패. 제대로 성공을 했는지 여부를 알고 안전하게 처리하기 위한 분산 처리 도구를 제공
6. Zookeeper 설치
서버 한 대에서 Zookeeper를 설치하고 환경 설정을 한 후에 복사한다.
name01에서만 이하 작업 수행
6-1. Zookeeper 설치
root 계정으로 접속하여 wget을 설치
su - root
sudo yum install wget
zookeeper로 계정 전환
su - zookeeper
zookeeper 설치
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
압축 해제
tar xvfz apache-zookeeper-3.5.9-bin.tar.gz
6-2. Zookeeper 환경 설정
zookeeper의 conf로 이동
cd apache-zookeeper-3.5.9-bin
cd conf
zookeeper의 config 파일 복사
cp zoo_sample.cfg zoo.cfg
zookeeper config 파일 수정
vi zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/zookeeper/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
maxClientCnxns=0
maxSessionTimeout=180000
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
## server
server.1=name01:2888:3888
server.2=name02:2888:3888
server.3=data01:2888:3888
6-3. Zookeeper 압축 후 배포
디렉토리 이동
cd ~
압축하기
tar cvfz apache-zookeeper-3.5.9-bin
확인
ls
Zookeeper가 설치되어야 하는 name02, data01에 배포
cp zookeeper.tar.gz zookeeper@name02:/home/zookeeper
cp zookeeper.tar.gz zookeeper@data01:/home/zookeeper
각 서버에서 압축 해제
tar xvfz apache-zookeeper-3.5.9-bin.tar.gz
6-4. myid를 지정
서버 뒤에 붙었던 숫자인 myid를 지정해준다.
Zookeeper를 설치하는 노드인 name01, name02, data01에서 전부 행한다.
현 경로 확인
cd ~
data 디렉토리 생성
mkdir data
myid 파일 만들기
cd data
vi myid
내용에는 각 myid만 적는다
name01 : 1
name02 : 2
data01 : 3
6-5. Zookeeper 서버 실행
서버 실행
cd ~
cd apache-zookeeper-3.5.9-bin
./bin/zkServer.sh start
서버 상태 확인
확인을 위해서는 연결된 서버가 전부 실행되어야 한다.
./bin/zkServer.sh status
서버 종료
./bin/zkServer.sh stop
6-6. 서버 연결이 안 될 때 이슈 확인
6-6-1. Failed to start
오류 메시지
Failed to start
해결 방법
zookeeper를 bin 파일로 내려받아야 한다
6-6-2. Error contacting service. It is probably not running
오류 메시지
Error contacting service. It is probably not running
해결 방법
- 방화벽 해제 - root 계정
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl restart network
firewall-cmd --state
- ssh 설정으로 보안 강화 - root 계정
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa;\
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;\
chmod 0600 ~/.ssh/authorized_keys
name01 ssh 설정
ssh-copy-id -i .ssh/id_rsa.pub root@name02
ssh-copy-id -i .ssh/id_rsa.pub root@data01
ssh-copy-id -i .ssh/id_rsa.pub root@data02
name02 ssh 설정
ssh-copy-id -i .ssh/id_rsa.pub root@name01
ssh-copy-id -i .ssh/id_rsa.pub root@data01
ssh-copy-id -i .ssh/id_rsa.pub root@data02
data01 ssh 설정
ssh-copy-id -i .ssh/id_rsa.pub root@name01
ssh-copy-id -i .ssh/id_rsa.pub root@name02
ssh-copy-id -i .ssh/id_rsa.pub root@data02
data02 ssh 설정
ssh-copy-id -i .ssh/id_rsa.pub root@name01
ssh-copy-id -i .ssh/id_rsa.pub root@name02
ssh-copy-id -i .ssh/id_rsa.pub root@data01
'빅데이터' 카테고리의 다른 글
[hadoop] 하둡 클러스터 구축하기 2. 계정 생성 및 노드간 통신 설정 (0) | 2023.01.21 |
---|---|
[hadoop] 하둡 클러스터 구축하기 1. 자바 설치 (0) | 2023.01.20 |
[문제 해결] sqoop import export시 java.lang.ClassNotFoundException (0) | 2023.01.17 |
[hue] sqoop 에러 - connecting (0) | 2023.01.16 |
빅데이터 02 (0) | 2022.09.20 |