oppor9网络oppor9s信号不好怎么办办

匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。在的基础上,本文介绍Sparkclient的基本配置及Spark任务提交方式。
1. Sparkclient及基本配置
从Spark官网下载的pre-built包中集成了Sparkclient,如与hadoop ver1.x兼容的Sparkclient位于spark-1.3.1-bin-hadoop1/bin文件夹下。
Sparkclient通常部署在要提交计算任务的机器上。用来向集群提交应用。特别地。client自带的bin/pyspark脚本支持以交互模式向集群提交应用,在交互模式下測试spark python api的运行结果是非常方便的。
Sparkclient的配置文件通常位于conf文件夹下,典型的配置文件列表例如以下所列:
spark-defaults.conf
// 设置spark master地址、每一个executor进程的内存、占用核数,等等
spark-env.sh
// spark相关的各种环境变量
log4j.properties.template
// 设置driver向console输出的日志的等级及格式
fairscheduler.xml.template
// 设置调度方式
metrics.properties.template
// 设置spark内部metrics系统。一般无需修改
// 设置spark集群中的slave节点(即worker节点)。无需修改
hadoop-default.xml
// hadoop配置。主要是hdfs的配置
hadoop-site.xml
// hadoop集群的訪问配置(如master地址)注意:因为spark的输入文件通常来自HDFS。故除spark本身的配置文件外,通常还需在conf文件夹下包括hadoop相关的配置文件,如上述演示样例中的hadoop-default.xml和hadoop-site.xml。
在这些配置文件里,最重要的是spark-defaults.conf,典型配置模板例如以下所看到的。
# Default system properties included when running spark-submit.
# This is useful for setting default environmental settings.
# Example:
# spark.master
spark://master:7077
# spark.eventLog.enabled
# spark.eventLog.dir
hdfs://namenode:8021/directory
# spark.serializer
org.apache.spark.serializer.KryoSerializer
# spark.driver.memory
# spark.executor.extraJavaOptions
-XX:+PrintGCDetails -Dkey=value -Dnumbers=&one two three&从模板可见,必须的配置项是spark.master的地址。此外另一些影响Spark执行性能的配置项,限于篇幅,这里不再赘述。建议细致阅读文档。
2. 怎样向spark集群提交应用
Sparkclient自带的bin/spark-submit脚本能够用来向集群提交应用,如以下的演示样例命令通过Sparkclient提交了一个基于ALS算法的矩阵分解模型用来实现电影个性化推荐:
spark-1.3.0.5-bin/bin/spark-submit movie_als_rec.py假设应用程序依赖了其他库,则须要将应用程序及其依赖总体打包提交到spark集群。详细而言,若提交java应用,则可借助sbt或Maven的相关插件打成jar文件再提交(无需包括spark或hadoop相关的依赖,它们由cluster manager提供);若提交Python应用,则可先将应用脚本及其依赖打包成.zip或.egg包。然后借助—py-files參数将zip或egg文件传给spark-submit脚本。
spark-submit支持的參数列表可从官网文档了解,也可打开spark-submit脚本查看。脚本中解析參数的代码片段例如以下:
这里对deploy-mode參数做特别说明:
1)&deploy mode分为client和cluster两种。
2)&若待提交的应用部署的节点与集群worker节点在物理网络上非常近。则以client模式提交应用较为合理。在client模式下,driver由spark应用脚本所在机器节点的spark-submit直接调起。driver针相应用的输入/输出会打印至该节点的终端控制台。
3)&若spark应用脚本部署节点与spark集群worker节点物理网络距离较远,则以cluster提交能够降低driver和executors间的网络延时(由于正常情况下,应用分解出的若干tasks均会由driver负责调度executor来运行。每次调度均有网络开销)。
4)&眼下以standalone或mesos方式部署的spark集群不支持cluster模式,基于Python的spark应用提交也不支持cluster模式。
未完待续,下篇笔记将会介绍Spark集群相应用的调度方式。
【參考资料】
==================== EOF ===================
阅读(...) 评论()> 博客详情
摘要: 看了网上的帖子,大部分都是用spark-sql、spark-shell、spark-submit的脚本方式来启动一个spark的应用的。如何用java代码的程序来运行spark,来执行hive表的sql查询任务呢,我遇到了一些坑
我的环境:hadoop 2.7.1、spark 1.6.0、hive 2.0、java 1.7
目标:通过java -jar xxx.jar的方式来运行提交spark应用,执行查询hive sql。
问题一:首先要提一下,按照java -jar执行,会报java.lang.OutOfMemoryError: PermGen space错误,所以需要使用以下参数启动
java&-Xms1024m&-Xmx1024m&-XX:MaxNewSize=256m&&-XX:MaxPermSize=256m&-jar&spark.jar
问题二:如果不增加datanucleus的三个jar包,会报如下的错误&
javax.jdo.JDOFatalUserException:&Class&org.datanucleus.api.jdo.JDOPersistenceManagerFactory&was&not&found.
&&&&&&&&at&javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1175)
&&&&&&&&at&javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:808)
&&&&&&&&at&javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:701)
&&&&&&&&at&org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:365)
&&&&&&&&at&org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:394)
&&&&&&&&。。。
NestedThrowablesStackTrace:
java.lang.ClassNotFoundException:&org.datanucleus.api.jdo.JDOPersistenceManagerFactory
&&&&&&&&at&java.net.URLClassLoader$1.run(URLClassLoader.java:366)
&&&&&&&&at&java.net.URLClassLoader$1.run(URLClassLoader.java:355)
&&&&&&&&at&java.security.AccessController.doPrivileged(Native&Method)
&&&&&&&&at&java.net.URLClassLoader.findClass(URLClassLoader.java:354)
&&&&&&&&at&java.lang.ClassLoader.loadClass(ClassLoader.java:425)
&&&&&&&&at&sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
&&&&&&&&at&java.lang.ClassLoader.loadClass(ClassLoader.java:358)
&&&&&&&&at&java.lang.Class.forName0(Native&Method)
&&&&&&&&at&java.lang.Class.forName(Class.java:274)
&&&&&&&&at&javax.jdo.JDOHelper$18.run(JDOHelper.java:2018)
&&&&&&&&at&javax.jdo.JDOHelper$18.run(JDOHelper.java:2016)
&&&&&&&&at&java.security.AccessController.doPrivileged(Native&Method)
&&&&&&&&at&javax.jdo.JDOHelper.forName(JDOHelper.java:2015)
&&&&&&&&at&javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1162)
&&&&&&&&at&javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:808)
&&&&&&&&at&javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:701)
&&&&&&&&at&org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:365)
&&&&&&&&at&org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:394)
&&&&&&&&at&org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:291)
&&&&&&&&at&org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:258)
&&&&&&&&at&org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:73)
&&&&&&&&at&org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
&&&&&&&&at&org.apache.hadoop.hive.metastore.RawStoreProxy.&init&(RawStoreProxy.java:57)
&&&&&&&&at&org.apache.hadoop.hive.metastore.RawStoreProxy.getProxy(RawStoreProxy.java:66)
&&&&&&&&at&org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.newRawStore(HiveMetaStore.java:593)
&&&&&&&&at&org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:571)
&&&&&&&&at&org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:620)
&&&&&&&&at&org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:461)
&&&&&&&。。。
问题三:java代码中SparkConf设置的master,即你选择的spark模式。我这里使用yarn-client模式,如果写yarn-cluster是会报错的。
1.如果你想把spark代码直接嵌入你的web&app中,你需要使用yarn-client
2.如果你想让你的spark代码足够松散耦合到yarn-cluster模式可以实际使用,你可以另起一个python的子线程来调用spark-submit来执行yarn-cluster模式。
问题四: 需要增加三个配置文件:core-site.xml、hdfs-site.xml、hive-site.xml。不然启动java -jar命令会直接报错。
所以,正确的java调用spark执行hive sql的代码如下:
创建java工程,引入spark-assembly-1.6.0-hadoop2.6.0.jar包。这个包在spark的安装目录的lib目录下有,178M,真的很大。
java调用代码如下,我的代码以后会打包为spark.jar,存放目录为/data/houxm/spark/spark.jar:
package&cn.centaur.test.
import&org.apache.spark.SparkC
import&org.apache.spark.api.java.JavaSparkC
import&org.apache.spark.sql.hive.HiveC
public&class&SimpleDemo&{
&&&&public&static&void&main(String[]&args)&{
&&&& String[]&jars&=&new&String[]{"/data/houxm/spark/spark.jar"};
&&&&&&&&SparkConf&conf&=&new&SparkConf().setAppName("simpledemo").setMaster("yarn-client").set("executor-memory",&"2g").setJars(jars).set("driver-class-path",&"/data/spark/lib/mysql-connector-java-5.1.21.jar");
&&&&&&&&JavaSparkContext&sc&=&new&JavaSparkContext(conf);
&&&&&&&&HiveContext&hiveCtx&=&new&HiveContext(sc);
&&&&&&&&testHive(hiveCtx);
&&&&&&&&sc.stop();
&&&&&&&&sc.close();
&&&&//测试spark&sql查询hive上面的表
&&&&public&static&void&testHive(HiveContext&hiveCtx)&{
&&&&&&&&hiveCtx.sql("create&table&temp_spark_java&as&select&mobile,num&from&default.mobile_id_num02&limit&10");
在java项目的根目录新建MANIFEST.MF文件,代码如下:
Manifest-Version:&1.0
Class-Path:&/data/spark/lib/spark-assembly-1.6.0-hadoop2.6.0.jar
&&&/data/spark/lib/mysql-connector-java-5.1.21.jar
&&&/data/spark/lib/datanucleus-api-jdo-3.2.6.jar
&&&/data/spark/lib/datanucleus-core-3.2.10.jar
&&&/data/spark/lib/datanucleus-rdbms-3.2.9.jar
Main-Class:&cn.centaur.test.spark.SimpleDemo
在resources目录(我的是maven工程,普通java工程在src下加入文件即可)下加入core-site.xml、hdfs-site.xml、hive-site.xml三个配置文件。
使用eclipse,按照此manifest文件把java代码打包。生成jar文件,上传至服务器,即可运行。
人打赏支持
码字总数 27677
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥Spark搭建环境涉及的Linux命令_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Spark搭建环境涉及的Linux命令
来源:Linux社区&
作者:stark_summer
Spark搭建环境涉及的Linux命令(简单易用型)
从一台服务器负责内容到另一台服务器: scp jdk-6u37-linux-x64.bin& spark@10.126.45.56:/home/spark/opt
tar压缩和解压文件:& 压缩 tar -cvf& java.tar.gz java/& & & & &
解压:& tar -xvf java.tar.gz
配置java环境变量:
去各种地方下载 jdk程序包 :jdk-6u37-linux-x64.bin ,修改文件执行权限 :chmod a+x jdk-6u37-linux-x64.bin, 安装:./jdk-6u37-linux-x64.bin
编辑 vi ~/.bash_profile ,增加内容
# set& java envexport JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export PATH
保存并source& ~/.bash_profile
[spark@S1PA11 ~]$ ifconfig-bash: ifconfig: command not found& ---&& vi ~/.bashrc
在& 一般用户的& home 目录下的 文件 .bashrc 加入export PATH=$PATH:/sbin 然后执行source&
.bashrc& 就可以执行 ifconfig 命令了。
--------------------------------------分割线 --------------------------------------
Spark1.0.0部署指南
6.2(64位)下安装Spark0.8.0详细记录
Spark简介及其在下的安装使用
安装Spark集群(在CentOS上)
vs Spark性能对比
Spark安装与学习
Spark 并行计算模型
--------------------------------------分割线 --------------------------------------
Spark 的详细介绍:Spark 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (01月31日)
& (12/22/:56)
& (03月13日)
& (01月16日)
& (09/21/:10)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款在myeclipse中使用Java语言进行spark Standalone模式应用程序开发 - fuleying - 推酷
在myeclipse中使用Java语言进行spark Standalone模式应用程序开发 - fuleying
一.环境配置
Myeclipse中虽然已经集成了maven插件,但是由于这个插件版本较低,建立maven project会出现错误。
解决办法:自己到官网
下载最新版本的maven插件,解压,在环境变量中注册。
新建环境变量M2_HOME
在PATH里加入maven的bin的路径
配置完毕后,在Windows命令提示符下,输入mvn -v测试一下,配置成功显示如图:
配置成功后,还需要在Myeclipse中用新的maven插件将就得替换掉,如图:
二. Spark应用开发
1. 创建Maven Project
2. 编写Java源程序
/* SimpleApp.java */
import org.apache.spark.api.java.*;
import org.apache.spark.SparkC
import org.apache.spark.api.java.function.F
public class SimpleApp {
public static void main(String[] args) {
String logFile = &file:///spark-bin-0.9.1/README.md&;
SparkConf conf =new SparkConf().setAppName(&Spark Application in Java&);
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD&String& logData = sc.textFile(logFile).cache();
long numAs = logData.filter(new Function&String, Boolean&() {
public Boolean call(String s) { return s.contains(&a&); }
}).count();
long numBs = logData.filter(new Function&String, Boolean&() {
public Boolean call(String s) { return s.contains(&b&); }
}).count();
System.out.println(&Lines with a: & + numAs +&,lines with b: & + numBs);
3.&修改pom.xml添加依赖包
&project xmlns=&http://maven.apache.org/POM/4.0.0& xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xsi:schemaLocation=&http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&&
&modelVersion&4.0.0&/modelVersion&
&groupId&cn.cas.siat.dolphin&/groupId&
&artifactId&spark.SimpleApp&/artifactId&
&version&0.0.1-SNAPSHOT&/version&
&packaging&jar&/packaging&
&name&spark.SimpleApp&/name&
&url&http://maven.apache.org&/url&
&properties&
&project.build.sourceEncoding&UTF-8&/project.build.sourceEncoding&
&/properties&
&dependencies&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&version&3.8.1&/version&
&scope&test&/scope&
&/dependency&
&dependency&
&groupId&org.apache.spark&/groupId&
&artifactId&spark-core_2.10&/artifactId&
&version&1.0.2&/version&
&/dependency&
&/dependencies&
&/project&
4. 编译打包:
分别执行Maven clean 、 Maven install,这样再工程项目下的target目录中会生成项目的jar包,如下图:
&5.&运行Spark应用
上传编译好的jar包至spark集群client,执行以下命令运行程序
./spark-submit --class &foo.App& --master spark://172.21.5.235:7077 /home/hadoop121/Dolphin/Spark1.0.2/spark.SimpleApp-0.0.1-SNAPSHOT.jar
&6.执行结果
Web UI结果
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 oppor9网络差怎么办 的文章

 

随机推荐