시험에 docker로 spark/spark-shell을 만져보십시오.

3857 단어 스파크도커
평가판을 위해 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에도 액세스할 수 있다.

좋은 웹페이지 즐겨찾기