Я установил Spark 2.3.0 в Ubuntu 18.04 с двумя узлами: основным (ip: 172.16.10.20) и подчиненным (ip: 172.16.10.30). Я могу проверить, что этот кластер Spark выглядит и работает
jps -lm | grep spark
14165 org.apache.spark.deploy.master.Master --host 172.16.10.20 --port 7077 --webui-port 8080
13701 org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://172.16.10.20:7077
Я попробую этот простой R-скрипт (используя пакет sparklyr):
library(sparklyr)
library(dplyr)
# Set your SPARK_HOME path
Sys.setenv(SPARK_HOME="/home/master/spark/spark-2.3.0-bin-hadoop2.7/")
config <- spark_config()
# Optionally you can modify config parameters here
sc <- spark_connect(master = "spark://172.16.10.20:7077", spark_home = Sys.getenv("SPARK_HOME"), config = config)
# Some test code, copying data to Spark cluster
iris_tbl <- copy_to(sc, iris)
src_tbls(sc)
spark_apply(iris_tbl, function(data) {
return(head(data))
})
Все команды выполняются, хорошо и плавно (но немного медленно на мой вкус), и журнал искр хранится во временном файле. При просмотре файла журнала я не вижу упоминания о подчиненном узле, что заставляет меня задуматься, действительно ли этот Spark работает в режиме кластера.
Как я могу проверить, что отношения мастер-раб действительно работают?