使用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 null\bin\winutils.exe in Hadoop binaries.
2.2 java.io.IOException:HADOOP_HOME or hadoop.home.dir are not set
解决方案:设置路径,具体如图

注意事项:
1)路径是自定义的;
2)在该路径下新建bin文件夹(如:D:\hadoop\bin),然后上网找到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包的依赖。
待续............
使用Java连接HBASE过程中问题总结的更多相关文章
- docker 安装 hbase安装 java连接hbase (mac环境)
docker 安装 https://hub.docker.com/editions/community/docker-ce-desktop-mac 下载地址 下载完之后,安装app一样安装就好 安装完 ...
- Java实例化对象过程中的内存分配
Java实例化对象过程中的内存分配: https://blog.csdn.net/qq_36934826/article/details/82685791 问题引入这里先定义一个很不标准的“书”类,这 ...
- 解决 java 使用ssl过程中出现"PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"
今天,封装HttpClient使用ssl时报一下错误: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExc ...
- Sqoop import加载HBase过程中,遇到Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
在执行hbase sqoop抽取的时候,遇到了一个错误,如下图: 在执行程序的过程中,遇到权限问题很正常,也容易让人防不胜防,有问题就想办法解决,这个是关键. 解决办法如下: 第一步:su hdfs, ...
- Java 程序运行过程中的内存分析
作为 java 程序员,都应该知道 Java 程序运行在 JVM(Java Virtual Machine,Java 虚拟机)上,可以把 JVM 理解成 Java 程序和操作系统之间的桥梁,JVM 实 ...
- java连接hbase时出现....is accessible from more than one module:
今天在用java程序连接hbase时,出现错误,The package org.apache.hadoop.hbase is accessible from more than one module: ...
- Java连接Hbase异常
Exception in thread "main" org.apache.hadoop.hbase.client.RetriesExhaustedException: Faile ...
- Java收发邮件过程中具体的功能是怎么实现的
SMTP协议 用户连上邮件服务器后,要想给它发送一封电子邮件,需要遵循一定的通迅规则,SMTP协议就是用于定义这种通讯规则的. 因而,通常我们也把处理用户smtp请求(邮件发送请求)的邮件服务器称之为 ...
- 问题总结:mysql和javaweb工程连接的过程中容易产生的问题
问题背景:自己在本机的mysql8瘫痪了,将Oracle中的数据迁移到mysql之后,配置好javaweb工程和虚拟机上的远程Mysql连接的文件之后:遇见了无法访问的问题 具体的配置: dataso ...
随机推荐
- [工具]chrome添加crx扩展程序(附禁止复制破解扩展)
Hello亲爱的观众朋友们大家好,我是09. 今天带来墙内用户安装chrome插件的方法. 1.打开扩展程序 2.把crx往里拖,欧了. ps.顺带安利chrome禁止复制破解扩展Enable Cop ...
- Netty源码分析第1章(Netty启动流程)---->第4节: 注册多路复用
Netty源码分析第一章:Netty启动流程 第四节:注册多路复用 回顾下以上的小节, 我们知道了channel的的创建和初始化过程, 那么channel是如何注册到selector中的呢?我们继 ...
- 页码插入JS脚本
(function() { var obj = document.createElement("script"); obj.type = "text/javascript ...
- 查看linux端口对应的进程id
例如:查看占用4040端口的进程 ss -lptn 'sport = :4040'
- 编译Android VNC Server
1,在如下地址checkout源代码,我checkout的版本为0.9.7http://code.google.com/p/android-vnc-server/source/checkout 2,在 ...
- nodejs的Cannot find module 'body-parser'
http://blog.csdn.net/u014345860/article/details/77769253
- 20162328蔡文琛 大二week07
20162328 2017-2018-1 <程序设计与数据结构>第7周学习总结 教材学习内容总结 树是非线性结构,其元素组织为一个层次结构. 树的度表示树种任意节点的最大子节点数. 有m个 ...
- Linux 下Web环境搭建————redis
1.安装编译工具(yum -y install make gcc gcc-c++ ncurses-devel)2 2.安装tcl依赖 yum -y install tcl 3.上传redis安装包并解 ...
- 数据库,总结,新技能get
上来先粘代码吧,这篇本来就不是用来让你们看的,我就是单纯的记录下,嗯~对,总结!!! 首先:first //绑定年份 YearSearch.Items.Clear(); for (int i = Da ...
- 关于rand()函数 转载于其他人
C++中的rand()函数 分类: 编程语言/ C#/ 文章 C++中产生随机数种子对于初学者一直都很困惑.大家知道,在C中有专门的srand(N)函数可以轻松实现这一功能,然而在C++中则要复杂一些 ...