Debian 11에 ClickHouse OLAP 데이터베이스 시스템을 설치하는 방법
이 페이지에서
- 전제 조건
- 시작하기\n
- Debian 11에 ClickHouse 설치
- 클릭하우스 서비스 관리\n
- ClickHouse 사용 방법
- ClickHouse 웹 UI 활성화\n
- ClickHouse 웹 UI 액세스
- 결론
ClickHouse는 무료 오픈 소스 열 기반 데이터베이스 관리 시스템입니다. 온라인 분석 처리에 사용되며 실시간으로 SQL 쿼리를 사용하여 분석 보고서를 생성할 수 있습니다. 행 대신 열로 그룹화된 블록에 레코드를 저장합니다. 따라서 쿼리를 완료하는 동안 데이터를 읽는 데 소요되는 시간이 줄어듭니다. 또한 열 기반 데이터베이스는 특정 워크로드에 대해 기존 행 기반 시스템보다 훨씬 빠르게 결과를 계산하고 반환할 수 있습니다.
이 게시물에서는 Debian 11에 ClickHoust 데이터베이스를 설치하는 방법을 보여줍니다.
전제 조건
- Debian 11을 실행하는 서버.\n
- 서버에 루트 암호가 구성되어 있습니다.\n
시작하기
시작하기 전에 시스템 패키지를 업데이트된 버전으로 업데이트해야 합니다. 다음 명령을 실행하여 업데이트할 수 있습니다.
apt-get update -y
모든 패키지가 업데이트되면 다음 명령을 사용하여 다른 필수 패키지를 설치합니다.
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y
필요한 모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.
Debian 11에 ClickHouse 설치
기본적으로 ClickHouse 패키지는 Debian 11 기본 리포지토리에 포함되어 있지 않습니다. 따라서 시스템에 ClickHouse 리포지토리를 추가해야 합니다.
먼저 다음 명령을 사용하여 GPG 키를 다운로드하고 추가합니다.
apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
다음과 같은 결과가 표시됩니다.
Executing: /tmp/apt-key-gpghome.WyTt1Mpvh7/gpg.1.sh --keyserver keyserver.ubuntu.com --recv E0C56BD4 gpg: key C8F1E19FE0C56BD4: public key "ClickHouse Repository Key <>" imported gpg: Total number processed: 1 gpg: imported: 1
다음으로 다음 명령을 사용하여 ClickHouse 리포지토리를 APT에 추가합니다.
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list
다음으로 리포지토리를 업데이트하고 다음 명령을 사용하여 ClickHouse를 설치합니다.
apt-get update -y
apt-get install clickhouse-server clickhouse-client -y
설치하는 동안 아래와 같이 ClickHouse 관리자의 비밀번호를 입력하라는 메시지가 표시됩니다.
Enter password for default user: Password for default user is saved in file /etc/clickhouse-server/users.d/default-password.xml. Setting capabilities for clickhouse binary. This is optional. chown -R clickhouse:clickhouse '/etc/clickhouse-server' ClickHouse has been successfully installed. Start clickhouse-server with: sudo clickhouse start Start clickhouse-client with: clickhouse-client --password Synchronizing state of clickhouse-server.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable clickhouse-server Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.service → /etc/systemd/system/clickhouse-server.service. Setting up clickhouse-client (21.12.3.32) ...
설치가 완료되면 다음 단계로 진행할 수 있습니다.
ClickHouse 서비스 관리
이제 ClickHouse 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 설정할 수 있습니다.
systemctl start clickhouse-server
systemctl enable clickhouse-server
이제 다음 명령을 사용하여 ClickHouse의 상태를 확인할 수 있습니다.
systemctl status clickhouse-server
다음과 같은 결과가 표시됩니다.
? clickhouse-server.service - ClickHouse Server (analytic DBMS for big data) Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-12-31 11:22:57 UTC; 9s ago Main PID: 18152 (clckhouse-watch) Tasks: 206 (limit: 2341) Memory: 108.2M CPU: 931ms CGroup: /system.slice/clickhouse-server.service ??18152 clickhouse-watchdog --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-serve> ??18153 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-serve> Dec 31 11:22:57 debian11 systemd[1]: Started ClickHouse Server (analytic DBMS for big data). Dec 31 11:22:57 debian11 clickhouse-server[18152]: Processing configuration file '/etc/clickhouse-server/config.xml'. Dec 31 11:22:57 debian11 clickhouse-server[18152]: Logging trace to /var/log/clickhouse-server/clickhouse-server.log Dec 31 11:22:57 debian11 clickhouse-server[18152]: Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log Dec 31 11:22:58 debian11 clickhouse-server[18153]: Processing configuration file '/etc/clickhouse-server/config.xml'. Dec 31 11:22:58 debian11 clickhouse-server[18153]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml'. Dec 31 11:22:58 debian11 clickhouse-server[18153]: Processing configuration file '/etc/clickhouse-server/users.xml'. Dec 31 11:22:58 debian11 clickhouse-server[18153]: Merging configuration file '/etc/clickhouse-server/users.d/default-password.xml'. Dec 31 11:22:58 debian11 clickhouse-server[18153]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.
클릭하우스 사용법
이 섹션에서는 ClickHouse에 연결하고 데이터베이스 및 테이블을 만드는 방법을 보여줍니다.
먼저 다음 명령을 사용하여 ClickHouse에 연결합니다.
clickhouse-client --password
아래와 같이 기본 비밀번호를 입력하라는 메시지가 표시됩니다.
ClickHouse client version 21.12.3.32 (official build). Password for user (default): Provide the password which you have set during the installation and press the Enter key. You will get the following shell: Connecting to localhost:9000 as user default. Connected to ClickHouse server version 21.12.3 revision 54452. debian11 :)
이제 다음 명령을 사용하여 testdb라는 데이터베이스를 생성합니다.
debian11 :) CREATE DATABASE testdb;
다음과 같은 결과가 표시됩니다.
CREATE DATABASE testdb Query id: a48b3031-a363-4357-b4f9-ffd3edd73b0e Ok. 0 rows in set. Elapsed: 0.005 sec.
다음으로 다음 명령을 사용하여 데이터베이스를 testdb로 변경합니다.
debian11 :) USE testdb;
다음과 같은 결과가 표시됩니다.
USE testdb Query id: 827e0d94-c3eb-46ec-ba04-97386a58e531 Ok. 0 rows in set. Elapsed: 0.001 sec.
그런 다음 다음 명령을 사용하여 table1이라는 테이블을 만듭니다.
debian11 :) CREATE TABLE table1 (? id UInt64,? name String,? url String,? created DateTime?) ENGINE = MergeTree()?PRIMARY KEY id?ORDER BY id;
다음과 같은 결과가 표시됩니다.
CREATE TABLE table1 ( `id` UInt64, `name` String, `url` String, `created` DateTime ) ENGINE = MergeTree PRIMARY KEY id ORDER BY id Query id: 922f4fe1-283f-4e5d-9966-498344b2aa4d Ok. 0 rows in set. Elapsed: 0.006 sec.
그런 다음 다음 명령을 사용하여 테이블에 일부 값을 삽입합니다.
debian11 :) INSERT INTO table1 VALUES (1, 'jay', 'https://linux-console.net', '2021-12-31 00:01:01');
다음과 같은 결과가 표시됩니다.
INSERT INTO table1 FORMAT Values Query id: be1c57cd-5759-47cd-8649-ce82cd0c1f7d Ok. 1 rows in set. Elapsed: 0.005 sec.
그런 다음 다음 명령을 사용하여 새 열을 추가합니다.
debian11 :) ALTER TABLE table1 ADD COLUMN location String;
다음과 같은 결과가 표시됩니다.
ALTER TABLE table1 ADD COLUMN `location` String Query id: 106fa166-afda-4598-a32c-b50da237bfe5 Ok. 0 rows in set. Elapsed: 0.007 sec.
테이블에서 데이터를 검색하려면 다음 명령을 실행하십시오.
debian11 :) SELECT url, name FROM table1 WHERE url = 'https://linux-console.net' LIMIT 1;
다음과 같은 결과가 표시됩니다.
SELECT url, name FROM table1 WHERE url = 'https://linux-console.net' LIMIT 1 Query id: 8ee433ec-0eb1-4409-b9a8-7e5794b872ce ??url?????????????????????name?? ? https://linux-console.net ? jay ? ???????????????????????????????? 1 rows in set. Elapsed: 0.007 sec.
열을 제거하려면 다음 명령을 실행합니다.
debian11 :) ALTER TABLE table1 DROP COLUMN location;
테이블을 제거하려면 다음 명령을 실행하십시오.
debian11 :) DROP TABLE table1;
데이터베이스를 제거하려면 다음 명령을 실행하십시오.
debian11 :) DROP DATABASE testdb;
ClickHouse 셸을 종료하려면 다음 명령을 실행합니다.
debian11 :) exit;
ClickHouse 웹 UI 활성화
ClickHouse는 또한 데이터베이스를 관리하기 위한 웹 기반 인터페이스를 제공합니다. 그러나 기본적으로 비활성화되어 있습니다. ClickHouse 구성 파일을 편집하여 활성화할 수 있습니다.
nano /etc/clickhouse-server/config.xml
주석을 제거하고 다음 줄을 변경합니다.
<listen_host>0.0.0.0</listen_host> <http_server_default_response><![CDATA[<html ng-app="SMI2"><head><base href="http://ui.tabix.io/"></head><body><div ui-view="" class="content-ui"></div><script src="http://loader.tabix.io/master.js"></script></body></html>]]></http_server_default_response>
파일을 저장하고 닫은 다음 ClickHouse 서비스를 다시 시작하여 구성 변경 사항을 적용합니다.
systemctl restart clickhouse-server
ClickHouse 웹 UI에 액세스
기본적으로 ClickHouse 웹 UI는 포트 8123에서 수신 대기합니다. 다음 명령을 사용하여 확인할 수 있습니다.
ss -antpl | grep 8123
다음 출력이 표시되어야 합니다.
LISTEN 0 4096 0.0.0.0:8123 0.0.0.0:* users:(("clickhouse-serv",pid=18580,fd=158))
이제 웹 브라우저를 열고 URL http://your-server-ip:8123을 사용하여 ClickHouse 웹 UI에 액세스합니다. 다음 화면이 표시됩니다.
기본 사용자 이름과 비밀번호를 입력하고 로그인 버튼을 클릭합니다. 로그인하면 다음 화면이 표시됩니다.
결론
위 가이드에서는 Debian 11에 ClickHouse 데이터베이스 시스템을 설치하는 방법에 대해 설명했습니다. 또한 데이터베이스를 생성 및 관리하고 ClickHouse 웹 인터페이스를 활성화하는 방법도 설명했습니다. 이것이 프로덕션 환경에서 ClickHouse를 설치하는 데 도움이 되기를 바랍니다. 궁금한 점이 있으면 언제든지 문의해 주세요.