개발

[클릭하우스 ClickHouse] OS 서비스 계정 및 config, data, log 경로 변경하기

이웃집퉁퉁이 2024. 7. 30. 23:51
# 관련 파일
/usr/bin/clickhouse
/usr/share/bash-completion/completions/clickhouse
/usr/share/clickhouse

/etc/clickhouse-server (config)
/var/lib/clickhouse (data)
/var/log/clickhouse-server (log)

공통

작업 전에 ch 내리고 시작

systecmtl stop clickhouse-server

작업 이후 ch 정상 동작 확인

systemctl daemon-reload systecmtl start clickhouse-server

1) clickhouse를 서비스하는 OS 사용자계정 변경하기 (clickhouse -> adm)

chown -R adm:adm /etc/clickhouse-server chown -R adm: adm /data/clickhouse chown -R adm: adm /logs/clickhouse-server

vi /lib/systemd/system/clickhouse-server.service

[Service]
User=adm
Group=adm

 

2) clickhouse 설정파일 경로 이동하기

mv /etc/clickhouse-server /sw/

vi /lib/systemd/system/clickhouse-server.service

[Service]
ExecStart=/usr/bin/clickhouse-server --config-file=/sw/clickhouse-server/config.xml

3) data, log 디렉터리 분리

mv /var/lib/clickhouse /data/

vi /etc/clickhouse-server/config.xml

<yandex>
<path>/data/clickhouse/</path>
</yandex>

<logger>
<log>/logs/clickhouse/clickhouse-server.log</log>
<errorlog>/logs/clickhouse/clickhouse-server.err.log</errorlog>
</logger>

추가 확인

cat /etc/clickhouse-server/config.xml | grep var/clickhouse
# :%s|var/lib|data|gc

4) adm 계정에 systemctl clickhouse 권한 부여

visudo

adm ALL=(ALL) NOPASSWD: /usr/bin/systemctl start clickhouse-server, /usr/bin/systemctl stop clickhouse-server, /usr/bin/systemctl restart clickhouse-server, /usr/bin/systemctl status clickhouse-server

sudo -l -U adm