SparkDemo 程序运行Spark 源代码可以在 http://spark-project.org/download 处下载,也可以到 github 直接复制 Spark 项目。Spark 提供基本源码压缩包,同时也提供已经编译好的压缩包。Spark 是通过 Scala Shell 来与外界进行交互的。 开始安装,推荐的方法是首先在第一个节点上部署和启动 master,获取 master spark url,然后在部署到其他节点之前修改 conf/spark-env.sh 中的内容。 开始单机 master 服务:./bin/start-master.sh 下载了 spark-0.9.1-bin-cdh4 后上传到/home/zhoumingyao 目录 (可以自定义目录,本例使用的是 CentosV6.5 操作系统) 下,具体子目录如清单 1 所示。 清单 1. 目录列表-rw-r--r-- 1 root root 3899 3 月 27 13:36 README.md
-rw-r--r-- 1 root root 25379 3 月 27 13:36 pom.xml
-rw-r--r-- 1 root root 162 3 月 27 13:36 NOTICE
-rw-r--r-- 1 root root 4719 3 月 27 13:36 make-distribution.sh
-rw-r--r-- 1 root root 21118 3 月 27 13:36 LICENSE
-rw-r--r-- 1 root root 127117 3 月 27 13:36 CHANGES.txt
drwxr-xr-x 4 root root 4096 5 月 6 13:35 assembly
drwxr-xr-x 4 root root 4096 5 月 6 13:36 bagel
drwxr-xr-x 2 root root 4096 5 月 6 13:36 bin
drwxr-xr-x 2 root root 4096 5 月 6 13:36 conf
drwxr-xr-x 4 root root 4096 5 月 6 13:37 core
drwxr-xr-x 2 root root 4096 5 月 6 13:37 data
drwxr-xr-x 4 root root 4096 5 月 6 13:37 dev
drwxr-xr-x 3 root root 4096 5 月 6 13:37 docker
drwxr-xr-x 7 root root 4096 5 月 6 13:37 docs
drwxr-xr-x 4 root root 4096 5 月 6 13:37 ec2
drwxr-xr-x 4 root root 4096 5 月 6 13:37 examples
drwxr-xr-x 7 root root 4096 5 月 6 13:38 external
drwxr-xr-x 3 root root 4096 5 月 6 13:38 extras
drwxr-xr-x 5 root root 4096 5 月 6 13:38 graphx
drwxr-xr-x 5 root root 4096 5 月 6 13:38 mllib
drwxr-xr-x 3 root root 4096 5 月 6 13:38 project
drwxr-xr-x 6 root root 4096 5 月 6 13:38 python
drwxr-xr-x 4 root root 4096 5 月 6 13:38 repl
drwxr-xr-x 2 root root 4096 5 月 6 13:38 sbin
drwxr-xr-x 2 root root 4096 5 月 6 13:38 sbt
drwxr-xr-x 4 root root 4096 5 月 6 13:39 streaming
drwxr-xr-x 3 root root 4096 5 月 6 13:39 target
drwxr-xr-x 4 root root 4096 5 月 6 13:39 tools
drwxr-xr-x 5 root root 4096 5 月 6 13:39 yarn 进入 bin 目录,执行 spark-shell.sh,进入 scala shell 状态,如清单 2 所示。 清单 2. 运行命令scala> val data = Array(1, 2, 3, 4, 5) //产生 data
data: Array[Int] = Array(1, 2, 3, 4, 5) 下面开始将 data 处理成 RDD,如清单 3 所示。 清单 3. 处理成 RDDscala> val distData = sc.parallelize(data) //将 data 处理成 RDD
distData: spark.RDD[Int] = spark.ParallelCollection@7a0ec850(显示出的类型为 RDD) 清单 4. 在 RDD 上运算scala> distData.reduce(_+_) //在 RDD 上进行运算,对 data 里面元素进行加和 清单 5. 启动 Spark[root@facenode1 sbin]# ./start-all.sh
starting org.apache.spark.deploy.master.Master,
logging to /home/zhoumingyao/spark-0.9.1-bin-cdh4/sbin/../logs/
spark-root-org.apache.spark.deploy.master.Master-1-facenode1.out
localhost: Warning: Permanently added 'localhost' (RSA)
to the list of known hosts.localhost:
starting org.apache.spark.deploy.worker.Worker, logging to
/home/zhoumingyao/spark-0.9.1-bin-cdh4/sbin/../
logs/spark-root-org.apache.spark.deploy.worker.Worker-1-facenode1.out 清单 6. 查看服务[root@facenode1 sbin]# ps -ef | grep spark
root 29295 1 11 16:45 pts/1 00:00:03 /usr/java/jdk1.6.0_31/bin/java
-cp :/home/zhoumingyao/spark-0.9.1-bin-cdh4/conf:/home/
zhoumingyao/spark-0.9.1-bin-cdh4/assembly/target/scala-2.10/
spark-assembly_2.10-0.9.1-hadoop2.0.0-mr1-cdh4.2.0.jar:/etc/alternatives/
hadoopconf -Dspark.akka.logLifecycleEvents=true -Djava.library.path= -Xms512m -Xmx512m
org.apache.spark.deploy.master.Master --ip facenode1 --port 7077 --webui-port 8080
root 29440 1 12 16:45 ? 00:00:03 java -cp :/home/zhoumingyao/
spark-0.9.1-bin-cdh4/conf:/home/zhoumingyao/spark-0.9.1-bin-cdh4/
assembly/target/scala-2.10/spark-assembly_2.10-0.9.1-hadoop2.0.0-mr1-cdh4.2.0.jar
-Dspark.akka.logLifecycleEvents=true -Djava.library.path= -Xms512m -Xmx512m
org.apache.spark.deploy.worker.Worker spark://facenode1:7077 可以启动多个工作站,通过以下命令连接到 master 服务器,如清单 7 所示。 清单 7. 连接 Master 服务器./spark-class org.apache.spark.deploy.worker.Worker spark://facenode1:7077
输出如下:
14/05/06 16:49:06 INFO ui.WorkerWebUI: Started Worker web UI at http://facenode1:8082
14/05/06 16:49:06 INFO worker.Worker: Connecting to master spark://facenode1:7077...
14/05/06 16:49:06 INFO worker.Worker: Successfully registered with master spark://facenode1:7077 进入 master server 的 Web UI 可以看到主节点、从节点的工作情况,如清单 8 所示。 清单 8. 访问 Web 客户端
注意,如果是集群方式,请在 conf 文件夹下面的 slaves 文件里面逐行加入需要加入集群的 master、works 服务器的 ip 地址或者 hostname。 |
|广告服务|关于我们|Archiver|手机版|小黑屋|大数据人 ( 鄂ICP备14012176号-2 )
GMT+8, 2024-11-21 22:20 , Processed in 0.183114 second(s), 21 queries .
Powered by 小雄! X3.2
© 2014-2020 bigdataer Inc.