这里实现的 Thrift JDBC/ODBC server 对应于 Hive 1.2.1 版本中的 HiveServer2。你可以使用 Spark 或者 Hive 1.2.1 自带的 beeline 脚本来测试这个 JDBC server。
要启动 JDBC/ODBC server, 需要在 Spark 安装目录下运行如下命令 :
./sbin/start-thriftserver.sh
这个脚本能接受所有 bin/spark-submit 命令行选项,外加一个用于指定 Hive 属性的 --hiveconf 选项。你可以运行 ./sbin/start-thriftserver.sh --help 来查看所有可用选项的完整列表。默认情况下,这启动的 server 将会在 localhost:10000 上进行监听。你可以覆盖该行为,比如使用以下环境变量 :
export HIVE_SERVER2_THRIFT_PORT=<listening-port> export HIVE_SERVER2_THRIFT_BIND_HOST=<listening-host> ./sbin/start-thriftserver.sh \ --master <master-uri> \ ...
或者系统属性 :
./sbin/start-thriftserver.sh \ --hiveconf hive.server2.thrift.port=<listening-port> \ --hiveconf hive.server2.thrift.bind.host=<listening-host> \ --master <master-uri> ...
现在你可以使用 beeline 来测试这个Thrift JDBC/ODBC server :
./bin/beeline
在 beeline 中使用以下命令连接到 JDBC/ODBC server :
beeline> !connect jdbc:hive2://localhost:10000
Beeline 会要求你输入用户名和密码。在非安全模式下,只需要输入你本机的用户名和一个空密码即可。对于安全模式,请参考 beeline 文档中的指示。
将 hive-site.xml,core-site.xml 以及 hdfs-site.xml 文件放置在 conf 目录下可以完成 Hive 配置。
你也可以使用 Hive 自带的 beeline 的脚本。
Thrift JDBC server 还支持通过 HTTP 传输来发送 Thrift RPC 消息。使用下面的设置作为系统属性或者对 conf 目录中的 hive-site.xml 文件配置来启用 HTTP 模式 :
hive.server2.transport.mode - Set this to value: http hive.server2.thrift.http.port - HTTP port number fo listen on; default is 10001 hive.server2.http.endpoint - HTTP endpoint; default is cliservice
为了测试,在 HTTP 模式中使用 beeline 连接到 JDBC/ODBC server :
beeline> !connect jdbc:hive2://<host>:<port>/<database>?hive.server2.transport.mode=http;hive.server2.thrift.http.path=<http_endpoint>