phoenix客户端连接hbase数据库报错:Traceback (most recent call last): File "bin/sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse

环境描述

  • 操作系统版本:CentOS release 6.5 (Final)
  • phoenix版本:phoenix-4.10.0
  • hbase版本:hbase-1.2.6

现象描述:

通过phoenix客户端连接hbase数据库时,无法正常连接,报下面的信息:

[aiprd@host-10-191-5-227 phoenix-4.10.0]$ bin/sqlline.py 10.191.5.227

Traceback (most recent call last):

  File "bin/sqlline.py", line 27, in <module>

    import argparse

ImportError: No module named argparse

问题分析:

通过以上错误的提示,缺少python组件argparse。

问题解决:

安装python-argparse RPM包。

注:在通过yum install python-argparse进行软件包安装的时候,发现服务器既没有联网,也没有yum server,同时在服务器上也没有系统的ISO镜像。所以,考虑单独下载python-argparse RPM包,然后手动进行安装。

1.下载地址

http://rpmfind.net/linux/RPM/index.html

2.搜索RPM包

 

3.根据操作系统版本,选择相应的软件包

 

4.下载完软件包之后,上传到服务器中,通过rpm –ivh命令进行安装

[root@host-10-191-5-227 tmp]# rpm -ivh python-argparse-1.2.1-2.1.el6.noarch.rpm

Preparing...                ########################################### [100%]

   1:python-argparse        ########################################### [100%]

注:安装rpm软件包要通过root用户来完成安装。

5.python-argparse软件包安装完成之后,重新通过phoenix客户端连接hbase

[aiprd@host-10-191-5-227 phoenix-4.10.0]$ bin/sqlline.py host-10-191-5-226

Setting property: [incremental, false]

Setting property: [isolation, TRANSACTION_READ_COMMITTED]

issuing: !connect jdbc:phoenix:host-10-191-5-226 none none org.apache.phoenix.jdbc.PhoenixDriver

Connecting to jdbc:phoenix:host-10-191-5-226

18/03/06 09:40:00 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Connected to: Phoenix (version 4.10)

Driver: PhoenixEmbeddedDriver (version 4.10)

Autocommit status: true

Transaction isolation: TRANSACTION_READ_COMMITTED

Building list of tables and columns for tab-completion (set fastconnect to true to skip)...

711/711 (100%) Done

Done

sqlline version 1.2.0

0: jdbc:phoenix:host-10-191-5-226>   #出现此提示符表示已经成功的连接到了hbase数据库.

0: jdbc:phoenix:host-10-191-5-226> !quit

Closing: org.apache.phoenix.jdbc.PhoenixConnection

备注:通过phoenix客户端可以正常的连接到hbase。

以上问题解决。

小结

以上问题的出现的主要原因,就是在phoenix客户端运行的时候,需要python的argparse组件来支持,通过安装argparse组件之后,就可以正常的使用phoenix客户端了。

附件

python-argparse RPM软件包下载地址(个人网盘):

https://pan.baidu.com/s/16OG0k6vE9MU7fpdUUTcfzw 密码: 97e8

文档创建时间:2018年3月6日09:57:24

参考博客:http://www.cnblogs.com/zlslch/p/7409852.html

原文地址:https://www.cnblogs.com/chuanzhang053/p/8512694.html