Cách cài đặt Apache Spark trên Ubuntu 20.04

theanh

Administrator
Nhân viên
Apache Spark là một khuôn khổ mã nguồn mở và là một hệ thống điện toán cụm mục đích chung. Spark cung cấp các API cấp cao bằng Java, Scala, Python và R hỗ trợ đồ thị thực thi chung. Nó đi kèm với các mô-đun tích hợp được sử dụng cho phát trực tuyến, SQL, học máy và xử lý đồ thị. Nó có khả năng phân tích một lượng lớn dữ liệu và phân phối dữ liệu trên toàn cụm và xử lý dữ liệu song song.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt ngăn xếp điện toán cụm Apache Spark trên Ubuntu 20.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy máy chủ Ubuntu 20.04.
  • Một mật khẩu gốc được cấu hình cho máy chủ.

Bắt đầu​

Trước tiên, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật tất cả chúng bằng lệnh sau:
Mã:
apt-get update -y
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.

Cài đặt Java​

Apache Spark là một ứng dụng dựa trên Java. Vì vậy, Java phải được cài đặt trong hệ thống của bạn. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install default-jdk -y
Sau khi Java được cài đặt, hãy xác minh phiên bản Java đã cài đặt bằng lệnh sau:
Mã:
java --version
Bạn sẽ thấy kết quả sau:
Mã:
openjdk 11.0.8 2020-07-14Môi trường chạy thời gian OpenJDK (bản dựng 11.0.8+10-post-Ubuntu-0ubuntu120.04)Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 11.0.8+10-post-Ubuntu-0ubuntu120.04, chế độ hỗn hợp, chia sẻ)

Cài đặt Scala​

Apache Spark được phát triển bằng Scala. Vì vậy, bạn sẽ cần cài đặt Scala trong hệ thống của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install scala -y
Sau khi cài đặt Scala. Bạn có thể xác minh phiên bản Scala bằng lệnh sau:
Mã:
scala -version
Bạn sẽ thấy đầu ra sau:
Mã:
Scala code runner version 2.11.12 -- Bản quyền 2002-2017, LAMP/EPFL
Bây giờ, hãy kết nối với giao diện Scala bằng lệnh sau:
Mã:
scala
Bạn sẽ nhận được đầu ra sau:
Mã:
Welcome to Scala 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.8).Nhập biểu thức để đánh giá. Hoặc thử :help.
Bây giờ, hãy kiểm tra Scala bằng lệnh sau:
Mã:
scala> println("Hitesh Jethva")
Bạn sẽ nhận được kết quả sau:
Mã:
Hitesh Jethva

Cài đặt Apache Spark​

Trước tiên, bạn sẽ cần tải xuống phiên bản mới nhất của Apache Spark từ trang web chính thức của nó. Tại thời điểm viết hướng dẫn này, phiên bản mới nhất của Apache Spark là 2.4.6. Bạn có thể tải xuống thư mục /opt bằng lệnh sau:
Mã:
cd /opt
wget https://archive.apache.org/dist/spark/spark-2.4.6/spark-2.4.6-bin-hadoop2.7.tgz
Sau khi tải xuống, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
tar -xvzf spark-2.4.6-bin-hadoop2.7.tgz
Tiếp theo, đổi tên thư mục đã giải nén thành spark như hiển thị bên dưới:
Mã:
mv spark-2.4.6-bin-hadoop2.7 spark
Tiếp theo, bạn sẽ cần cấu hình môi trường Spark để có thể dễ dàng chạy các lệnh Spark. Bạn có thể định cấu hình bằng cách chỉnh sửa tệp .bashrc:
Mã:
nano ~/.bashrc
Thêm các dòng sau vào cuối tệp:
Mã:
export SPARK_HOME=/opt/sparkexport PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
Lưu và đóng tệp, sau đó kích hoạt môi trường bằng lệnh sau:
Mã:
source ~/.bashrc

Khởi động Spark Master Server​

Lúc này, Apache Spark đã được cài đặt và định cấu hình. Bây giờ, hãy khởi động máy chủ Spark master bằng lệnh sau:
Mã:
start-master.sh
Bạn sẽ thấy kết quả sau:
Mã:
starting org.apache.spark.deploy.master.Master, ghi vào /opt/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu2004.out
Theo mặc định, Spark đang lắng nghe trên cổng 8080. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -tpln | grep 8080
Bạn sẽ thấy kết quả sau:
Mã:
LISTEN 0 1 *:8080 *:* users:(("java",pid=4930,fd=249))
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web Spark bằng URL http://your-server-ip:8080. Bạn sẽ thấy màn hình sau:


Khởi động quy trình Spark Worker​

Như bạn thấy, dịch vụ Spark master đang chạy trên spark://your-server-ip:7077. Vì vậy, bạn có thể sử dụng địa chỉ này để bắt đầu quy trình Spark worker bằng lệnh sau:
Mã:
start-slave.sh spark://your-server-ip:7077
Bạn sẽ thấy đầu ra sau:
Mã:
starting org.apache.spark.deploy.worker.Worker, ghi vào /opt/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-ubuntu2004.out
Bây giờ, hãy vào bảng điều khiển Spark và làm mới màn hình. Bạn sẽ thấy quy trình Spark worker trong màn hình sau:


Làm việc với Spark Shell​

Bạn cũng có thể kết nối máy chủ Spark bằng dòng lệnh. Bạn có thể kết nối nó bằng lệnh spark-shell như được hiển thị bên dưới:
Mã:
spark-shell
Sau khi kết nối, bạn sẽ thấy đầu ra sau:
Mã:
CẢNH BÁO: Đã xảy ra thao tác truy cập phản chiếu bất hợp phápCẢNH BÁO: Truy cập phản chiếu bất hợp pháp của org.apache.spark.unsafe.Platform (tệp:/opt/spark/jars/spark-unsafe_2.11-2.4.6.jar) vào phương thức java.nio.Bits.unaligned()CẢNH BÁO: Vui lòng cân nhắc báo cáo sự cố này cho người bảo trì org.apache.spark.unsafe.PlatformCẢNH BÁO: Sử dụng --illegal-access=warn để bật cảnh báo về các thao tác truy cập phản chiếu bất hợp pháp tiếp theoCẢNH BÁO: Tất cả các thao tác truy cập bất hợp pháp sẽ bị từ chối trong bản phát hành trong tương lai20/08/29 14:35:07 CẢNH BÁO NativeCodeLoader: Không thể tải thư viện native-hadoop cho nền tảng của bạn... sử dụng builtin-java các lớp khi áp dụngSử dụng cấu hình log4j mặc định của Spark: org/apache/spark/log4j-defaults.propertiesĐặt mức nhật ký mặc định thành "WARN".Để điều chỉnh mức nhật ký, hãy sử dụng sc.setLogLevel(newLevel). Đối với SparkR, hãy sử dụng setLogLevel(newLevel).Giao diện người dùng web ngữ cảnh Spark có tại http://ubuntu2004:4040Ngữ cảnh Spark có sẵn dưới dạng 'sc' (master = local[*], app id = local-1598711719335).Phiên Spark có sẵn dưới dạng 'spark'.Chào mừng đến với ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ phiên bản 2.4.6 /_/Sử dụng Scala phiên bản 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.8)Nhập biểu thức để đánh giá chúng.Nhập :help để biết thêm thông tin.scala>
Nếu bạn muốn sử dụng Python trong Spark. Bạn có thể sử dụng tiện ích dòng lệnh pyspark.

Trước tiên, hãy cài đặt Python phiên bản 2 bằng lệnh sau:
Mã:
apt-get install python -y
Sau khi cài đặt, bạn có thể kết nối Spark bằng lệnh sau:
Mã:
pyspark
Sau khi kết nối, bạn sẽ nhận được kết quả sau:
Mã:
Python 2.7.18rc1 (mặc định, 7 tháng 4 năm 2020, 12:05:55)[GCC 9.3.0] trên linux2Nhập "help", "copyright", "credits" hoặc "license" để biết thêm thông tin.CẢNH BÁO: Đã xảy ra hoạt động truy cập phản chiếu bất hợp phápCẢNH BÁO: Truy cập phản chiếu bất hợp pháp của org.apache.spark.unsafe.Platform (tệp:/opt/spark/jars/spark-unsafe_2.11-2.4.6.jar) vào phương thức java.nio.Bits.unaligned()CẢNH BÁO: Vui lòng cân nhắc báo cáo sự việc này cho người bảo trì org.apache.spark.unsafe.PlatformCẢNH BÁO: Sử dụng --illegal-access=warn để bật cảnh báo về các hoạt động truy cập phản chiếu bất hợp pháp tiếp theoCẢNH BÁO: Tất cả các hoạt động truy cập bất hợp pháp sẽ bị từ chối trong bản phát hành trong tương lai20/08/29 14:36:40 CẢNH BÁO NativeCodeLoader: Không thể tải thư viện native-hadoop cho nền tảng của bạn... sử dụng các lớp built-in-java khi có thểSử dụng hồ sơ log4j mặc định của Spark: org/apache/spark/log4j-defaults.propertiesĐang đặt mức nhật ký mặc định thành "CẢNH BÁO".Để điều chỉnh mức ghi nhật ký, hãy sử dụng sc.setLogLevel(newLevel). Đối với SparkR, hãy sử dụng setLogLevel(newLevel).Chào mừng đến với ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ phiên bản 2.4.6 /_/Sử dụng Python phiên bản 2.7.18rc1 (mặc định, 7 tháng 4 năm 2020 12:05:55)SparkSession có sẵn dưới dạng 'spark'.>>>
Nếu bạn muốn dừng máy chủ Master và Slave. Bạn có thể thực hiện bằng lệnh sau:
Mã:
stop-slave.sh
stop-master.sh

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công Apache Spark trên máy chủ Ubuntu 20.04. Bây giờ bạn có thể thực hiện các bài kiểm tra cơ bản trước khi bắt đầu cấu hình cụm Spark. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên