更新时间:2024-06-14 GMT+08:00
在Windows中调测Hive JDBC应用
JDBC客户端的命令行形式运行
- 运行样例。
依照准备Hive JDBC开发环境中导入和修改样例后,并从集群的任一Master节点的路径“/opt/client/Hive/config/hiveclient.properties”下获取“hiveclient.properties”文件,并放置到样例工程的conf下,即“hive-examples/conf”,即可在开发环境中(例如Eclipse中),右击“ExampleMain.java”,单击“Run as > Java Application”运行对应的应用程序工程。
使用windows访问MRS集群来操作Hive,有如下两种方式。
- 申请一台windows的ECS访问MRS集群操作Hive,此种方式是通过连接zookeeper动态获取HiveServer的地址然后来操作Hive,具有高可用性。
- 使用本机访问MRS集群操作Hive,由于本机与MRS集群的网络不通,只能通过直连HiveServer的方式操作Hive。
方法一:申请一台windows的ECS访问MRS集群操作Hive。在安装开发环境后可直接运行样例代码。申请ECS访问MRS集群的步骤如下。方法二:使用本机访问MRS集群操作Hive。在安装开发环境后并完成以下步骤后再运行样例代码。
- 为MRS集群中要使用Hive服务的HiveServer节点或ZooKeeper节点绑定弹性公网IP,绑定弹性公网IP步骤如下。
- 修改导入的“hiveclient.properties”文件,使得“zk.quorum”参数对应于绑定的HiveServer的弹性公网IP及ZooKeeper端口,并修改样例代码中对连接JDBC时URL的拼接。详情请参见分析Hive数据中直连HiveServer的方式。
- 修改导入样例的krb5.conf中"kdc","admin_server",“kpasswd_server”,“kdc_listen”,“kadmind_listen”和“kpasswd_listen”六个参数的ip(单master的集群没有后面三个参数不必修改),使其对应于KrbServer服务中对应的弹性公网IP(由于普通集群未启用kerberos功能,可跳过此步骤)。并将修改后的krb5.conf和user.keytab文件放置到样例工程的conf目录下。
- 若通过ZooKeeper的方式访问Hive,需要修改本地hosts文件,添加1中为节点绑定的公网IP和主机名的映射。
- 若运行报“Message stream modified (41)”的错误,这可能与JDK的版本有关系,可以尝试修改运行样例代码的JDK为8u_242以下版本或删除“krb5.conf”配置文件的“renew_lifetime = 0m”配置项。
- 查看结果。
查看样例代码中的HiveQL所查询出的结果,运行成功结果会有如下信息。
JDBC客户端运行及结果查看。
Create table success! _c0 0 Delete table success!
父主题: 调测Hive应用