不多說,直接上干貨!
前期博客
Apache版Phoenix的安裝(圖文詳解)
問題現象
Traceback (most recent call last): File "./sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse
解決辦法
[root@master phoenix]# yum install python-argparse Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.163.com * updates: mirrors.163.com Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package python-argparse.noarch 0:1.2.1-2.1.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Installing: python-argparse noarch 1.2.1-2.1.el6 base 48 k Transaction Summary =============================================================================================================================================================================================== Install 1 Package(s) Total download size: 48 k Installed size: 232 k Is this ok [y/N]: y Downloading Packages: python-argparse-1.2.1-2.1.el6.noarch.rpm | 48 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : python-argparse-1.2.1-2.1.el6.noarch 1/1 Verifying : python-argparse-1.2.1-2.1.el6.noarch 1/1 Installed: python-argparse.noarch 0:1.2.1-2.1.el6 Complete! [root@master phoenix]#
然后,再重啟HBase集群。
[hadoop@master apache-phoenix-4.8.2-HBase-0.98-bin]$ bin/sqlline.py master Setting property: [incremental, false] Setting property: [isolation, TRANSACTION_READ_COMMITTED] issuing: !connect jdbc:phoenix:master none none org.apache.phoenix.jdbc.PhoenixDriver Connecting to jdbc:phoenix:master SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/hadoop/app/apache-phoenix-4.8.2-HBase-0.98-bin/phoenix-4.8.2-HBase-0.98-client.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/hadoop/app/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 17/08/22 09:02:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Connected to: Phoenix (version 4.8) Driver: PhoenixEmbeddedDriver (version 4.8) Autocommit status: true Transaction isolation: TRANSACTION_READ_COMMITTED Building list of tables and columns for tab-completion (set fastconnect to true to skip)... 86/86 (100%) Done Done sqlline version 1.1.9 0: jdbc:phoenix:master>
退出
Building list of tables and columns for tab-completion (set fastconnect to true to skip)... 86/86 (100%) Done Done sqlline version 1.1.9 0: jdbc:phoenix:master,slave1,slave2:2181> !exit Closing: org.apache.phoenix.jdbc.PhoenixConnection [hadoop@master phoenix]$
這里,建議搭建,你若如跟我一樣(master、slave1和slave2)集群的話,zookeeper也是都安裝在master、slave1和slave2上,則
使用 sqlline.py 腳本來啟動,參數是 zookeeper 集群中各個節點的 hostname ,多個使用逗號隔開,另外端口為 2181
[hadoop@master apache-phoenix-4.8.2-HBase-0.98-bin]$ pwd /home/hadoop/app/apache-phoenix-4.8.2-HBase-0.98-bin [hadoop@master apache-phoenix-4.8.2-HBase-0.98-bin]$ bin/sqlline.py master,slave1,slave2:2181 Setting property: [incremental, false] Setting property: [isolation, TRANSACTION_READ_COMMITTED] issuing: !connect jdbc:phoenix:master,slave1,slave2:2181 none none org.apache.phoenix.jdbc.PhoenixDriver Connecting to jdbc:phoenix:master,slave1,slave2:2181 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/hadoop/app/apache-phoenix-4.8.2-HBase-0.98-bin/phoenix-4.8.2-HBase-0.98-client.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/hadoop/app/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 17/08/22 09:07:40 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Connected to: Phoenix (version 4.8) Driver: PhoenixEmbeddedDriver (version 4.8) Autocommit status: true Transaction isolation: TRANSACTION_READ_COMMITTED Building list of tables and columns for tab-completion (set fastconnect to true to skip)... 86/86 (100%) Done Done sqlline version 1.1.9 0: jdbc:phoenix:master,slave1,slave2:2181>
成功!