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.用户名密码
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.confJaas文件路径: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; }; 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, 如图 在弹出对话框中的参数配置如下图 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页,配置连接信息,如图
|