美文网首页
【2019-07-17】jh使用spark on hbase获取

【2019-07-17】jh使用spark on hbase获取

作者: 学师大术 | 来源:发表于2019-07-17 10:02 被阅读0次

    版本

    70版本 Spark2.1

    问题描述

    使用spark on hbase特性时候,开启spark.yarn.security.credentials.hbase.enabled=true,无法成功获取到hbase的token,导致访问hbase时候提示token失效。

    分析过程

    1.首先验证客户端是否正确。客户反馈客户端是重新安装的
    2.检查客户端与集群时间差不要过大。
    3.检查dns,保证没有dns。

    cat /etc/resolv.conf
    

    4.检查使用提交任务用户是否具备hbase和zookeeper。这里的客户端路径为 /opt/hadoopclient/
    ,实际环境根据情况更改

    //加载客户端环境变量
    source /opt/hadoopclient/bigdata_env
    //1.认证用户zzl,zzl根据你的提交任务更改
    kinit zzl
    //2.测试能正常访问hbase,进入hbase shell
    hbase shell
    list
    quit
    //3.测试正常连接zookeeper,ip换成实际的业务ip
    zkCli.sh -server ip:24002
    ls /
    quit
    

    5.验证提交的token获取情况

    //确定使用的是spark2x的客户端
    source /opt/hadoopclient/Spark2x/component_env
    which spark-submit
    //修改客户端的日志级别
    vi /opt/hadoopclient/Spark2x/spark/conf/log4j-executor.properties
    //将log4j.rootCategory修改成
    log4j.rootCategory = DEBUG,sparklog
    //提交spark2x任务, /opt/user.keytab是你的keytab路径,zzl是你的用户名,/opt/hadoopclient/是客户端路径
    spark-submit --class org.apache.spark.examples.SparkPi  --master yarn --deploy-mode cluster --keytab /opt/user.keytab --principal zzl --conf spark.yarn.security.credentials.hbase.enabled=true /opt/hadoopclient/Spark2x/spark/examples/jars/spark-examples_2.11-2.1.0.jar 10000
    //提交一个mr
    yarn jar /opt/client/HDFS/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 2 1
    

    分析token运行日志,在客户端使用命令

    hdfs dfs -get /tmp/logs/*/logs/application_1563158517282_0040 .
    //验证token获取情况,正常情况:
    grep "Attempting to fetch HBase security token" * -a
    grep "Get token from HBase:" * -a
    grep "Failed to get token from service" * -a
    只要前两个有内容,就说明客户端正常。
    

    结论

    最后发现是权限问题,导致用户获取token失败。

    相关文章

      网友评论

          本文标题:【2019-07-17】jh使用spark on hbase获取

          本文链接:https://www.haomeiwen.com/subject/rvmflctx.html