找文章 / 找答案
精选问答 更多内容

<永洪tech>永洪连接Hbase

Kevinli青铜一 显示全部楼层 发表于 2018-6-21 17:21:49 |阅读模式 打印 上一主题 下一主题
1.URL
   1.   单节点Hbase.
无Kerberos认证:
jdbc:phoenix:thin:url=http://<host>:<port>;serialization=PROTOBUF
开启Kerberos认证: jdbc:phoenix:thin:url=http://<host>:<port>;serialization=PROTOBUF;principal=<Server_Principal>
2.   Hbase集群.
无Kerberos认证:
jdbc:phoenix:thin:url=http://<host1>:<port1>,<host2>:<port2>;serialization=PROTOBUF

开启Kerberos认证: jdbc:phoenix:thin:url=http://<host>:<port>;serialization=PROTOBUF;principal=<Server_Principal>
Hbase集群启动Zookeeper.
无Kerberos认证:
jdbc:phoenix:thin:url=http://<zkQuorum>;serialization=PROTOBUF
开启Kerberos认证:
jdbc:phoenix:thin:url=http://<zkQuorum>;serialization=PROTOBUF;principal=<Server_Principal_of_HiveServer2>
<Server_Principal_of_HiveServer2>这里的principal是固定不变的, 指的是服务所对应的principal,而不是用户所对应的principal, 比如phoenix@EXAMPLE.COM;
<zkQuorum>是Zookeeper管理的Hbase集群中的各个节点,一般其中的值为"xxx.xxx.xxx:24002,xxx.xxx.xxx:24002,xxx.xxx.xxx:24002". 其中的"xxx.xxx.xxx"为集群中Zookeeper所在节点的IP,端口默认是24002
2.用户名密码 0.png
3.用户:  用户所对应的Kerberos Principal Name.
密钥文件路径:KeyTab文件的路径. 比如  /opt/xxx/user.keytab
Krb5文件路径:Krb5.conf文件的路径. 比如  /opt/xxx/krb5.conf.Windows环境下面名字需要改成Krb5.ini.
***Krb5文件一般会放到一个默认的地方, 这样就不需要去配置该项. 如果客户不提供这个文件, 可能他们已经在默认位置放了这个文件. 一般来说, Windows的默认位置是C:\Windows\Krb5.ini或者C:\winnt\Krb5.ini, Linux的默认位置/etc/Krb5.conf或者 /etc/krb5/krb5.conf
Jaas文件路径:Jaas文件的路径. 比如 /opt/xxx/jaas.conf. 该配置文件一般是用于Zookeeper安全认证的. 具体信息如下:
               Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="D:\\workspace\\jdbc-examples\\conf\\user.keytab"
principal="xxx@HADOOP.COM"
useTicketCache=false
3.出错排查1 排查驱动问题和URL端口是否可以ping.
如第一点驱动里面所说的信息, 一般需要明确客户数据库的版本和驱动版本.如果客户所使用的产品是7.5.2之前, 需要将jdbcDriver整理成7.5.2中的样子. 同时还需要将setClassPath文件中的setClasspath改成7.5.2中样子.
查看url指定的ip和端口是否可以ping通.
2排查kerberos问题.
如果客户使用了kerberos认证, 需要确认以下几点问题.
1, 各个服务器, 即永洪服务器与数据库服务器时间是否相差5分钟之内. 这个值也是客户可以调整的, 需要和客户确认好, 如果客户不清楚, 最好设置时间一致.
2, 永洪服务器上是否安装了kerberos客户端, 执行kinit命令.
kinit –k -t /opt/xx/user.keytabuser.principal
   如果不报错,并且执行klist可以看到类似如下的信息,就说明kinit成功.

storeKey=true
debug=true;
               };
1.png
3, krb5.conf文件中有kdc, admin_server和default_domain三项配置,  这三项也是Ip端口形式的值, 都是必须要ping通的.
3第三方工具SQuirrel SQL排查.
***如果客户启动的是kerberos环境, 第三方工具使用的先决条件是先执行kinit命令成功, klist可以看到kerberos认证信息才可以.
SQuirrel SQL
***该工具需要基于JDK, 使用前需要先确保安装了JDK, 目前最新的3.8.1的Squirrel需要至少1.8版本的JDK.

1.    运行SQuirrelSql Client 程序,增加 Hbasedriver, 如图
2.png
在弹出对话框中的参数配置如下图
3.png
Example URL:jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF
Class Name:org.apache.phoenix.queryserver.client.Driver
Extra Class Path:同产品的setClassPath,把产品驱动下面的hadoop、hbase文件夹中的驱动都选中.

1.    安装完驱动后,切换至上面的Aliases页,配置连接信息,如图
4.png



回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部