Thứ ba, 22/09/2020 | 00:00 GMT+7

Cách cài đặt và sử dụng ClickHouse trên Ubuntu 20.04

ClickHouse là database phân tích hướng cột open-souce được tạo bởi Yandex cho các trường hợp sử dụng OLAP và dữ liệu lớn. Hỗ trợ xử lý truy vấn thời gian thực của ClickHouse làm cho nó phù hợp với các ứng dụng yêu cầu kết quả phân tích dưới giây.

Ngôn ngữ truy vấn của ClickHouse là một phương ngữ của SQL cho phép khả năng truy vấn khai báo mạnh mẽ đồng thời cung cấp sự quen thuộc và đường cong học tập nhỏ hơn cho user cuối.

Database hướng cột lưu trữ bản ghi trong các khối được group theo cột thay vì hàng. Bằng cách không tải dữ liệu cho các cột vắng mặt trong truy vấn, database hướng cột dành ít thời gian hơn để đọc dữ liệu trong khi hoàn thành truy vấn. Do đó, các database này có thể tính toán và trả về kết quả nhanh hơn nhiều so với các hệ thống dựa trên hàng truyền thống cho một số dung lượng công việc nhất định, chẳng hạn như OLAP.

Hệ thống Xử lý Phân tích Trực tuyến (OLAP) cho phép tổ chức lượng lớn dữ liệu và thực hiện các truy vấn phức tạp. Chúng có khả năng quản lý hàng petabyte dữ liệu và trả về kết quả truy vấn một cách nhanh chóng. Theo cách này, OLAP hữu ích cho công việc trong các lĩnh vực như khoa học dữ liệu và phân tích kinh doanh.

Trong hướng dẫn này, bạn sẽ cài đặt server database ClickHouse và client trên máy của bạn . Bạn sẽ sử dụng DBMS cho các việc điển hình và tùy chọn cho phép truy cập từ xa từ một server khác để bạn có thể kết nối với database từ một máy khác. Sau đó, bạn sẽ kiểm tra ClickHouse bằng cách lập mô hình và truy vấn dữ liệu lượt truy cập trang web mẫu.

Yêu cầu

  • Một server Ubuntu 20.04 với cài đặt firewall và user không phải root hỗ trợ sudo . Server phải có ít nhất 2GB RAM. Bạn có thể làm theo hướng dẫn Cài đặt Server Ban đầu để tạo user và cài đặt firewall .

  • (Tùy chọn) Server Ubuntu 20.04 thứ cấp với cài đặt firewall và user không phải root đã bật sudo .

Bước 1 - Cài đặt ClickHouse

Trong phần này, bạn sẽ cài đặt server ClickHouse và các client bằng cách sử dụng apt .

Đầu tiên, SSH vào server của bạn bằng lệnh:

  • ssh sammy@your_server_ip

Yandex duy trì một repository APT có version ClickHouse mới nhất. Thêm khóa GPG của repository để bạn có thể download các gói ClickHouse đã được xác thực một cách an toàn:

  • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4

Bạn sẽ thấy kết quả tương tự như sau:

Output
Executing: /tmp/apt-key-gpghome.JkkcKnBAFY/gpg.1.sh --keyserver keyserver.ubuntu.com --recv E0C56BD4  gpg: key C8F1E19FE0C56BD4: public key "ClickHouse Repository Key <milovidov@yandex-team.ru>" imported gpg: Total number processed: 1 gpg:               imported: 1 

Đầu ra xác nhận nó đã xác minh và thêm khóa thành công.

Thêm repository vào danh sách repository APT của bạn bằng cách thực hiện:

  • echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list

Ở đây bạn đã chuyển kết quả của echo tới sudo tee để kết quả này có thể in ra file do user sở hữu.

Bây giờ, hãy cập nhật các gói của bạn:

  • sudo apt update

Các clickhouse-serverclickhouse-client bây giờ sẽ có sẵn để cài đặt. Cài đặt chúng với:

  • sudo apt install clickhouse-server clickhouse-client

Trong quá trình cài đặt, bạn cần đặt password cho user ClickHouse mặc định.

Bạn đã cài đặt thành công server và client ClickHouse. Đến đây bạn đã sẵn sàng để bắt đầu dịch vụ database và đảm bảo nó đang chạy chính xác.

Bước 2 - Bắt đầu dịch vụ

Gói clickhouse-server mà bạn đã cài đặt trong phần trước sẽ tạo một dịch vụ systemd , dịch vụ này thực hiện các hành động như khởi động, dừng và khởi động lại server database . systemd là một hệ thống init dành cho Linux để khởi tạo và quản lý các dịch vụ. Trong phần này, bạn sẽ khởi động dịch vụ và xác minh nó đang chạy thành công.

Bắt đầu dịch vụ clickhouse-server bằng lệnh:

  • sudo service clickhouse-server start

Lệnh trước đó sẽ không hiển thị bất kỳ kết quả nào. Để xác minh dịch vụ đang chạy thành công, hãy thực hiện:

  • sudo service clickhouse-server status

Bạn sẽ thấy kết quả tương tự như sau:

Output
● 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 Wed 2020-09-16 05:18:54 UTC; 5s ago    Main PID: 2697 (clickhouse-serv)       Tasks: 46 (limit: 1137)      Memory: 459.7M      CGroup: /system.slice/clickhouse-server.service              └─2697 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server.pid 

Đầu ra ghi chú rằng server đang chạy.

Bạn đã khởi động thành công server ClickHouse và bây giờ sẽ có thể sử dụng chương trình CLI clickhouse-client để kết nối với server .

Bước 3 - Tạo database và bảng

Trong ClickHouse, bạn có thể tạo và xóa database bằng cách thực thi câu lệnh SQL trực tiếp trong dấu nhắc database tương tác. Các câu lệnh bao gồm các lệnh theo một cú pháp cụ thể yêu cầu server database thực hiện một hoạt động được yêu cầu cùng với bất kỳ dữ liệu nào được yêu cầu. Bạn tạo database bằng cách sử dụng cú pháp CREATE DATABASE table_name . Để tạo database , trước tiên hãy bắt đầu phiên khách bằng cách chạy lệnh sau:

  • clickhouse-client --password

Bạn cần nhập password bạn đã đặt trong quá trình cài đặt — hãy nhập password đó thành công để bắt đầu phiên khách.

Lệnh trước đó sẽ đăng nhập bạn vào dấu nhắc client , nơi bạn có thể chạy câu lệnh SQL ClickHouse để thực hiện các hành động như:

  • Tạo, cập nhật và xóa database , bảng, index , phân vùng và dạng xem.

  • Thực thi các truy vấn để truy xuất dữ liệu được lọc và group tùy chọn bằng các điều kiện khác nhau.

Trong bước này, với client ClickHouse đã sẵn sàng để chèn dữ liệu, bạn sẽ tạo một database và bảng. Với mục đích của hướng dẫn này, bạn sẽ tạo một database có tên là test và bên trong đó bạn sẽ tạo một bảng có tên là visits theo dõi thời lượng truy cập trang web.

Đến đây bạn đang ở trong dấu nhắc lệnh ClickHouse, hãy tạo database test của bạn bằng cách thực thi:

  • CREATE DATABASE test;

Bạn sẽ thấy kết quả sau cho thấy rằng bạn đã tạo database :

Output
CREATE DATABASE test  Ok.  0 rows in set. Elapsed: 0.003 sec. 

Bảng ClickHouse tương tự như các bảng trong database quan hệ khác; nó chứa một tập hợp dữ liệu liên quan ở định dạng có cấu trúc. Bạn có thể chỉ định các cột cùng với loại của chúng, thêm hàng dữ liệu và thực hiện các loại truy vấn khác nhau trên bảng.

Cú pháp để tạo bảng trong ClickHouse tuân theo cấu trúc ví dụ sau:

CREATE TABLE table_name (     column_name1 column_type [options],     column_name2 column_type [options],     ... ) ENGINE = engine 

Giá trị table_namecolumn_name có thể là bất kỳ số nhận dạng ASCII hợp lệ nào. ClickHouse hỗ trợ nhiều loại cột; một số phổ biến nhất là:

  • UInt64 : được sử dụng để lưu trữ các giá trị số nguyên trong phạm vi từ 0 đến 18446744073709551615.

  • Float64 : được sử dụng để lưu trữ các số dấu phẩy động như 2039,23, 10,5, v.v.

  • String : được sử dụng để lưu trữ các ký tự có độ dài thay đổi. Nó không yêu cầu thuộc tính max-length vì nó có thể lưu trữ độ dài tùy ý.

  • Date : được sử dụng để lưu trữ ngày theo định YYYY-MM-DD .

  • DateTime : được sử dụng để lưu trữ ngày tháng cùng với thời gian và tuân theo định YYYY-MM-DD HH:MM:SS .

Sau định nghĩa cột, bạn chỉ định công cụ được sử dụng cho bảng. Trong ClickHouse, Công cụ xác định cấu trúc vật lý của dữ liệu cơ bản, khả năng truy vấn của bảng, các chế độ truy cập đồng thời và hỗ trợ cho các index . Các loại động cơ khác nhau phù hợp với các yêu cầu ứng dụng khác nhau. Loại engine được sử dụng phổ biến và được áp dụng rộng rãi là MergeTree .

Đến đây bạn đã có một cái nhìn tổng quan về tạo bảng, bạn sẽ tạo một bảng. Bắt đầu bằng cách xác nhận database bạn sẽ sửa đổi:

  • USE test;

Bạn sẽ thấy kết quả sau cho thấy rằng bạn đã chuyển sang database test từ database default :

Output
USE test  Ok.  0 rows in set. Elapsed: 0.001 sec. 

Phần còn lại của hướng dẫn này sẽ giả định bạn đang thực thi các câu lệnh trong ngữ cảnh của database này.

Tạo bảng visits của bạn bằng cách chạy lệnh sau:

  • CREATE TABLE visits (
  • id UInt64,
  • duration Float64,
  • url String,
  • created DateTime
  • ) ENGINE = MergeTree()
  • PRIMARY KEY id
  • ORDER BY id;

Dưới đây là bảng phân tích chức năng của lệnh. Bạn tạo một bảng có tên visits có bốn cột:

  • id : Cột khóa chính. Tương tự như các hệ thống RDBMS khác, một cột khóa chính trong ClickHouse xác định duy nhất một hàng; mỗi hàng phải có một giá trị duy nhất cho cột này.

  • duration : Một cột nổi được sử dụng để lưu trữ thời lượng của mỗi lượt truy cập tính bằng giây. cột float có thể lưu trữ các giá trị thập phân chẳng hạn như 12,50.

  • url : Cột chuỗi lưu trữ URL đã truy cập, chẳng hạn như http://example.com .

  • created : Cột ngày và giờ theo dõi thời điểm lượt truy cập xảy ra.

Sau định nghĩa cột, bạn chỉ định MergeTree làm công cụ lưu trữ cho bảng. Dòng công cụ MergeTree được khuyến khích cho database production do hỗ trợ tối ưu hóa cho số lượng chèn lớn trong thời gian thực, tính mạnh mẽ tổng thể và hỗ trợ truy vấn. Ngoài ra, các công cụ MergeTree hỗ trợ sắp xếp các hàng theo khóa chính, phân vùng các hàng, sao chép và lấy mẫu dữ liệu.

Nếu bạn định sử dụng ClickHouse để lưu trữ dữ liệu không được truy vấn thường xuyên hoặc để lưu trữ dữ liệu tạm thời, bạn có thể sử dụng họ công cụ Nhật ký để tối ưu hóa cho trường hợp sử dụng đó.

Sau định nghĩa cột, bạn sẽ xác định các tùy chọn cấp bảng khác. Mệnh đề PRIMARY KEY đặt id làm cột khóa chính và mệnh đề ORDER BY sẽ lưu trữ các giá trị được sắp xếp theo cột id . Khóa chính xác định duy nhất một hàng và được sử dụng để truy cập hiệu quả vào một hàng duy nhất và định vị hiệu quả các hàng.

Khi thực hiện câu lệnh create, bạn sẽ thấy kết quả sau:

Output
CREATE TABLE visits (     id UInt64,     duration Float64,     url String,     created DateTime ) ENGINE = MergeTree() PRIMARY KEY id ORDER BY id  Ok.  0 rows in set. Elapsed: 0.010 sec. 

Trong phần này, bạn đã tạo database và bảng để theo dõi dữ liệu lượt truy cập trang web. Trong bước tiếp theo, bạn sẽ chèn dữ liệu vào bảng, cập nhật dữ liệu hiện có và xóa dữ liệu đó.

Bước 4 - Chèn, cập nhật và xóa dữ liệu và cột

Trong bước này, bạn sẽ sử dụng bảng visits của bạn để chèn, cập nhật và xóa dữ liệu. Lệnh sau là một ví dụ về cú pháp để chèn hàng vào bảng ClickHouse:

INSERT INTO table_name VALUES (column_1_value, column_2_value, ....); 

Bây giờ, hãy chèn một vài hàng dữ liệu visits truy cập trang web mẫu vào bảng visits của bạn bằng cách chạy từng câu lệnh sau:

  • INSERT INTO visits VALUES (1, 10.5, 'http://example.com', '2019-01-01 00:01:01');
  • INSERT INTO visits VALUES (2, 40.2, 'http://example1.com', '2019-01-03 10:01:01');
  • INSERT INTO visits VALUES (3, 13, 'http://example2.com', '2019-01-03 12:01:01');
  • INSERT INTO visits VALUES (4, 2, 'http://example3.com', '2019-01-04 02:01:01');

Bạn sẽ thấy kết quả sau được lặp lại cho mỗi câu lệnh chèn.

Output
INSERT INTO visits VALUES  Ok.  1 rows in set. Elapsed: 0.004 sec. 

Kết quả kết quả cho mỗi hàng cho thấy rằng bạn đã chèn thành công hàng đó vào bảng visits .

Đến đây bạn sẽ thêm một cột bổ sung vào bảng visits . Khi thêm hoặc xóa các cột khỏi các bảng hiện có, ClickHouse hỗ trợ cú pháp ALTER .

Ví dụ: cú pháp cơ bản để thêm cột vào bảng như sau:

ALTER TABLE table_name ADD COLUMN column_name column_type; 

Thêm một cột có tên location sẽ lưu trữ vị trí của các lượt truy cập vào một trang web bằng cách chạy câu lệnh sau:

  • ALTER TABLE visits ADD COLUMN location String;

Bạn sẽ thấy kết quả tương tự như sau:

Output
ALTER TABLE visits     ADD COLUMN     location String   Ok.  0 rows in set. Elapsed: 0.014 sec. 

Kết quả hiển thị rằng bạn đã thêm cột location thành công.

Kể từ version 19.13.3, ClickHouse không hỗ trợ cập nhật và xóa các hàng dữ liệu riêng lẻ do các ràng buộc triển khai. Tuy nhiên, ClickHouse có hỗ trợ cập nhật và xóa hàng loạt, đồng thời có cú pháp SQL riêng cho các thao tác này để làm nổi bật cách sử dụng không chuẩn của chúng.

Cú pháp sau là một ví dụ cho cập nhật hàng loạt hàng:

ALTER TABLE table_name UPDATE  column_1 = value_1, column_2 = value_2 ...  WHERE  filter_conditions; 

Bạn sẽ chạy câu lệnh sau để cập nhật cột url của tất cả các hàng có duration lượng nhỏ hơn 15. Nhập nó vào dấu nhắc database để thực thi:

  • ALTER TABLE visits UPDATE url = 'http://example2.com' WHERE duration < 15;

Đầu ra của câu lệnh cập nhật hàng loạt sẽ như sau:

Output
ALTER TABLE visits     UPDATE url = 'http://example2.com' WHERE duration < 15   Ok.  0 rows in set. Elapsed: 0.003 sec. 

Kết quả cho thấy rằng truy vấn cập nhật của bạn đã hoàn tất thành công. 0 rows in set trong kết quả biểu thị rằng truy vấn không trả về bất kỳ hàng nào; đây sẽ là trường hợp cho bất kỳ truy vấn cập nhật và xóa nào.

Cú pháp ví dụ để xóa hàng loạt hàng tương tự như cập nhật hàng và có cấu trúc sau:

ALTER TABLE table_name DELETE WHERE filter_conditions; 

Để kiểm tra việc xóa dữ liệu, hãy chạy câu lệnh sau để xóa tất cả các hàng có duration lượng nhỏ hơn 5 :

  • ALTER TABLE visits DELETE WHERE duration < 5;

Đầu ra của câu lệnh xóa hàng loạt sẽ tương tự như:

Output
ALTER TABLE visits     DELETE WHERE duration < 5   Ok.  0 rows in set. Elapsed: 0.003 sec. 

Đầu ra xác nhận bạn đã xóa các hàng có thời lượng dưới năm giây.

Để xóa các cột khỏi bảng của bạn, cú pháp sẽ tuân theo cấu trúc ví dụ sau:

ALTER TABLE table_name DROP COLUMN column_name; 

Xóa cột location bạn đã thêm trước đó bằng cách chạy như sau:

  • ALTER TABLE visits DROP COLUMN location;

Kết quả DROP COLUMN xác nhận bạn đã xóa cột sẽ như sau:

Output
ALTER TABLE visits     DROP COLUMN     location String   Ok.  0 rows in set. Elapsed: 0.010 sec. 

Đến đây bạn đã chèn, cập nhật và xóa thành công các hàng và cột trong bảng visits của bạn , bạn sẽ chuyển sang truy vấn dữ liệu trong bước tiếp theo.

Bước 5 - Truy vấn dữ liệu

Ngôn ngữ truy vấn của ClickHouse là một phương ngữ tùy chỉnh của SQL với các phần mở rộng và chức năng phù hợp với dung lượng công việc phân tích. Trong bước này, bạn sẽ chạy các truy vấn lựa chọn và tổng hợp để truy xuất dữ liệu và kết quả từ bảng visits của bạn .

Truy vấn lựa chọn cho phép bạn truy xuất các hàng và cột dữ liệu được lọc theo các điều kiện mà bạn chỉ định, cùng với các tùy chọn như số hàng cần trả về. Bạn có thể chọn các hàng và cột dữ liệu bằng cú pháp SELECT . Cú pháp cơ bản cho các truy vấn SELECT là:

SELECT func_1(column_1), func_2(column_2) FROM table_name WHERE filter_conditions row_options; 

Thực thi câu lệnh sau để truy xuất giá trị durationurl cho các hàng có urlhttp://example.com .

  • SELECT url, duration FROM visits WHERE url = 'http://example2.com' LIMIT 2;

Bạn sẽ thấy kết quả sau:

Output
SELECT     url,     duration FROM visits WHERE url = 'http://example2.com' LIMIT 2  ┌─url─────────────────┬─duration─┐ │ http://example2.com │     10.5 │ └─────────────────────┴──────────┘ ┌─url─────────────────┬─duration─┐ │ http://example2.com │       13 │ └─────────────────────┴──────────┘  2 rows in set. Elapsed: 0.013 sec. 

Kết quả trả về hai hàng phù hợp với điều kiện bạn đã chỉ định. Đến đây bạn đã chọn các giá trị, bạn có thể chuyển sang thực hiện các truy vấn tổng hợp .

Truy vấn tổng hợp là các truy vấn hoạt động trên một tập hợp các giá trị và trả về các giá trị kết quả duy nhất. Trong database phân tích, các truy vấn này được chạy thường xuyên và được database tối ưu hóa tốt. Một số chức năng tổng hợp được ClickHouse hỗ trợ là:

  • count : trả về số lượng hàng phù hợp với các điều kiện được chỉ định.

  • sum : trả về tổng các giá trị cột đã chọn.

  • avg : trả về giá trị trung bình của các giá trị cột đã chọn.

Một số hàm tổng hợp cụ thể của ClickHouse bao gồm:

  • uniq : trả về số lượng gần đúng các hàng riêng biệt được so khớp.

  • topK : trả về một mảng các giá trị thường xuyên nhất của một cột cụ thể bằng cách sử dụng thuật toán xấp xỉ.

Để chứng minh việc thực hiện các truy vấn tổng hợp, bạn sẽ tính tổng thời lượng truy cập bằng cách chạy truy vấn sum :

  • SELECT SUM(duration) FROM visits;

Bạn sẽ thấy kết quả tương tự như sau:

Output
SELECT SUM(duration) FROM visits  ┌─SUM(duration)─┐ │          63.7 │ └───────────────┘  1 rows in set. Elapsed: 0.010 sec. 

Bây giờ, hãy tính toán hai URL hàng đầu bằng cách thực thi:

  • SELECT topK(2)(url) FROM visits;

Bạn sẽ thấy kết quả tương tự như sau:

Output
SELECT topK(2)(url) FROM visits  ┌─topK(2)(url)──────────────────────────────────┐ │ ['http://example2.com','http://example1.com'] │ └───────────────────────────────────────────────┘  1 rows in set. Elapsed: 0.010 sec. 

Đến đây bạn đã truy vấn thành công bảng visits của bạn , bạn sẽ xóa các bảng và database trong bước tiếp theo.

Bước 6 - Xóa bảng và database

Trong phần này, bạn sẽ xóa bảng visits và database test .

Cú pháp để xóa bảng theo ví dụ sau:

DROP TABLE table_name; 

Để xóa bảng visits , hãy chạy câu lệnh sau:

  • DROP TABLE visits;

Bạn sẽ thấy kết quả sau tuyên bố rằng bạn đã xóa bảng thành công:

output
DROP TABLE visits  Ok.  0 rows in set. Elapsed: 0.005 sec. 

Bạn có thể xóa database bằng cú pháp DROP database table_name . Để xóa database test , hãy thực hiện câu lệnh sau:

  • DROP DATABASE test;

Kết quả kết quả cho thấy rằng bạn đã xóa database thành công.

Output
DROP DATABASE test  Ok.  0 rows in set. Elapsed: 0.003 sec. 

Bạn đã xóa các bảng và database trong bước này. Đến đây bạn đã tạo, cập nhật và xóa database , bảng và dữ liệu trong version ClickHouse của bạn , bạn sẽ cho phép truy cập từ xa vào server database của bạn trong phần tiếp theo.

Bước 7 - Cài đặt luật firewall (Tùy chọn)

Nếu bạn định chỉ sử dụng ClickHouse local với các ứng dụng chạy trên cùng một server hoặc không bật firewall trên server của bạn , bạn không cần phải hoàn thành phần này. Nếu thay vào đó, bạn sẽ kết nối từ xa với server database ClickHouse, bạn nên làm theo bước này.

Hiện tại server của bạn đã bật firewall để vô hiệu hóa địa chỉ IP công cộng của bạn truy cập vào tất cả các cổng. Bạn sẽ hoàn thành hai bước sau để cho phép truy cập từ xa:

  • Sửa đổi cấu hình của ClickHouse và cho phép nó nghe trên tất cả các giao diện.

  • Thêm luật firewall cho phép kết nối đến cổng 8123 , là cổng HTTP mà server ClickHouse chạy.

Nếu bạn đang ở bên trong dấu nhắc database , hãy thoát nó bằng lệnh CTRL+D

Chỉnh sửa file cấu hình bằng cách thực thi:

  • sudo nano /etc/clickhouse-server/config.xml

Sau đó bỏ comment chứa <!-- <listen_host>0.0.0.0</listen_host> --> , như file sau:

/etc/clickhouse-server/config.xml
...  <interserver_http_host>example.yandex.ru</interserver_http_host>     -->      <!-- Listen specified host. use :: (wildcard IPv6 address), if you want to accept connections both with IPv4 and IPv6 from everywhere. -->     <!-- <listen_host>::</listen_host> -->     <!-- Same for hosts with disabled ipv6: -->     <listen_host>0.0.0.0</listen_host>      <!-- Default values - try listen localhost on ipv4 and ipv6: -->     <!--     <listen_host>::1</listen_host>     <listen_host>127.0.0.1</listen_host>     --> ... 

Lưu file và thoát. Để áp dụng cấu hình mới, hãy khởi động lại dịch vụ bằng lệnh:

  • sudo service clickhouse-server restart

Bạn sẽ không thấy bất kỳ kết quả nào từ lệnh này. Server của ClickHouse lắng nghe trên cổng 8123 cho các kết nối HTTP và cổng 9000 cho các kết nối từ clickhouse-client . Cho phép truy cập vào cả hai cổng cho địa chỉ IP của server thứ hai của bạn bằng lệnh sau:

  • sudo ufw allow from second_server_ip/32 to any port 8123
  • sudo ufw allow from second_server_ip/32 to any port 9000

Bạn sẽ thấy kết quả sau cho cả hai lệnh cho thấy rằng bạn đã bật quyền truy cập vào cả hai cổng:

Output
Rule added 

ClickHouse bây giờ sẽ có thể truy cập được từ IP mà bạn đã thêm. Vui lòng thêm các IP bổ sung như địa chỉ máy local của bạn nếu cần.

Để xác minh bạn có thể kết nối với server ClickHouse từ máy từ xa, trước tiên hãy làm theo các bước trong Bước 1 của hướng dẫn này trên server thứ hai và đảm bảo bạn đã cài đặt clickhouse-client trên đó.

Đến đây bạn đã đăng nhập vào server thứ hai, hãy bắt đầu một phiên client bằng cách thực hiện:

  • clickhouse-client --host your_server_ip --password

Bạn sẽ thấy kết quả sau cho thấy rằng bạn đã kết nối thành công với server :

Output
ClickHouse client version 19.13.3.26 (official build). Password for user (default): Connecting to your_server_ip:9000 as user default. Connected to ClickHouse server version 19.13.3 revision 54425.  hostname :) 

Trong bước này, bạn đã bật quyền truy cập từ xa vào server database ClickHouse của bạn bằng cách điều chỉnh các luật firewall của bạn.

Kết luận

Bạn đã cài đặt thành công version database ClickHouse trên server của bạn và tạo database và bảng, thêm dữ liệu, thực hiện truy vấn và xóa database . Trong tài liệu của ClickHouse, bạn có thể đọc về các điểm chuẩn của họ so với các database phân tích thương mại và nguồn mở khác cũng như các tài liệu tham khảo chung.

Hơn nữa tính năng ClickHouse Mời bao gồm xử lý truy vấn phân tán trên nhiều server để cải thiện hiệu suất và bảo vệ chống lại mất dữ liệu bằng cách lưu trữ dữ liệu trên khác nhau mảnh .


Tags:

Các tin trước

Cách cài đặt và cấu hình Mahara trên Ubuntu 18.04 2020-09-21
Cách cài đặt Jitsi Meet trên Ubuntu 20.04 2020-09-18
Cách xử lý sandbox với Systemd trên Ubuntu 20.04 2020-09-16
Cách cài đặt và cấu hình Neo4j trên Ubuntu 20.04 2020-09-15
Cách cài đặt Webmin trên Ubuntu 20.04 2020-08-26
Cách thiết lập môi trường JupyterLab trên Ubuntu 18.04 2020-08-26
Cách cài đặt Node.js trên Ubuntu 18.04 2020-08-06
Cách cài đặt MongoDB trên Ubuntu 20.04 2020-07-31
Cách cấu hình truy cập từ xa cho MongoDB trên Ubuntu 20.04 2020-07-31
Cách bảo mật MongoDB trên Ubuntu 20.04 2020-07-31