zoukankan      html  css  js  c++  java
  • spark-3.1.1-bin-hadoop2.7安装配置

    下载

     wget https://mirrors.bfsu.edu.cn/apache/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz

    解压

    tar -vxf spark-3.1.1-bin-hadoop2.7.tgz -C /opt/module/

    配置文件改名

    cp spark-env.sh.template spark-env.sh

    cp workers.template workers

    修改配置表

    [datalink@slave3 conf]$ vim spark-env.sh

    export JAVA_HOME=/usr/java/jdk1.8.0_131
    export HADOOP_HOME=/opt/module/hadoop-3.1.4
    export SCALA_HOME=/opt/module/scala-2.12.13
    export HADOOP_CONF_DIR=/opt/module/hadoop-3.1.4/etc/hadoop
    export SPARK_MASTER_HOST=slave2
    export SPARK_EXECUTOR_MEMORY=1G
    export SPARK_WORKER_CORES=2
    export SPARK_WORKER_INSTANCES=1
    export SPARK_WORKER_PORT=7078
    export SPARK_MASTER_PORT=7077

    [datalink@slave3 conf]$ vim workers

    slave1
    slave3
    slave4

    修改启动脚本名称

    [datalink@slave3 sbin]$ cp start-all.sh start-spark-all.sh 

    [datalink@slave3 sbin]$ cp stop-all.sh stop-spark-all.sh 

    分发到其他服务器

    scp -r spark-3.1.1-bin-hadoop2.7/ datalink@slave2:/opt/module/
    scp -r spark-3.1.1-bin-hadoop2.7/ datalink@slave1:/opt/module/
    scp -r spark-3.1.1-bin-hadoop2.7/ datalink@slave2:/opt/module/
    scp -r spark-3.1.1-bin-hadoop2.7/ datalink@slave4:/opt/module/

    启动

    [datalink@slave2 sbin]$ ./start-spark-all.sh
    starting org.apache.spark.deploy.master.Master, logging to /opt/module/spark-3.1.1-bin-hadoop2.7/logs/spark-datalink-org.apache.spark.deploy.master.Master-1-slave2.out
    slave4: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-3.1.1-bin-hadoop2.7/logs/spark-datalink-org.apache.spark.deploy.worker.Worker-1-slave4.out
    slave3: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-3.1.1-bin-hadoop2.7/logs/spark-datalink-org.apache.spark.deploy.worker.Worker-1-slave3.out
    slave1: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-3.1.1-bin-hadoop2.7/logs/spark-datalink-org.apache.spark.deploy.worker.Worker-1-slave1.out
    [datalink@slave2 sbin]$

     sparksql整合hive

       Spark SQL主要目的是使得用户可以在Spark上使用SQL,其数据源既可以是RDD,也可以是外部的数据源(比如文本、Hive、Json等)。Spark SQL的其中一个分支就是Spark on Hive,也就是使用Hive中HQL的解析、逻辑执行计划翻译、执行计划优化等逻辑,可以近似认为仅将物理执行计划从MR作业替换成了Spark作业。SparkSql整合hive就是获取hive表中的元数据信息,然后通过SparkSql来操作数据。

    将hive-site.xml文件拷贝到Spark的conf目录下,这样就可以通过这个配置文件找到Hive的元数据以及数据存放位置。

    [datalink@slave3 conf]$ cp hive-site.xml /opt/module/spark-3.1.1-bin-hadoop2.7/conf/

    如果Hive的元数据存放在Mysql中,我们还需要准备好Mysql相关驱动

    [datalink@slave3 module]$ cp mysql-connector-java-8.0.23.jar /opt/module/spark-3.1.1-bin-hadoop2.7/jars/

    测试sparksql整合hive是否成功

     [datalink@slave2 bin]$ ./spark-sql  --master spark://slave2:7077  --executor-memory 1g  --total-executor-cores 4

    .....................

    spark-sql (default)> show databases;
    namespace
    default
    testdb
    zqgamedb
    Time taken: 3.768 seconds, Fetched 3 row(s)

    sparksql与hive 对比,差距明显:

    spark-sql (default)> select count(1) from fact_login;
    count(1)
    8529410
    Time taken: 1.798 seconds, Fetched 1 row(s)

    hive (zqgamedb)> select count(1) from fact_login;

    ...........................

    8529410
    Time taken: 46.151 seconds, Fetched: 1 row(s)

  • 相关阅读:
    小端字节序与大端字节序
    V8引擎的垃圾回收策略
    TTL 和 DNS TTL 的区别
    详解 undefined 与 null 的区别
    Node.js 事件循环机制
    requestAnimationFrame 知多少?
    Web前端知识体系精简
    Vue.js 和 MVVM 小细节
    使用 Node.js 搭建 Web 服务器
    H5单页面手势滑屏切换原理
  • 原文地址:https://www.cnblogs.com/playforever/p/14708915.html
Copyright © 2011-2022 走看看