运行apache phoenix命令时出现python兼容性问题

ovfsdjhp  于 2021-06-07  发布在  Hbase
关注(0)|答案(2)|浏览(441)

我成功安装了hadoop、pig、hive、hbase和zookeeper。我安装了apachephoenix来访问hbase。下面是我的路径变量。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH="$PATH:$JAVA_HOME/bin"
export PATH="/home/vijee/anaconda3/bin:$PATH"

export HADOOP_HOME=/home/vijee/hadoop-2.7.7
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH="$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin"
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

export ZOOKEEPER_HOME=/home/vijee/apache-zookeeper-3.6.2-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin

export HBASE_HOME=/home/vijee/hbase-1.4.13-bin
export PATH=$PATH:$HBASE_HOME/bin

export PHOENIX_HOME=/home/vijee/apache-phoenix-4.15.0-HBase-1.4-bin
export PATH=$PATH:$PHOENIX_HOME/bin

我将phoenix-4.15.0-hbase-1.4-client.jar、phoenix-4.15.0-hbase-1.4-server.jar、phoenix-core-4.15.0-hbase-1.4.jar复制到hbase lib目录,并重新启动了hbase和zookeeper。当我运行below phoenix命令时,它抛出了错误

(base) vijee@vijee-Lenovo-IdeaPad-S510p:~/apache-phoenix-4.15.0-HBase-1.4-bin/bin$ psql.py localhost $PHOENIX_HOME/examples/WEB_STAT.sql $PHOENIX_HOME/examples/WEB_STAT.csv $PHOENIX_HOME/examples/WEB_STAT_QUERIES.sql
Traceback (most recent call last):
  File "/home/vijee/apache-phoenix-4.15.0-HBase-1.4-bin/bin/psql.py", line 57, in <module>
    if hbase_env.has_key('JAVA_HOME'):
AttributeError: 'dict' object has no attribute 'has_key'

我的python版本

$ python --version
Python 3.8.3

我知道这是python兼容性问题,psql.py是为python2.x编写的。
如何解决这个问题?

ddrv8njm

ddrv8njm1#

.has_key 在3.x中被删除,使用 in 相反!
另请参见我应该在python dict上使用'has\u key()'还是'in'?

cbwuti44

cbwuti442#

简单搜索一下,hbase-1.4似乎是2017年的,而最新的稳定值是2.2.5。。发行说明暗示它可以与python3一起使用
考虑简单地使用较新的jar-apache归档链接来保存稳定的文件
至少 psql.py 在最新的apachephoenix代码中,它似乎支持python3https://github.com/apache/phoenix/blob/master/bin/psql.py 所以你应该能够得到一个更新的版本,比你有这将与它一起工作。
这可以从最新的承诺中看出
在github上按文件提交历史记录:https://github.com/apache/phoenix/commits/master/bin/psql.py
提交python3支持 in 正在修复
如果必须使用1.4.x,则可以运行 psql.py 而不是python 2。大多数操作系统都会接受并行安装,尽管这可能会使某些依赖关系管理变得混乱,而且这不是一个可维护的解决方案。

相关问题