• 使用Java连接HBASE过程中问题总结


    本文是我个人在连接服务器的HBASE过程的一些问题总结。


    一、用户和主机名的设置

      1.1 报错:Insufficient permissions(user=Administartor)

      原因:本地hostname为Administrator,而HBASE表的用户没有这个用户,所以报错。

      措施:设置电脑的环境变量,步骤如下:

      1)右击我的电脑->属性->高级系统;

      2)新增变量名HADOOP_USER_NAME,值为mr(HBASE表的用户名

      如图:

     

      1.2 hosts文件设置

      提示:WARN RecoverableZooKeeper:146 - Unable to create ZooKeeper Connection

      原因:是无法读取配置文件中主机名,可以通过ping IP地址和主机名验证

      在本机的hosts文件设置IP与主机名的映射,如10.23.231.5 mr。

      【问题延伸

      一般经过上述配置后,就可以在cmd的小黑框里ping通IP和主机名(最好两者都试一下),可能出现,能ping通IP地址但是ping不同主机名的情况,代码里可能报错信息为,unkown hostname。

      这种情况可能是所配置的主机名没有生效,解决办法,如图所示:

    注意事项:

    1)选择正在使用的网络,单击右键选择属性

    2)最后导入的是修改后的hosts文件;

     二、本地连接服务器HBASE导致的相关错误

      2.1 ERROR Shell:400 - Failed to locate the winutils binary in the hadoop binary path java.io.IOException:Could not locate executable nullinwinutils.exe in Hadoop binaries.

      2.2 java.io.IOException:HADOOP_HOME or hadoop.home.dir are not set

    解决方案:设置路径,具体如图

    注意事项:

    1)路径是自定义的;

    2)在该路径下新建bin文件夹(如:D:hadoopin),然后上网找到winutils.exe放在bin目录中;

    3)重启电脑,再次编译即可

    三、运行报类找到不到(Hadoop 2.7.3,HBase 1.2.0)

      3.1 运行的时候说找不到org.apache.hadoop.tracing.SpanReceiverHost的类

      原因:依赖的jar没有,

      解决方案:添加hadoop-common-*.jar(对应的版本),最好的是在maven中添加对此jar的依赖。

       3.2 报:Caused by:java.lang.ClassNotFoundException:org.apache.hadoop.fs.FsTracer

      原因:缺jar包

      解决方案:增加对hadoop-hdfs包的依赖。

    待续............

  • 相关阅读:
    OCP-1Z0-053-V12.02-315题
    OCP-1Z0-053-V12.02-272题
    OCP-1Z0-053-V12.02-152题
    OCP-1Z0-053-V12.02-78题
    OCP-1Z0-053-V12.02-593题
    OCP-1Z0-053-V12.02-505题
    JavaScript中字符串和数字
    OCP-1Z0-053-V12.02-360题
    OCP-1Z0-053-V12.02-213题
    OCP-1Z0-053-V12.02-598题
  • 原文地址:https://www.cnblogs.com/love-yh/p/9966307.html
Copyright © 2020-2023  润新知