参考文献:http://www.aichengxu.com/view/11094184
1. cdh 5.9
2. 开发机已经安装了impyla
pip install thrift_sasl
pip install sasl
3. 在cdh集群的一个节点启动hiveserver2
3.1 修改/etc/hive/conf.cloudera.hive/hive-site.xml
<property>
<name>hive.server2.authentication</name>
<value>NONE</value>
</property>
将属性hive.server2.enable.doAs设置为false:因为HiveServer2以提交查询的用户执行查询(true),如果hive.server2.enable.doAs设置为false,查询将以运行hiveserver2进程的用户运行。
3.2 启动hiveserver2
nohup hiveserver2 &
注意:cdh的文档说 service hive-server2 start,实际上并没有。
4. 在开发机实现代码:
#!/usr/bin/env python3 #! coding:utf-8 -*- from impala.dbapi import connect conn = connect(host='192.168.0.xxx',port=10000,database='default',auth_mechanism='PLAIN') cur = conn.cursor() cur.execute('SHOW DATABASES') print(cur.fetchall()) cur.execute('SHOW Tables') print(cur.fetchall())