Cloudera [CHAP-02] Thực hành triển khai máy chủ Cloudera Manager

1. Các bước chuẩn bị
- Quy hoạch không gian lưu trữ
- Cấu hình DNS hoặc etc/hosts
- Tắt tường lửa cho từng máy chủ trong cụm

CSS:
systemctl stop firewalld
systemctl disable firewalld

1722769301343.png

- Tạm thời vô hiệu hóa SELinux, chỉnh sửa tệp config ở /etc/selinux

1722769329819.png

- Bật dịch vụ NTP
- Cấu hình repository cho Cloudera Manager và CDP Private Cloud Base
- Tham khảo thêm: cấu hình local repo cho Red Hat 9


2. Các bước thực hiện
Step 1: Configure a repository for Cloudera Manager
- Cloudera Manager được cài đặt bằng các công cụ quản lý gói như yum cho các hệ thống tương thích với RHEL. Những công cụ này phụ thuộc vào quyền truy cập vào kho lưu trữ để cài đặt phần mềm. Cloudera duy trì các kho lưu trữ có thể truy cập Internet cho các tệp cài đặt Runtime và Cloudera ManagerTạo repository nội bộ khi các máy chủ không có quyền truy cập internet
- Các bước dưới đây là cấu hình cho RHEL 9
(tham khảo thêm: https://docs.cloudera.com/cdp-priva...lation/topics/cdpdc-configure-repository.html)

Step 1.1: Tải tệp cloudera-manager.repo vào thư mục /etc/yum.repos.d/ trên máy chủ Cloudera Manager Server
https://[username]:[password]@archive.cloudera.com/p/cm7/[**Cloudera Manager version**]/redhat9/yum/cloudera-manager.repo
Step 1.2: Di chuyển tệp cloudera-manager.repo vào /etc/yum.repos.d/

Step 1.3: Chỉnh sửa tệp cloudera-manager.repo và thay thế tên người dùng, mật khẩu bằng thông tin xác thực của bạn
CSS:
[cloudera-manager]
name=Cloudera Manager 7.11.3
baseurl=https://myUsername:myPassword@archive.cloudera.com/p/cm7/7.11.3/redhat9/yum/
gpgkey=https://myUsername:myPassword@archive.cloudera.com/p/cm7/7.11.3/redhat9/yum/RPM-GPG-KEY-cloudera
gpgcheck=1
enabled=1
autorefresh=0
type=rpm-md
[postgresql10]
name=Postgresql 10
baseurl=https://archive.cloudera.com/postgresql10/redhat9/
gpgkey=https://archive.cloudera.com/postgresql10/redhat9/RPM-GPG-KEY-PGDG-10
enabled=1
gpgcheck=1
module_hotfixes=true

Step 1.4: Import the repository signing GPG key
CSS:
sudo rpm --import https://e4f22b60-3047-4459-9392-xxxx: xxxx@archive.cloudera.com/p/cm7/7.11.3/redhat9/yum/RPM-GPG-KEY-cloudera

(trong đó e4f22b60-3047-4459-9392-xxxx: xxxx chính là myUsername:myPassword)


Step 2: Install JDK if needed
CSS:
sudo yum install java-1.8.0-openjdk-devel
Step 3: Install and configuare database
- Tất cả các thành phần sau đây đều yêu cầu cơ sở dữ liệu: Cloudera Manager Server, Oozie Server, Sqoop Server, Reports Manager, Hive Metastore Server, Hue Server, Ranger
- Loại dữ liệu chứa trong CSDL:
+ Cloudera Manager: chứa tất cae thông tin về các dịch vụ mà bạn đã cấu hình và phân vai trò cho chúng, tất cả lịch sử cấu hình, lệnh, người dùng và tiến trình đang chạy.
+ Oozie Server: chứa dữ liệu về quy trình làm việc, workflow, coordinator, bundle data (chỉ khả dụng khi cài đặt cluster CDH 5 hoặc CDH 6)
+ Sqoop Server: Chứa các thực thể như driver, link, job (chỉ khả dụng khi cài đặt cluster CDH 5 hoặc CDH 6)
+ Report Manager: Theo dõi hoạt động sử dụng và xử lý đĩa theo thời gian
+ Hive Metastore Server: chứa siêu dữu liệu Hive
+ Hue Server: chứa thông tin tài khoản người dùng, truy vấn Hive, đệ trình công việc
+ YARN Queue Manager: Nếu bạn cài đặt CDP 7.1.9 CHF 2 trở lên thì không cần thay đổi cơ sở dữ liệu. YARN Queue Manager sẽ tiếp tục sử dụng cơ sở dữ liệu được nhúng hiện tại của bạn. Nếu bạn cài đặt CDP 7.1.9 hoặc CDP 7.1.9 CHF 1, bạn phải sử dụng cơ sở dữ liệu PostgreSQL lưu trữ thông tin về hàng đợi được tạo bởi YARN Queue Manager. Nếu bạn chọn cập nhật từ phiên bản CDP 7.1.9 cũ hơn lên CHF 2, CDP sẽ tiếp tục sử dụng cơ sở dữ liệu PostgreSQL của bạn và sẽ không di chuyển trở lại cơ sở dữ liệu được nhúng.
+ Sentry Server: Chứa siêu dữ liệu ủy quyền
+ Cloudera Navigator Audit Server: Chứa thông tin audit. Trong các cụm lớn, cơ sở dữ liệu này có thể phát triển lớn (chỉ khả dụng khi cài đặt cluster CDH 5 hoặc CDH 6)
+ Cloudera Navigator Metadata Server: chứa siêu dữ liệu ủy quyền (authorization), chính sách, báo cáo (chỉ khả dụng khi cài đặt cluster CDH 5 hoặc CDH 6)
+ Ranger Admin: chứa thông tin quản trị như user ranger, nhóm, chính sách truy cập
+ Ranger KMS database: lưu trữ các khóa được mã hóa
+ Streaming Components:

Step 3.1: Cài đặt Postgres JDBC Driver

CSS:
wget https://jdbc.postgresql.org/download/postgresql-42.<version>.jar

1722769454936.png

1722769470751.png

Step 3.2: Đổi tên tệp .jar của Postgres JDBC Driver thành postgresql-connector-java.jar và sao chép nó vào thư mục /usr/share/java

CSS:
mv postgresql-42.7.3.jar /usr/share/java/postgresql-connector-java.jar
Step 3.3: Xác nhận rằng tệp .jar nằm trong thư mục chia sẻ Java
CSS:
ls /usr/share/java/
1722769524390.png

Step 3.4: Thay đổi chế độ truy cập của file .jar thành 644

CSS:
chmod 644 /usr/share/java/postgresql-connector-java.jar
Step 3.5: Cài đặt PostgreSQL server
CSS:
sudo yum install postgresql-server
1722769556222.png

Step 3.6: Cài đặt gói Python psycopg2 cho cơ sở dữ liệu PostgreSQL
Nếu bạn đang sử dụng PostgreSQL làm cơ sở dữ liệu phụ trợ cho Hue trên CDP Private Cloud Base 7 thì bạn phải cài đặt phiên bản gói psycopg2 tối thiểu là 2.9.5 trên tất cả các máy chủ Hue. Gói psycopg2 được cài đặt tự động dưới dạng phần phụ thuộc của Cloudera Manager Agent, nhưng phiên bản được cài đặt thường thấp hơn 2.9.3.
Thay đổi tệp cloudera-manager.repo trong thư mục /etc/yum.repos.d.

1722776959335.png

Step 3.7: Cấu hình và khởi động máy chủ PostgreSQL
Theo mặc định, PostgreSQL chỉ chấp nhận các kết nối trên giao diện loopback. Định cấu hình PostgreSQL để chấp nhận các kết nối dựa trên tên máy chủ, địa chỉ IP (bao gồm địa chỉ CIDR) hoặc địa chỉ MAC. Tên miền đủ điều kiện (FQDN) không phải là một yêu cầu bắt buộc. Nếu bạn không thực hiện những thay đổi này, các dịch vụ không thể kết nối và sử dụng cơ sở dữ liệu mà chúng phụ thuộc vào.

Khởi tạo cụm cơ sở dữ liệu PostgreSQL:
CSS:
/usr/bin/postgresql-setup initdb
1722769816093.png

Đảm bảo rằng LC_ALL được đặt thành en_US.UTF-8 và khởi tạo cơ sở dữ liệu như sau:
CSS:
echo 'LC_ALL="en_US.UTF-8"' >> /etc/locale.conf
1722770205236.png

Kích hoạt xác thực SCRAM-SHA-256. Chỉnh sửa pg_hba.conf, thường được tìm thấy trong /var/lib/pgsql/data hoặc /etc/postgresql/<version>/main.
1722770228243.png

Thêm dòng sau: host all all 127.0.0.1/32 scram-sha-256host all all 0.0.0.0/24 md5
1722770366078.png

Nếu tệp pg_hba.conf mặc định chứa dòng sau: host all all 127.0.0.1/32 ident thì dòng host quy định xác thực scram-sha-256 được hiển thị ở trên phải được chèn vào trước dòng ident này. Nếu không làm như vậy có thể gây ra lỗi xác thực khi chạy script scm_prepare_database.sh. Bạn có thể chỉnh sửa nội dung của dòng scram-sha-256 được hiển thị ở trên để hỗ trợ các cấu hình khác nhau. Ví dụ, nếu bạn muốn truy cập PostgreSQL từ một máy chủ khác, thay thế 127.0.0.1 bằng địa chỉ IP của bạn và cập nhật tệp postgresql.conf, thường nằm ở cùng một nơi với pg_hba.conf, để bao gồm: listen_addresses = '*'
1722770479648.png

1722770464723.png

Step 3.8: Cấu hình máy chủ PostgreSQL để khởi động khi khởi động.

CSS:
sudo systemctl enable postgresql

1722770742739.png

Step 3.9: Khởi động lại cơ sở dữ liệu PostgreSQL bằng cách chạy lệnh sau

CSS:
sudo systemctl restart postgresql

1722770759941.png

Step 4: Creating Databases for Cloudera Software
Bạn phải tạo cơ sở dữ liệu và tài khoản dịch vụ cho các thành phần yêu cầu cơ sở dữ liệu. Cơ sở dữ liệu phải được cấu hình để hỗ trợ mã hóa bộ ký tự PostgreSQL UTF8. Ghi lại các giá trị bạn nhập cho tên cơ sở dữ liệu, tên người dùng và mật khẩu.
Step 4.1: Kết nối PostgreSQL

CSS:
sudo -u postgres psql

1722770799653.png

Step 4.2: Tạo CSDL cho từng dịch vụ bạn đang sử dụng từ bảng bên dưới


CSS:
CREATE ROLE <user> LOGIN PASSWORD '<password>';
CREATE DATABASE <database> OWNER <user> ENCODING 'UTF8';
1722770824422.png

1722770833962.png

Đối với PostgreSQL 8.4 trở lên, hãy đặt standard_conforming_strings=off cho cơ sở dữ liệu Hive Metastore và Oozie:

CSS:
ALTER DATABASE <database> SET standard_conforming_strings=off;
ALTER DATABASE hive SET standard_conforming_strings=off;
ALTER DATABASE oozie SET standard_conforming_strings=off;

1722770982294.png

Step 5: Install Cloudera Manager Server

CSS:
sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

1722771001231.png

1722771012436.png

Step 6: Setup Cloudera Manager database
- Cloudera Manager Server bao gồm tập lệnh scm_prepare_database.sh có thể tạo và định cấu hình cơ sở dữ liệu.

- Tệp scm_prepare_database.sh có thể thực hiện các hoạt động sau:
• Tạo tệp cấu hình cơ sở dữ liệu Cloudera Manager Server.
• (PostgreSQL) Tạo và định cấu hình cơ sở dữ liệu để Cloudera Manager Server sử dụng.
• (PostgreSQL) Tạo và định cấu hình tài khoản người dùng cho Cloudera Manager Server.
- Tập lệnh scm_prepare_database.sh kiểm tra kết nối giữa Cloudera Manager Server và cơ sở dữ liệu. Sau khi kết nối thành công, tập lệnh sẽ ghi tệp /etc/cloudera-scm-server/db.properties. Khi bạn khởi động Cloudera Manager lần đầu tiên, tập lệnh scm_prepare_database.sh sẽ tạo và điền các bảng cần thiết.
- Chạy lệnh sau:
CSS:
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh postgresql scm scm
1722771151374.png

Step 7: Install Runtime and other software
Step 7.1: Start Cloudera Manager Server

CSS:
sudo systemctl start cloudera-scm-server
Step 7.2: Cấu hình Cloudera Manager để tự động khởi động khi máy chủ khởi động lại
CSS:
sudo systemctl enable cloudera-scm-server
Step 7.3: Quan sát quá trình khởi động bằng cách chạy lệnh sau
CSS:
sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
Nếu nhìn thấy dòng này, thì Cloudera Manager Admin Console đã hoạt động
1722771180616.png

Step 7.4: Truy cập http://<cm-server_host>:7180 để vào Cloudera Manager Admin Console

1722771201979.png
 

Attachments

  • 1722769583090.png
    1722769583090.png
    149.3 KB · Views: 0
Last edited:
  • Like
Reactions: l3g0n

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu