成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

IntelliJ IDEA Windows下Spark開發(fā)環(huán)境部署

DevWiki / 1141人閱讀

摘要:運(yùn)行數(shù)據(jù)準(zhǔn)備隨便準(zhǔn)備一個(gè)文檔格式不限,上傳到上。解決因?yàn)樵瓉硎怯玫陌姹緸橄鄳?yīng)的依賴包官網(wǎng)已經(jīng)不再支持,所以更新的平臺(tái)的環(huán)境為,相應(yīng)的文檔很少,更改版本為。星期六星期一由為知筆記遷移到。

0x01 環(huán)境說明

博客地址:http://www.cnblogs.com/ning-wang/p/7359977.html

1.1 本地

OS: windows 10
jdk: jdk1.8.0_121
scala: scala-2.11.11
IDE: IntelliJ IDEA ULTIMATE 2017.2.1

1.2 服務(wù)器

OS: CentOS_6.5_x64
jdk: jdk1.8.111
hadoop: hadoop-2.6.5
spark: spark-1.6.3-bin-hadoop2.6
scala: scala-2.11.11

0x02 windows端配置 2.1 安裝jdk

配置環(huán)境變量

JAVA_HOME
CLASSPATH
Path
2.2 配置hosts 2.2.1 文件位置

C:WindowsSystem32driversetc

2.2.2 新增內(nèi)容

和集群的hosts文件內(nèi)容一樣

192.168.1.100    master
192.168.1.101    slave1
192.168.1.102    slave2
2.2.3 安裝IntelliJ IDEA

注意插件安裝Maven

2.2.4 IDEA中安裝scala插件

0x03 服務(wù)器端配置 3.1 安裝jdk 3.2 安裝hadoop

配置遠(yuǎn)程訪問權(quán)限

3.3 安裝spark 0x04 測試 4.1 新建maven項(xiàng)目

4.2 添加依賴包

File -> Project Structure -> Libraries添加spark-assembly-1.6.3-hadoop2.6.0.jar(位置在服務(wù)器端spark/lib/下)

4.3 新建ConnectionUtil類

srcmainjava目錄下新建javaConnectionUtil

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;

public class ConnectionUtil {

    public static final String master = "spark://master:7077";

    public static void main(String[] args) {

        SparkConf sparkConf = new SparkConf().setAppName("demo").setMaster(master);
        JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf);
        System.out.println(javaSparkContext);
        javaSparkContext.stop();
  }
}
4.4 編譯運(yùn)行

如果出現(xiàn)上圖結(jié)果則證明,運(yùn)行正確。

4.5 運(yùn)行JavaWordCount 4.5.1 數(shù)據(jù)準(zhǔn)備

隨便準(zhǔn)備一個(gè)文檔格式不限,上傳到hdfs上。

$ vim wordcount.txt
hello Tom
hello Jack
hello Ning
# 上傳文件
$ hadoop fs -put wordcount.txt /user/hadoop/
# 查看文件是否上傳成功
$ hadoop fs -ls /user/hadoop/
4.5.2 代碼

spark安裝包中的example,指定了jar包和輸入文件的路徑。

import scala.Tuple2;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.api.java.function.Function2;
import org.apache.spark.api.java.function.PairFunction;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
public final class JavaWordCount {
    private static final Pattern SPACE = Pattern.compile(" ");
 public static void main(String[] args) throws Exception {
//      if (args.length < 1) {
//        System.err.println("Usage: JavaWordCount ");
//        System.exit(1);
//      }
  SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount")
            .setMaster("spark://master:7077")
            .set("spark.executor.memory", "512M");
  JavaSparkContext ctx = new JavaSparkContext(sparkConf);
  ctx.addJar("D:workspacesparkJavaWordCount.jar");
  String path = "hdfs://master:9000/user/hadoop/wordcount.txt";
  JavaRDD lines = ctx.textFile(path);
  JavaRDD words = lines.flatMap(new FlatMapFunction() {
      @Override
  public Iterable call(String s) {
        return Arrays.asList(SPACE.split(s));
  }
    });
  JavaPairRDD ones = words.mapToPair(new PairFunction() {
        @Override
  public Tuple2 call(String s) {
            return new Tuple2(s, 1);
  }
    });
  JavaPairRDD counts = ones.reduceByKey(new Function2() {
        @Override
  public Integer call(Integer i1, Integer i2) {
            return i1 + i2;
  }
    });
  List> output = counts.collect();
 for (Tuple2 tuple : output) {
        System.out.println(tuple._1() + ": " + tuple._2());
  }
    ctx.stop();
  }
}
4.5.3 打包

非常重要,否則運(yùn)行會(huì)出現(xiàn)各種錯(cuò)誤,甚至無法運(yùn)行
File -> Project Structure ->Artifacts點(diǎn)擊綠色“+”,Add-->JAR-->From Modules with Dependencies

輸入main class入口函數(shù)名,將Output Layout下所有jar包刪掉(因?yàn)閟park運(yùn)行環(huán)境已經(jīng)包含了這些包),如果已經(jīng)存在META-INF要先將這個(gè)文件夾刪除。然后Apply,OK
編譯程序:Build-->Build Artifacts...,然后選擇要編譯的項(xiàng)目進(jìn)行編譯

在當(dāng)前工程生成的out目錄下就可以找到輸出的jar包,放到程序中指定的位置(就是addJar()方法中所設(shè)置的路徑)

4.5.4 運(yùn)行程序

0x05 出現(xiàn)的問題 5.1 找不到scala.Cloneable的類文件

問題描述:java: 無法訪問scala.Cloneable 找不到scala.Cloneable的類文件
原因:原來使用的是spark-2.1.0-bin-hadoop2.4沒有spark-assembly-1.6.3-hadoop2.6.0.jar依賴包所致。
解決:因?yàn)樵瓉硎怯玫膆adoop版本為2.5.2相應(yīng)的依賴包官網(wǎng)已經(jīng)不再支持,所以更新的平臺(tái)的hadoop環(huán)境為2.6.5,spark 2.X相應(yīng)的文檔很少,更改版本為1.6.3。

Create: 2017-08-12 10:33:55 星期六
Update: 2017-08-14 20:10:47 星期一
update: 2017.10.17
由為知筆記遷移到SF。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67790.html

相關(guān)文章

  • WindowsIntelliJ IDEA配置Gradle、Spring MVC

    摘要:最近研究了一下,正好把配置的一些東西記錄下來安裝這里假設(shè)你已經(jīng)學(xué)會(huì)了安裝如果沒有安裝請先參閱其他教程安裝。去下載,可能會(huì)比較慢。安裝完成后,打開壓縮包,解壓到指定的文件夾,然后設(shè)置環(huán)境變量。如果設(shè)置正確,在目錄中輸入正好跳轉(zhuǎn)到你安裝的目錄。 最近研究了一下java,正好把配置的一些東西記錄下來 安裝Gradle這里假設(shè)你已經(jīng)學(xué)會(huì)了安裝Java,如果沒有安裝Java,請先參閱其他教程安裝...

    lsxiao 評(píng)論0 收藏0
  • WindowsIntelliJ IDEA配置Gradle、Spring MVC

    摘要:最近研究了一下,正好把配置的一些東西記錄下來安裝這里假設(shè)你已經(jīng)學(xué)會(huì)了安裝如果沒有安裝請先參閱其他教程安裝。去下載,可能會(huì)比較慢。安裝完成后,打開壓縮包,解壓到指定的文件夾,然后設(shè)置環(huán)境變量。如果設(shè)置正確,在目錄中輸入正好跳轉(zhuǎn)到你安裝的目錄。 最近研究了一下java,正好把配置的一些東西記錄下來 安裝Gradle這里假設(shè)你已經(jīng)學(xué)會(huì)了安裝Java,如果沒有安裝Java,請先參閱其他教程安裝...

    lakeside 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<