本文基于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
相关推荐
总的来说,搭建基于 Hadoop 2.6.0 的 Spark 1.3.1 平台涉及多个步骤,包括虚拟化环境的准备、Hadoop 的安装配置以及 Spark 的集成。这个过程不仅要求对 Hadoop 和 Spark 的基础知识有深入理解,还需要熟悉 Linux ...
- **Linux环境**:需要安装Java运行环境,配置SPARK_HOME和PATH环境变量,解压安装包到指定目录,然后可以通过启动master和worker进程来启动Spark集群。 - **Windows环境**:同样需要Java环境,由于Windows不支持...
这两个组件在Spark的安装和配置过程中起着至关重要的作用。 首先,我们来详细了解一下JDK。Java Development Kit是Oracle公司提供的用于开发和运行Java应用程序的软件工具包。在Spark的环境中,JDK是必不可少的,...
本文详细介绍了如何在本地环境中搭建Spark开发环境,包括JDK、Scala、Spark以及构建工具Maven的安装配置。通过一个简单的WordCount示例验证了环境搭建的正确性。这些步骤适用于初学者快速上手Spark开发,同时也为更...
- 运行示例程序验证安装成功。 - **HBase安装:** - 解压`hbase-1.3.1-bin.tar.gz`。 - 修改`hbase-site.xml`、`hbase-env.sh`等配置文件。 - 启动HBase服务。 - **Phoenix安装:** - 解压`apache-phoenix-...
- **安装 JDK 7 及以上版本**:为了支持 Spark 的运行,需要确保所有节点都安装了 JDK 7 或更高版本。 - **安装 Scala 2.10 及以上版本**:Spark 1.0 版本建议使用 Scala 2.10 或更高版本进行开发。例如,在 Windows...
#### 一、SparkR的安装配置 ##### 1.1 R与Rstudio的安装 在本节中,我们将详细解释如何在Ubuntu系统上安装R语言及其集成开发环境RStudio。 ###### 1.1.1 R的安装 **步骤一:添加CRAN源** 1. 打开终端。 2. 使用...
同样,在 IDEA 中运行上述 Scala 代码,确保已正确配置 Spark 环境并导入相关依赖。程序运行后,可以看到模型的系数、截距、预测结果以及 RMSE 评估指标。 ### 1.3 协同过滤实例 #### 1.3.1 算法说明 **协同过滤...
###### 2.2.3 安装配置 Spark 软件环境 1. **下载Spark**:从官方网站下载适合的Spark版本。 2. **配置Spark**:修改`spark-env.sh`和`spark-defaults.conf`文件,设置必要的参数。 3. **启动Spark服务**:由于...
本节介绍了如何安装Scala环境以及如何安装和配置Spark集群。 综上所述,本指导手册涵盖了全国大学生大数据技能竞赛的关键知识点和技术细节,旨在帮助参赛者更好地准备比赛并提高竞赛表现。通过遵循本手册的指导,...
1.3.1 人员配置 项目团队包括项目经理、开发工程师、测试工程师、UI设计师、运维人员等,确保项目的顺利进行。 1.3.2 平台实施策略 采用敏捷开发模式,分阶段进行,以快速响应市场变化和用户需求。 1.3.3 项目...
2.3 定义运行配置 52 2.3.1 在桌面上运行移动应用程序 52 2.3.2 在设备上运行移动应用程序 55 2.4 小结 62 2.4.1 练习 63 2.4.2 本章所学内容 63 第3章 为android、blackberry和ios设备构建air应用程序 65 ...
技术需求涵盖了大数据处理技术(如Hadoop、Spark)、数据仓库、数据挖掘算法、数据可视化工具等,要求平台具有高效的数据处理能力和强大的分析功能。 1.3.3 **业务需求分析** 业务需求强调了平台应支持多种业务场景...
1.2.2 **大数据处理设备建设需求**:考虑到大数据处理的复杂性,需要配置高性能的硬件和软件平台,如Hadoop、Spark等,以处理海量数据。 1.2.3 **存储资源池建设需求**:构建高可用、高冗余的存储系统,支持块、...
本章将介绍如何快速安装和配置Kafka环境,以及如何发送和接收消息的基本操作。 #### 第三章 Kafka架构深入 本章将进一步探讨Kafka的内部架构,包括Broker、ZooKeeper、Producers、Consumers等组件的工作原理。 ##...
- **1.3.1 数据分析综合服务平台**:负责数据的深入分析,为决策提供科学依据。 - **1.3.2 量收系统**:用于记录和管理客户的交易量和收益信息,是分析客户行为的重要数据来源。 - **1.3.3 金融大数据平台**:汇集...
- **1.3.1 本地模式下的 execute 方法** 在本地模式下,执行环境会自动创建并管理所有必要的组件,包括 JobManager 和 TaskManager。用户只需调用 `env.execute()` 即可启动任务。 - **1.3.2 远程模式...