• hue 集成spark+livy


    hue 集成spark+livy

    一.先决条件

     安装hue、hadoop。

    二.spark on yarn 安装

    1.添加环境变量 vim /etc/profile

    SCALA_HOME=/opt/scala
    SPARK_HOME=/opt/spark

    2.配置spark; vim conf/spark-env.sh

    #服务器域名
    SPARK_LOCAL_IP=node7
    #master 地址
    SPARK_MASTER_HOST=node7
    #master 端口
    SPARK_MASTER_PORT=7077
    #spark ui 端口
    SPARK_MASTER_WEBUI_PORT=8080
    #hadoop 配置目录
    export HADOOP_CONF_DIR=/opt/hadoop-2.7.4/etc/hadoop/

    3.配置spark ;vim conf/spark-defaults.conf

    #spark 依赖的jar包
    spark.yarn.jars=hdfs://node7:9010/user/sparkJars/jars/*
    hdfs://node7:9010/user/sparkJars/jars/* 该路径的由来:
    1. 找到spark程序目录的jars目录,如下图:

    2.将该路径的jars包上传到hdfs的目录 (本例子中的hdfs路径是:/user/sparkJars/jars)

    注:如果不配置该路径,那么每次提交spark 程序时就会上传jars包,这样会影响提交程序的效率,同时会占用hdfs的磁盘空间。

    4.测试部署

    使用spark-shell打开scala客户端。

    ./bin/spark-shell --master yarn --deploy-mode client

    如果yarn 后台上面出现下图的记录,则表示部署成功。

    三.安装livy

    1. 下载livy 安装包

    下载地址:http://livy.incubator.apache.org/download/

    2.设置环境变量

    vim /etc/profile

    #spark程序目录
    export SPARK_HOME=/opt/spark #hadoop 配置目录 export HADOOP_CONF_DIR=/opt/hadoop-2.7.4/etc/hadoop/

    再执行source profile命令,让环境变量生效

    3.解压zip包

    unzip livy-0.5.0-incubating-bin.zip
    mv
    livy-0.5.0-incubating-bin.zip livy-0.5.0

    4.配置livy

    vi livy.conf

    #livy服务端口
    livy.server.port = 8998
    
    #spark程序部署使用yarn集群
    livy.spark.master = yarn
    
    #spark 程序使用客户端模式
    livy.spark.deploy-mode =client

    四.配置hue

    1.配置hue.ini 

    vim hue.ini

    [spark]
      # livy 服务器域名
      livy_server_host=node8
    
      # livy 服务器端口
      ## livy_server_port=8998
    
      # Configure Livy to start in local 'process' mode, or 'yarn' workers.
      livy_server_session_kind=yarn

     五.验证配置是否正确

    1.登录hue后台,打开scala编辑页,执行以下scala代码

    var counter = 0
    val data = Array(1, 2, 3, 4, 5)
    var rdd = sc.parallelize(data)
    
    // Wrong: Don't do this!!
    rdd.map(x=>x+1).collect()

    出现如下结果,则证明集成成功。

    六.可能出现的问题

     1. 在执行spark on yarn部署阶段,执行“spark-shell --master yarn --deploy-mode client” 命令,出现异常:spark on yarn Another instance of Derby may have already booted the database

    则执行ps -ef |grep spark-shell ,找到进程号,执行 命令:“kill -9 进程号”,杀死spark-shell进程,再次执行“spark-shell --master yarn --deploy-mode client” 就解决了。

     2.再执行spark on yarn部署阶段,执行“spark-shell --master yarn --deploy-mode client” 命令,出现:Spark on yarn Container beyond virtual memory limits

    解决方法:修改hadoop 的yarn-site.xml ,新增如下配置

    <property>
            <name>yarn.nodemanager.vmem-check-enabled</name>
            <value>false</value>
    </property>
  • 相关阅读:
    洛谷 P1284 三角形牧场WD
    luogu P3817 小A的糖果
    P3374 【模板】树状数组 1
    线程与threading模块
    socketserver模块
    python 粘包问题及解决方法
    python 网络编程
    类的进阶四 反射和内置方法
    python hashlib模块 logging模块 subprocess模块
    类的进阶三
  • 原文地址:https://www.cnblogs.com/chengjunhao/p/9067666.html
Copyright © 2020-2023  润新知