本文基于Spark1.3.1,介绍一下Spark基于hadoop-2.3.0-cdh5.0.0的安装配置和简单使用。
我是在一台机器上完成了Spark的部署,其实也是集群,只不过Master和Slave都在一台机器上。如果是多台机器的集群部署,步骤完全一样,只不过多些Slave而已。
一、环境需求
- 下载并安装scala-2.11.4
配置环境变量:
export SCALA_HOME=/usr/local/scala-2.11.4
export PATH=$SCALA_HOME/bin:$PATH - Java 1.7
- Hadoop2.3.0-cdh5
- 下载编译好的Spark安装包
http://spark.apache.org/downloads.html
解压后根目录为:/home/lxw1234/spark-1.3.1-bin-hadoop2.3
- 配置环境变量:
vi ~/.bash_profile
export SPARK_HOME=/home/lxw1234/spark-1.3.1-bin-hadoop2.3
export PATH=$SPARK_HOME/bin:$PATH
source ~/.bash_profile
二、Spark配置
- 配置Spark环境变量
cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh 添加以下内容:
export JAVA_HOME=/usr/local/java-1.7.0 export HADOOP_HOME=/opt/hadoop-2.3.0-cdh5.0.0 export HADOOP_CONF_DIR=/etc/hadoop/conf export SCALA_HOME=/usr/local/scala-2.11.4 export SPARK_HOME=/home/lxw1234/spark-1.3.1-bin-hadoop2.3 export SPARK_MASTER_IP=127.0.0.1 export SPARK_MASTER_PORT=7077 export SPARK_MASTER_WEBUI_PORT=8099 export SPARK_WORKER_CORES=3 //每个Worker使用的CPU核数 export SPARK_WORKER_INSTANCES=1 //每个Slave中启动几个Worker实例 export SPARK_WORKER_MEMORY=10G //每个Worker使用多大的内存 export SPARK_WORKER_WEBUI_PORT=8081 //Worker的WebUI端口号 export SPARK_EXECUTOR_CORES=1 //每个Executor使用使用的核数 export SPARK_EXECUTOR_MEMORY=1G //每个Executor使用的内存 export SPARK_CLASSPATH=/opt/hadoop-lzo/current/hadoop-lzo.jar //由于要用到lzo,因此需要配置 export SPARK_CLASSPATH=$SPARK_CLASSPATH:$CLASSPATH export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native
- 配置Slave
cp slaves.template slaves
vi slaves 添加以下内容:
localhost
三、配置免密码ssh登陆
因为Master和Slave处于一台机器,因此配置本机到本机的免密码ssh登陆,如有其他Slave,都需要配置Master到Slave的无密码ssh登陆。
cd ~/ ssh-keygen (一路回车) cd .ssh/ cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys
四、启动Spark Master
cd $SPARK_HOME/sbin/
./start-master.sh
启动日志位于 $SPARK_HOME/logs/目录下,正常启动的日志如下:
15/06/05 14:54:16 INFO server.AbstractConnector: Started SelectChannelConnector@localhost:6066
15/06/05 14:54:16 INFO util.Utils: Successfully started service on port 6066.
15/06/05 14:54:16 INFO rest.StandaloneRestServer: Started REST server for submitting applications on port 6066
15/06/05 14:54:16 INFO master.Master: Starting Spark master at spark://127.0.0.1:7077
15/06/05 14:54:16 INFO master.Master: Running Spark version 1.3.1
15/06/05 14:54:16 INFO server.Server: jetty-8.y.z-SNAPSHOT
15/06/05 14:54:16 INFO server.AbstractConnector: Started SelectChannelConnector@0.0.0.0:8099
15/06/05 14:54:16 INFO util.Utils: Successfully started service ‘MasterUI’ on port 8099.
15/06/05 14:54:16 INFO ui.MasterWebUI: Started MasterWebUI at http://127.1.1.1:8099
15/06/05 14:54:16 INFO master.Master: I have been elected leader! New state: ALIVE
在浏览器输入 http://127.1.1.1:8099,即可看到Spark的WebUI界面,如图:
五、启动Spark Slave
cd $SPARK_HOME/sbin/
./start-slaves.sh
会根据$SPARK_HOME/conf/slaves文件中配置的主机,逐个ssh过去,启动Spark Worker
成功启动后,在WebUI界面上可以看到,已经有Worker注册上来了,如图:
界面上显示,该Worker可用的CPU核数为3,内存为10G,正是上面spark-env.sh中配置的每个Worker使用的CPU核数和内存。
六、运行示例程序,WordCount TOP-N
cd $SPARK_HOME/bin
./spark-shell –master spark://127.0.0.1:7077
进入Spark Shell
这时候在WebUI上观察到,有一个正在运行的Spark Application,即Spark-Shell,如图:
运行示例程序,读取HDFS上的文件,统计出现次数TOP50的词语:
在Spark Shell中依次执行:
var srcFile = sc.textFile("/logs/ut/imp/2015-06-02/ds_log_ft_02.log") var a = srcFile.flatMap(line=>line.split("\\t")).map(word=>(word,1)).reduceByKey(_+_) a.map(word=>(word._2,word._1)).sortByKey(false).map(word=>(word._2,word._1)).take(50).foreach(println)
运行结果如图:
180多M的文件,单个Worker,几秒钟就分析完了。
更多有关大数据Hadoop、Spark、Hive的文章,请关注我的博客:http://lxw1234.com
相关推荐
spark1.3.1的源码下载
spark-1.3.1
spark1.3.1集群环境搭建,可以直接参见文档上手,最好参考我以前上传的hadoop的集群配置文档。
linux\windows中搭建spark环境使用的spark-1.3.1-bin-hadoop2.6.tgz安装包
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询...
iceberg-spark-1.3.1.jar 数仓 数据湖 spark iceberg
Spark 1.3.1文档,包含使用指南及Api,解压在在浏览器打开index.html。 此文档是Apache Spark官网通过工具下载下来的,与官网的一样,只是可以离线浏览,大家也可以直接选择进入官网查看。
Redmine1.3.1安装完全手册(验证和总结). 安装过程出的问题都有解决方案。
spark源码 spark1.3.0版源码包,spark源码 spark1.3.0版源码包
jdk-7u79-linux-x64.tar.gz 以及 scala-2.10.4.tgz 配置spark1.3.0时需要的
spark-1.2.0-bin-hadoop2.4.tgz,用于hadoop2.4的spark1.2.0
看到网上没有spark的离线api,这里提供给大家
AndroidKiller-v1.3.1安装包及安装教程
开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-...
JQuery1.3.1
配置完毕,保存退出到上级页面,点“Test”测试也好,点“Start”开始运行也可以,总之主机配置完毕。 1.2 配置从机: 其实都不用配置,注意到我前面说的在Screens里面添加的计算机名称了吗。从机注意选择“Use ...
可产生一篇标准格式的中山学院毕业论文,包括标题,正文的字体格式,页面位置,目录的自动生成,页眉页脚等,增加了图片的预览功能,修改了错误的细节提示,版本更新: 1:改用线程操作,避免的界面假死现
JS音速V1.3.1JS音速V1.3.1JS音速V1.3.1JS音速V1.3.1JS音速V1.3.1JS音速V1.3.1JS音速V1.3.1JS音速V1.3.1JS音速V1.3.1JS音速V1.3.1
pytorch1.3.1
GitHub for Windows v1.3.1 离线安装 Windows下当前的最新版本!