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
- Tạm thời vô hiệu hóa SELinux, chỉnh sửa tệp config ở /etc/selinux
- 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
Step 1.4: Import the repository signing GPG key
(trong đó e4f22b60-3047-4459-9392-xxxx: xxxx chính là myUsername:myPassword)
Step 2: Install JDK if needed
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
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
Step 3.3: Xác nhận rằng tệp .jar nằm trong thư mục chia sẻ Java
Step 3.4: Thay đổi chế độ truy cập của file .jar thành 644
Step 3.5: Cài đặt PostgreSQL server
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.
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:
Đả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:
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.
Thêm dòng sau: host all all 127.0.0.1/32 scram-sha-256 và host all all 0.0.0.0/24 md5
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 = '*'
Step 3.8: Cấu hình máy chủ PostgreSQL để khởi động khi khởi động.
Step 3.9: Khởi động lại cơ sở dữ liệu PostgreSQL bằng cách chạy lệnh sau
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
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
Đố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:
Step 5: Install Cloudera Manager Server
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:
- Chạy lệnh sau:
Step 7: Install Runtime and other software
Step 7.1: Start Cloudera Manager Server
Step 7.2: Cấu hình Cloudera Manager để tự động khởi động khi máy chủ khởi động lại
Step 7.3: Quan sát quá trình khởi động bằng cách chạy lệnh sau
Nếu nhìn thấy dòng này, thì Cloudera Manager Admin Console đã hoạt động
Step 7.4: Truy cập http://<cm-server_host>:7180 để vào Cloudera Manager Admin Console
- 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
- Tạm thời vô hiệu hóa SELinux, chỉnh sửa tệp config ở /etc/selinux
- 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
- 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
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
CSS:
ls /usr/share/java/
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
CSS:
sudo yum install postgresql-server
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.
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
Đả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
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.
Thêm dòng sau: host all all 127.0.0.1/32 scram-sha-256 và host all all 0.0.0.0/24 md5
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 = '*'
Step 3.8: Cấu hình máy chủ PostgreSQL để khởi động khi khởi động.
CSS:
sudo systemctl enable postgresql
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
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
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';
Đố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;
Step 5: Install Cloudera Manager Server
CSS:
sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
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
Step 7: Install Runtime and other software
Step 7.1: Start Cloudera Manager Server
CSS:
sudo systemctl start cloudera-scm-server
CSS:
sudo systemctl enable cloudera-scm-server
CSS:
sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
Step 7.4: Truy cập http://<cm-server_host>:7180 để vào Cloudera Manager Admin Console
Attachments
Last edited: