zoukankan      html  css  js  c++  java
  • Spark学习笔记——在远程机器中运行WordCount

    1.通过realy机器登录relay-shell

    ssh XXX@XXX
    

    2.登录了跳板机之后,连接可以用的机器

    XXXX.bj
    

    3.在本地的idea生成好程序的jar包(word-count_2.11-1.0.jar)之后,把jar包需要put到远程机器的hdfs文件系统中的文件通过scp命令从开发机传到远程的机器中

    scp 开发机用户名@开发机ip地址:/home/XXXXX/文件 .    #最后一个.表示cd的根目录下
    
    object WordCount {
      def main(args: Array[String]) {
    //    val inputFile =  "file:///home/mi/coding/coding/Scala/word-count/input/README.txt"
    //    val inputFile =  "file://README.txt"
        val inputFile =  "/user/XXXX/lintong/README.txt"
        val conf = new SparkConf().setAppName("WordCount").setMaster("yarn-client")
        val sc = new SparkContext(conf)
        val textFile = sc.textFile(inputFile)
        val wordCount = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)
    //    wordCount.foreach(println)
    //    wordCount.saveAsTextFile("file:///home/mi/coding/coding/Scala/word-count/output/READMEOUT.txt")
        wordCount.saveAsTextFile("/user/XXXX/lintong/READMEOUT.txt")
      }
    }
    

    4.通过put命令将远程机器中的txt文件,传到远程机器的hdfs文件系统

    hadoop fs -put /homeXXX/文件名 ./lintong    #.注意.的目录地址是用户的根目录
    

    5.这时可以使用下面命令查看文件

    hadoop fs -ls ./lintong
    

    6.接下来写shell脚本,来运行spark-submit命令写完shell脚本只要运行shell脚本就行,shell脚本的目录和jar包的目录保持一致

    yarn-client 调试模式

    yarn-cluster 生产模式

    spark-submit --cluster XXXXX 
        --master yarn-client 
        --num-executors 3 
        --class "包名.类名" 
        --queue XXXXX 
        word-count_2.11-1.0.jar
    

    7.最后在hdfs文件系统中查看生成的文件,注意

    wordCount.saveAsTextFile("/user/XXXX/lintong/READMEOUT.txt")
    

     会是一个READMEOUT.txt目录,这个目录下面有part文件

    hadoop fs -ls ./lintong/READMEOUT.txt
    

     输出

    lintong/READMEOUT.txt/_SUCCESS
    lintong/READMEOUT.txt/part-00000
    
  • 相关阅读:
    django的用户认证模块(auth)
    算法
    图书管理系统
    mac系统中pycharm激活
    mac常见问题
    mysql安装
    restful规范及DRF基础
    MySQL存储引擎
    [python] with statement
    MySQL索引及执行计划
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/6670360.html
Copyright © 2011-2022 走看看