clickhouse keeper를 사용하려고 했으나 원하는 성능이 나오지 않았고, zookeeper에 비해 참고할 자료가 너무 없어서 원래 사용하던 zookeeper를 쓰기로 했다.
전용 서버를 받은 상태라서 zookeeper 설치하면서 이래저래 다른 설정들도 건드렸고, 아직까지는 만족할만한 성능이 나오고 있다.
openjdk 설치
wget https://download.java.net/java/GA/jdk18.0.2/f6ad4b4450fd4d298113270ec84f30ee/9/GPL/openjdk-18.0.2_linux-x64_bin.tar.gz
tar -zxvf openjdk-18.0.2_linux-x64_bin.tar.gz && mv jdk-18.0.2/ /usr/lib
JAVA_HOME 환경 변수 설정
vi /etc/profile
export JAVA_HOME=/usr/lib/jdk-18.0.2
source /etc/profile && echo $JAVA_HOME
java, javac 경로 지정
vi /etc/bashrc
alias java="/usr/lib/jdk-18.0.2/bin/java"
alias javac="/usr/lib/jdk-18.0.2/bin/javac"
source /etc/bashrc
zookeeper 설치
(네이버쪽 미러 사이트를 사용했는데, 3.7버전이라고 치면, 3.7.0이더라도 3.7.1이 나오면 3.7.0을 미러에서 지워버리기 때문에 안 되면 웹브라우저에서 http://mirror.navercorp.com/apache/zookeeper/ 들어가서 확인 후 다운로드 해야 됨.)
wget http://mirror.navercorp.com/apache/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
tar xvf apache-zookeeper-3.8.0-bin.tar.gz && mv apache-zookeeper-3.8.0-bin {설치경로}zookeeper
chown -R root.root {설치경로}zookeeper && mkdir -p {데이터경로}zookeeper/data && mkdir -p {데이터경로}zookeeper/logs
ln -s {데이터경로}zookeeper/data {설치경로}zookeeper/data && ln -s {데이터경로}zookeeper/logs {설치경로}zookeeper/logs
cd {설치경로}zookeeper/conf && cp zoo_sample.cfg zoo.cfg
zoo.cfg 설정 변경
vi zoo.cfg
dataDir={데이터경로}zookeeper/data
clientPort=2181
initLimit=300
syncLimit=10
autopurge.snapRetainCount=10
autopurge.purgeInterval=
maxClientCnxns=2000
preAllocSize=131072
snapCount=3000000
maxSessionTimeout=60000000
server.1={주키퍼서버1}:2888:3888
server.2={주키퍼서버2}:2888:3888
server.3={주키퍼서버3}:2888:3888
4lw.commands.whitelist=stat, ruok, conf, isro, mntr
limits.conf 변경
vi /etc/security/limits.conf
zookeeper soft nproc 127183
zookeeper hard nproc 127183
zookeeper soft nofile 65536
zookeeper hard nofile 262144
각 서버에 myid 지정
# 1 서버에서
echo '1' > {설치경로}/zookeeper/data/myid
# 2 서버에서
echo '2' > {설치경로}/zookeeper/data/myid
# 3 서버에서
echo '3' > {설치경로}zookeeper/data/myid
zkServer.sh 수정해서 JVMFLAGS 추가
JVMFLAGS="$JVMFLAGS -Djute.maxbuffer=6000000"
zookeeper 실행
{설치경로}zookeeper/bin/zkServer.sh start
서버 시작시 zookeeper 실행 되게 /etc/rc.local 등록
echo "
# zookeeper
{설치경로}zookeeper/bin/zkServer.sh start" >> /etc/rc.local
클릭하우스 키퍼는 결국 내렸고, 구글링을 해도 다 비슷한 자료뿐이라 참조를 해서 뭘 할 수가 없었다. 사실 주키퍼로 바꾸기만 한 게 아니라 클릭하우스 자체 설정도 건드린 게 많아서, 클릭하우스 키퍼에 대한 성능 확인을 제대로 하지는 못한 거 같다.
반응형