- 安装依赖
yum -y install gcc gcc-c++ cyrus-sasl-devel cyrus-sasl-plain
2. Pip安装impyla
pip install ipython six bit_array thriftpy thrift_sasl==0.2.1 sasl impyla
3. 连接实例
from impala.dbapi import connect
conn = connect(host='127.0.0.1', port=10000, database='default', user='hive', auth_mechanism="PLAIN")
cur = conn.cursor()
cur.execute("select * from t1")
cur.fetchall()
conn.close()
4. 启动服务
Start hadoop
Cd /usr/local/hadoop-2.9.2/sbin ./start-all.sh
Start hive
Cd /usr/local/apache-hive-2.3.7-bin/bin hive --service hiveserver2
Hive 启动hiveserver2 默认对外端口为 10000
5. python执行实例失败
User: root is not allowed to impersonate root(state=08S01,code=0)
原因是hadoop引入了一个安全伪装机制,使得hadoop 不允许上层系统直接将实际用户传递到hadoop层,而是将实际用户传递给一个超级代理,由此代理在hadoop上执行操作
需要 cd /usr/local/hadoop-2.9.2/etc/hadoop vim core-site.xml 增加配置
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>