我成功安装了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编写的。
如何解决这个问题?
2条答案
按热度按时间ddrv8njm1#
.has_key
在3.x中被删除,使用in
相反!另请参见我应该在python dict上使用'has\u key()'还是'in'?
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。大多数操作系统都会接受并行安装,尽管这可能会使某些依赖关系管理变得混乱,而且这不是一个可维护的解决方案。