paint-brush
Cách thiết lập máy chủ cơ sở dữ liệu chuyên dụng cho Analyticstừ tác giả@alejandroduarte
1,392 lượt đọc
1,392 lượt đọc

Cách thiết lập máy chủ cơ sở dữ liệu chuyên dụng cho Analytics

từ tác giả Alejandro Duarte2022/05/18
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

Nếu bạn tình cờ có một máy tính xách tay hoặc máy cũ nằm xung quanh và bám đầy bụi, bạn có thể muốn sử dụng lại nó. Cơ sở dữ liệu SQL nhanh để xử lý phân tích (ví dụ: để tạo báo cáo đặc biệt) có tốt không? Nếu vậy, hãy tiếp tục đọc! Trong bài viết này, tôi sẽ hướng dẫn bạn cách loại bỏ một máy tính xách tay cũ và sử dụng lại nó như một máy chủ cơ sở dữ liệu chuyên dụng để phân tích trên Rocky Linux và Docker.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Cách thiết lập máy chủ cơ sở dữ liệu chuyên dụng cho Analytics
Alejandro Duarte HackerNoon profile picture


Nếu bạn tình cờ có một máy tính xách tay hoặc máy cũ nằm xung quanh và bám đầy bụi, bạn có thể muốn sử dụng lại nó. Cơ sở dữ liệu SQL nhanh để xử lý phân tích (ví dụ: để tạo báo cáo đặc biệt) có tốt không? Nếu vậy, hãy tiếp tục đọc!


Trong bài viết này, tôi sẽ hướng dẫn bạn cách loại bỏ một chiếc máy tính xách tay cũ và sử dụng lại nó như một máy chủ cơ sở dữ liệu chuyên dụng để phân tích trên Rocky Linux và Docker.


Tôi đã sử dụng Lenovo Thinkpad T440s này với bộ xử lý Intel® Core ™ i7, 8 GB DDR3L-SDRAM và SSD 256 GB:



Tại sao Rocky Linux và Docker?

Rocky Linux là sự tiếp nối của CentOS , một hệ điều hành doanh nghiệp mã nguồn mở tương thích với Red Hat Enterprise Linux (RHEL).


Nó cung cấp các tính năng quản trị và bảo mật tốt, và vì nó dựa trên RHEL, nó có một cộng đồng rộng lớn và tích cực xung quanh nó.


Docker là phần mềm ảo hóa chạy trên các hệ thống Linux mà không cần ảo hóa phần cứng. Điều này tối ưu hóa các tài nguyên có sẵn trong khi vẫn duy trì các lợi thế của môi trường biệt lập.


Bạn có thể thiết lập Docker trên máy tính thông thường hàng ngày của mình nếu muốn, nhưng nếu bạn có một máy tính xách tay cũ với phần cứng tối thiểu cần thiết để chạy Rocky Linux, tôi khuyên bạn nên tận dụng nó.

Trước khi bạn bắt đầu

Trước khi bắt đầu, hãy đảm bảo sao lưu mọi tệp quan trọng mà bạn có thể có trong máy cũ của mình.


Sử dụng các công cụ trực tuyến như Google Drive, DropBox hoặc ổ cứng ngoài. Chỉ định 1 hoặc 2 giờ dành riêng cho nhiệm vụ này. Khám phá hệ thống tệp và tránh những bất ngờ khó chịu sau này.

Cài đặt Rocky Linux

Tôi sẽ không trình bày chi tiết về cách cài đặt Rocky Linux. Tham khảo tài liệu chính thức nếu bạn muốn xem hướng dẫn chi tiết.


Tuy nhiên, hãy đảm bảo định cấu hình kết nối Wi-Fi với DHCP (hoặc Ethernet nếu bạn thích) trong GUI cài đặt.


Bạn không cần tạo thêm người dùng, root là đủ. Ngoài ra, không cài đặt Máy chủ với tùy chọn GUI . Thay vào đó, tôi khuyên bạn nên chọn Hệ điều hành tùy chỉnh và thêm phần mềm sau:


  • Quản lý không đầu
  • Công cụ bảo mật
  • Công cụ hệ thống



Làm theo hướng dẫn cài đặt để hoàn tất quá trình.

Định cấu hình kết nối Wi-Fi với IP tĩnh


Nếu bạn đã định cấu hình kết nối Wi-Fi trong khi cài đặt, bạn sẽ phải thực hiện một số bước bổ sung.


  1. Kết nối máy với bộ định tuyến của bạn bằng cáp Ethernet .


  2. Chạy encli connection và ghi lại tên kết nối Ethernet. Trong trường hợp của tôi, đó là enp0s25 .


  3. Kích hoạt kết nối bằng cách chạy nmcli connection up enp0s25 (sử dụng tên kết nối của bạn).


  4. Cài đặt tiện ích Wi-Fi bị thiếu bằng cách chạy yum install NetworkManager-wifi

  5. Ngắt kết nối cáp Ethernet.


  6. Khởi động lại máy bằng cách chạy reboot .


  7. Sau khi máy khởi động lại, hãy đăng nhập bằng quyền root và kiểm tra xem kết nối Wi-Fi có hoạt động hay không bằng cách chạy ping google.com .


  8. Cài đặt giao diện người dùng quản lý mạng bằng dnf install NetworkManager-tui .


  9. Chạy nmtui và chỉnh sửa kết nối Wi-Fi để sử dụng IP tĩnh thủ công. Tôi đặt địa chỉ máy chủ là 192.168.1.200/24 và thêm cổng vào và máy chủ DNS mà tôi nhận được từ một máy (macOS) khác trong cùng một mạng bằng ifconfig . Sử dụng ip addr trên Linux hoặc ipconfig trên Windows. Đây là một ví dụ:




Ngăn máy tính xách tay bị treo khi nắp được đóng

Để tránh máy tính xách tay tự động chuyển sang chế độ bị treo khi đóng nắp, hãy chỉnh sửa tệp /etc/systemd/logind.conf và đặt các thuộc tính sau (bạn có thể sử dụng vi hoặc cài đặt GNU nano bằng cách sử dụng yum install nano ):


 [Login] HandleLidSwitch=lock LidSwitchIgnoreInhibited=no


Để duy trì các thay đổi trước đó khi khởi động lại, hãy chạy systemctl restart systemd-logind.service .


Kiểm tra kỹ xem mọi thứ có hoạt động không bằng cách khởi động lại máy của bạn.

Kết nối với máy chủ bằng SSH

Tại thời điểm này, bạn có thể di chuyển sang máy tính hàng ngày của mình và kết nối với máy chủ mới bằng SSH:


 ssh [email protected]


Bạn cũng có thể gán tên máy chủ trên máy khách của mình. Chỉnh sửa tệp / etc / hosts (máy giống Unix) hoặc tệp c: \ Windows \ System32 \ drivers \ etc \ hosts (trên Windows) và thêm dòng sau (sử dụng bất kỳ tên nào bạn muốn nhưng chỉ định địa chỉ IP tĩnh mà bạn đã định cấu hình trước đó):


 192.168.1.200 pickanyname.local


Bạn sẽ phải thực hiện việc này trên mọi máy mà bạn sử dụng để kết nối với máy chủ nếu bạn muốn sử dụng tên máy chủ thay vì địa chỉ IP. Sau đó, bạn sẽ có thể kết nối với máy chủ như sau:


 ssh [email protected]

Cài đặt Docker

Sau khi kết nối với máy chủ qua SSH, hãy cài đặt docker bằng cách chạy các lệnh sau:


 yum install -y yum-utils yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce \ docker-ce-cli \ containerd.io \ docker-compose-plugin


Để làm cho dịch vụ Docker tự động khởi động khi máy được khởi động lại, hãy chạy các lệnh sau:


 systemctl enable docker.service systemctl start docker.service

Cài đặt cơ sở dữ liệu

Với Docker đã sẵn sàng, thật dễ dàng để cài đặt phần mềm trong khi vẫn duy trì máy chủ của bạn gọn gàng. Phần mềm chạy trong môi trường biệt lập được gọi là vùng chứa . Bạn có thể tạo vùng chứa từ các hình ảnh tùy chỉnh hoặc sẵn sàng để sử dụng.


Hình ảnh là một mẫu có hướng dẫn về cách tạo vùng chứa. Bạn có thể bắt đầu, khởi động lại, dừng và thậm chí xóa vùng chứa khi bạn không muốn chúng trong hệ thống của mình nữa. Tất cả điều này mà không để lại rác trong hệ điều hành máy chủ của bạn (Rocky Linux, trong bài viết này).


Cơ sở dữ liệu là một ứng cử viên tốt để chạy trong một môi trường biệt lập. Thực thi lệnh sau để bắt đầu một vùng chứa chạy máy chủ MariaDB với công cụ ColumnStore bao gồm:


 docker run --detach \ --name mariadb-cs \ --restart unless-stopped \ --env MARIADB_ROOT_PASSWORD='password' \ --publish '3306:3306/tcp' \ --expose '3306' \ mariadb/columnstore


Thao tác này tải xuống hình ảnh MariaDB / columnstore từ Docker Hub (cơ quan đăng ký hình ảnh Docker công khai do Docker Inc. duy trì).


Sau khi tải xuống hình ảnh, Docker tạo một vùng chứa mới với tên MariaDB-cs và tiến hành khởi động vùng chứa, khởi động hiệu quả máy chủ cơ sở dữ liệu MariaDB trên cổng 3306.


Lệnh này cũng hiển thị cổng với thế giới bên ngoài để bạn có thể kết nối với cơ sở dữ liệu, chẳng hạn như từ máy phát triển của bạn.

Chuẩn bị Cơ sở dữ liệu Demo cho Analytics

Những gì bạn vừa cài đặt, cho phép bạn sử dụng công cụ lưu trữ MariaDB ColumnStore khi bạn tạo bảng. Ví dụ:


 CREATE TABLE some_table( ... column definitions here ... ) ENGINE=ColumnStore;


Điều này cho cơ sở dữ liệu MariaDB sử dụng công cụ ColumnStore để lưu trữ dữ liệu theo kiểu cột. Công cụ này được thiết kế để mở rộng quy mô dữ liệu lớn và có thể xử lý hàng petabyte dữ liệu, giải phóng bạn khỏi việc xác định và duy trì các chỉ mục. Điều này làm cho nó lý tưởng cho các truy vấn đặc biệt trên các tập dữ liệu rất lớn.


Bạn vẫn có thể sử dụng công cụ InnoDB mặc định phù hợp với khối lượng công việc giao dịch khi cần thiết. Chỉ cần bỏ qua tùy chọn ENGINE . Bạn có thể nối các bảng sử dụng ColumnStore với các bảng sử dụng InnoDB trong một câu lệnh SQL.


Bạn cũng có thể sử dụng sao chép giữa nút giao dịch (InnoDB) và nút phân tích (ColumnStore) để kích hoạt khối lượng công việc xử lý phân tích-giao dịch kết hợp (HTAP).


Cách tốt nhất để thử nghiệm với ColumnStore là dùng thử bằng tập dữ liệu hiện có.


Kiểm tra kho lưu trữ Github này tải 5 triệu hàng vào một bảng mà bạn có thể sử dụng để chạy các truy vấn phân tích và tự mình xem hiệu suất của ColumnStore.