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.
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.
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:
Bạn sẽ thấy kết quả sau:
Sau khi cài đặt Scala. Bạn có thể xác minh phiên bản Scala bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Bây giờ, hãy kết nối với giao diện Scala bằng lệnh sau:
Bạn sẽ nhận được đầu ra sau:
Bây giờ, hãy kiểm tra Scala bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi tải xuống, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, đổi tên thư mục đã giải nén thành spark như hiển thị bên dưới:
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:
Thêm các dòng sau vào cuối tệp:
Lưu và đóng tệp, sau đó kích hoạt môi trường bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
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:
Bạn sẽ thấy kết quả sau:
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:
Bạn sẽ thấy đầu ra sau:
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:
Sau khi kết nối, bạn sẽ thấy đầu ra sau:
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:
Sau khi cài đặt, bạn có thể kết nối Spark bằng lệnh sau:
Sau khi kết nối, bạn sẽ nhận được kết quả sau:
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:
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
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
Mã:
java --version
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
Mã:
scala -version
Mã:
Scala code runner version 2.11.12 -- Bản quyền 2002-2017, LAMP/EPFL
Mã:
scala
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.
Mã:
scala> println("Hitesh Jethva")
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
Mã:
tar -xvzf spark-2.4.6-bin-hadoop2.7.tgz
Mã:
mv spark-2.4.6-bin-hadoop2.7 spark
Mã:
nano ~/.bashrc
Mã:
export SPARK_HOME=/opt/sparkexport PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
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
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
Mã:
ss -tpln | grep 8080
Mã:
LISTEN 0 1 *:8080 *:* users:(("java",pid=4930,fd=249))
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
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
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
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>
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
Mã:
pyspark
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'.>>>
Mã:
stop-slave.sh
stop-master.sh