我为Apache Spark 1.2.1独立群集完成了以下配置:
我在独立集群管理器中运行Spark作为:
./spark-submit --class com.b2b.processor.ProcessSampleJSONFileUpdate \
--conf num-executors=2 \
--executor-memory 2g \
--driver-memory 3g \
--deploy-mode cluster \
--supervise \
--master spark://abc.xyz.net:7077 \
hdfs://abc:9000/b2b/b2bloader-1.0.jar ds6_2000/*.json
Run Code Online (Sandbox Code Playgroud)
我的工作是成功执行,即从文件中读取数据并将其插入Cassandra.
Spark文档说,在独立群集中使用所有可用内核,但我的群集每个应用程序仅使用1个内核.此外,在Spark UI上启动应用程序后,它显示Applications:0 running和Drivers:1 running.
我的查询是:
代码:
public static void main(String[] args) throws Exception {
String fileName = args[0];
System.out.println("----->Filename : "+fileName);
Long now = new Date().getTime();
SparkConf conf = new SparkConf(true)
.setMaster("local")
.setAppName("JavaSparkSQL_" +now)
.set("spark.executor.memory", "1g")
.set("spark.cassandra.connection.host", "192.168.1.65")
.set("spark.cassandra.connection.native.port", "9042")
.set("spark.cassandra.connection.rpc.port", "9160");
JavaSparkContext ctx = new JavaSparkContext(conf);
JavaRDD<String> input = ctx.textFile("hdfs://abc.xyz.net:9000/dataLoad/resources/" + fileName,6);
JavaRDD<DataInput> result = input.mapPartitions(new ParseJson()).filter(new FilterLogic());
System.out.print("Count --> "+result.count());
System.out.println(StringUtils.join(result.collect(), ","));
javaFunctions(result).writerBuilder("ks","pt_DataInput",mapToRow(DataInput.class)).saveToCassandra();
}
Run Code Online (Sandbox Code Playgroud)
如果您将应用中的主人设置为本地(通过.setMaster("local")),则无法连接到spark://abc.xyz.net:7077.
如果使用该spark-submit命令进行设置,则无需在应用程序中设置主控.
| 归档时间: |
|
| 查看次数: |
3191 次 |
| 最近记录: |