spark使用过程中的问题

在使用Spark过程中遇到两个主要问题:1) 创建Spark Context失败,可能原因包括HDFS未启动、环境变量配置不正确等。2) sparkDriver无法绑定端口,经过排查发现可能是IP变动导致。解决方案包括设置SPARK_LOCAL_IP环境变量并检查Hadoop是否启动。重启Hadoop和Spark服务后问题解决。

我的环境:

scala2.10.6
Hadoop 2.6.2
jdk-8u66-linux-x64
spark1.5.2
一台master,两台slave 

问题1、

scala> val textFile =sc.textFile("README.md")

报错信息为: error: not found: value sc

sc为spark context,创建rdd时候就有的了,很明显创建失败

可能原因:

hdfs失败,未启动hadoop;加载spark-shell就失败;权限不对;环境变量没配好==》路径不对

附注:

Spark context available as sc.

Spark context的缩写为Sc。


问题2、

spark.sparkcontext:error initializiing

报错总信息为:sparkDriver could not bind on  port 0

具体摘要为:

starting remoting

         java.net.BindException:Failed to bind to: /10.1.4.221:0:shutting down Netty transport

 Service 'sparkDriver' failed after 16 retries!

Master上报错,slave2上未报这个错误

Slave2上的部分信息为:

         Successfully started service ‘sparkDriver’ on port 42887

         Remoting  started listening on addresses: [akka.tcp://sparkDriver@10.1.4.237:42887]

         *上面ip地址为ip地址

都报的错误为

         error  not  found: value sqlContext

解决办法:

export  SPARK_LOCAL_IP=127.0.0.1

注意export 之后,仅对当前窗口有效,仅仅是临时创建环境变量,最好加到$SPARK_HOME/conf/spark-env.sh

     猜测报错原因:前几天网线动了,所以ip变了?

解决上述问题的参考链接:

http://stackoverflow.com/questions/30085779/apache-spark-error-while-start

 

然后只报error not found: value sql Context的错误了

google后的相关信息为:

Looks like your Spark config may be trying to log to an HDFS path. Can you review yourconfig settings? 

While reading a local file which is not in HDFS throughspark shell, does the HDFS need to be up and running ?

The data may be spilled off to disk hence HDFS is anecessity for Spark. 

You can run Spark on a single machine & not use HDFS but in distributed mode HDFS will be required. 

所以问题原因应该是:

这个应该是没有启动hadoop

         **突然忘了断电后重启过了

于是

bin/hadoopnamenode –format

sbin/start-dfs.sh

sbin/start-yarn.sh

然后再启动spark

进入spark目录,sbin/start-all.sh

然后再bin/spark-shell即成功

 





### Spark框架配置教程及使用指南 #### 一、Spark框架简介 Apache Spark是一种快速通用的大规模数据处理引擎,具有高性能和易用性的特点。它可以用于大数据批处理、实时流处理、交互式查询以及机器学习等多种场景[^4]。 #### 二、Spark框架的配置方法 为了成功部署和运行Spark应用程序,需要进行一系列必要的配置。以下是详细的配置过程: 1. **下载与安装** 下载对应版本的Spark压缩包,并将其解压至目标路径。例如,在本案例中使用Spark版本为2.2.0[^3]。 2. **环境变量设置** 修改`~/.bashrc`或其他shell初始化脚本文件,添加如下内容以定义SPARK_HOME环境变量并更新PATH: ```bash export SPARK_HOME=/path/to/spark export PATH=$SPARK_HOME/bin:$PATH ``` 3. **配置文件调整** - `spark-env.sh`: 设置诸如JAVA_HOME、HADOOP_CONF_DIR等必要参数; - `spark-defaults.conf`: 自定义默认属性值,比如指定序列化器或内存分配比例; - `slaves`: 列举集群节点列表以便于分布式运算调度[^3]。 #### 三、Spark框架的基本使用方法 启动一个简单的Spark程序通常涉及以下几个方面: 1. **编写代码逻辑** 使用Scala、Python或者Java开发业务功能模块。下面展示了一个基于PySpark实现单词计数的例子: ```python from pyspark import SparkContext sc = SparkContext(appName="WordCountExample") text_file = sc.textFile("hdfs://...") counts = text_file.flatMap(lambda line: line.split()) \ .map(lambda word: (word, 1)) \ .reduceByKey(lambda a, b: a + b) counts.saveAsTextFile("output/") sc.stop() ``` 2. **提交任务给集群管理器** 借助命令行工具`sbin/start-master.sh`开启Master服务端口监听;随后利用类似以下指令递交作业实例到远程资源池当中去执行: ```bash ./bin/spark-submit --class org.apache.spark.examples.SparkPi \ --master spark://HOST:PORT \ /path/to/examples.jar 10 ``` 3. **监控进度状态** 访问Web UI界面查看当前正在运行的任务详情以及其他诊断信息[^4]。 --- #### 四、总结 通过对Spark框架的基础认识及其具体实践步骤的学习,可以更好地理解如何高效地管理和操作这一强大的开源技术栈来满足不同类型的商业需求。无论是传统的批量型工作负载还是新兴领域内的即时响应请求都能够得到妥善的支持和服务保障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值