시험에 docker로 spark/spark-shell을 만져보십시오.
전체 흐름
docker 이미지는 여러 가지가 있지만 다음을 사용하십시오.
htps : // 기주 b. 코 m / 세만 치 ゔ ぇ / 도 c 케 rs 파 rk
docker-compose로 master x 1, worker x 2의 docker 기반 spark 클러스터를 단일 노드에 쉽게 만들 수 있습니다.
그리고 spark-shell에서 아래의 빠른 시작을 시도하십시오.
htps : // s park. 아파치. 오 rg / 두 cs / 아 st / 쿠이 ck-s rt. HTML
1. 도커로 스파크 클러스터 시작
사전에 git, docker/docker-compose가 설치되어 있어야하지만, 그 방법은 할애.
절차는 아래 사이트에서 dockerfile을 clone하고 docker-compose up하면됩니다.
htps : // 기주 b. 코 m / 세만치 ゔ ぇ / Doc 케 rs 파 rk
git clone https://github.com/Semantive/docker-spark.git
cd ./docker-spark/
docker-compose up
잠시 후 master와 worker 컨테이너가 일어나
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b391b766cbc semantive/spark "bin/spark-class org…" 2 hours ago Up About an hour 0.0.0.0:8081->8081/tcp dockerspark_worker1_1
12a25ad7a708 semantive/spark "bin/spark-class org…" 2 hours ago Up About an hour 0.0.0.0:8082->8082/tcp dockerspark_worker2_1
ef6cf053d560 semantive/spark "bin/spark-class org…" 2 hours ago Up About an hour 0.0.0.0:4040->4040/tcp, 0.0.0.0:6066->6066/tcp, 0.0.0.0:7077->7077/tcp, 0.0.0.0:8080->8080/tcp dockerspark_master_1
2. spark-shell을 두드려보세요
master 노드에서 spark-shell을 실행하면
docker exec -it [masterのcontainer id] spark-shell
例)
docker exec -it ef6cf053d560 spark-shell
그러면 다음과 같이 spark-shell이 시작되어 scala로 인터랙티브하게 처리를 실행할 수 있다.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.1.1
/_/
Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_131)
Type in expressions to have them evaluated.
Type :help for more information.
scala>
Quick Start를 실행해 봅니다.
htps : // s park. 아파치. 오 rg / 두 cs / 아 st / 쿠이 ck - s rt. HTML
scala> val textFile = spark.read.textFile("README.md")
textFile: org.apache.spark.sql.Dataset[String] = [value: string]
scala> textFile.count()
res0: Long = 104
scala> textFile.first()
res1: String = # Apache Spark
scala> val linesWithSpark = textFile.filter(line => line.contains("Spark"))
linesWithSpark: org.apache.spark.sql.Dataset[String] = [value: string]
scala> textFile.filter(line => line.contains("Spark")).count()
res2: Long = 20
else b)textFile.map(line => line.split(" ").size).reduce((a, b) => if (a > b) a
res3: Int = 22
일단 움직였다.
덧붙여서, AWS의 t2.micro와 같이 리소스 스펙이 너무 낮으면 처리가 너무 무거워서 움직이지 않을 가능성이 있습니다.
3. 모니터링
http://[host IP]:8080에서 Spark가 제공하는 GUI에도 액세스할 수 있다.
Reference
이 문제에 관하여(시험에 docker로 spark/spark-shell을 만져보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/suzukihi724/items/5c12f2f7f3d5b12d2060텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)