zoukankan      html  css  js  c++  java
  • Apache版Phoenix的安装(图文详解)

      不多说,直接上干货!

     

    写在前面的话  

      我这里,三个节点的bigdata集群。分别为master、slave1和slave2。

    1、Phoenix的下载

      我的HBase版本是hbase-0.98.19。

    下载地址:

      http://mirror.bit.edu.cn/apache/phoenix/  或者 http://apache.fayea.com/phoenix/ 

      注意:(hbase的版本一定要与phoenix的版本保持一致,否则运行报错,hbase-0.99没有相关的版本下载)

     前提是是我们的 Hadoop 集群,zookeeper,Hbase 都安装成功。 

     

     

      然后,自行去找自己相应的版本。

      

      或者(我这里,选择这个版本)

      或者,大家,也可以安装下面的这个版本

     

      最新下载的Phoenix文件名中都会标明对应的HBase版本  例: apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz

    2、上传压缩包

      将apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz 上传hbase集群的其中一个服务器的一个目录下。(我建议放在master节点上)。

      或者我们可以单独选择一台服务器作为 Client 客户端安装 Phoenix,然后将安装包 。

      我这里选择在master上。

      我上传的目录为/home/hadoop/app。

    3、解压缩文件

     

    [hadoop@master app]$ tar -zxvf apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz 

    [hadoop@master app]$ rm apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz 
    [hadoop@master app]$ ln -s apache-phoenix-4.10.0-HBase-0.98-bin/ phoenix
    ... ... [hadoop@master app]$ ll lrwxrwxrwx
    1 hadoop hadoop 37 Jul 3 22:18 phoenix -> apache-phoenix-4.10.0-HBase-0.98-bin/

     然后进入 Phoenix 目录可以看到所有目录结构 

    [hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ pwd
    /home/hadoop/app/apache-phoenix-4.10.0-HBase-0.98-bin
    [hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ ls
    bin                                          phoenix-flume-4.10.0-HBase-0.98-tests.jar    phoenix-queryserver-4.10.0-HBase-0.98.jar
    examples                                     phoenix-hive-4.10.0-HBase-0.98.jar           phoenix-queryserver-4.10.0-HBase-0.98-sources.jar
    LICENSE                                      phoenix-hive-4.10.0-HBase-0.98-sources.jar   phoenix-queryserver-4.10.0-HBase-0.98-tests.jar
    NOTICE                                       phoenix-hive-4.10.0-HBase-0.98-tests.jar     phoenix-queryserver-client-4.10.0-HBase-0.98.jar
    phoenix-4.10.0-HBase-0.98-client.jar         phoenix-kafka-4.10.0-HBase-0.98.jar          phoenix-queryserver-client-4.10.0-HBase-0.98-sources.jar
    phoenix-4.10.0-HBase-0.98-hive.jar           phoenix-kafka-4.10.0-HBase-0.98-minimal.jar  phoenix-queryserver-client-4.10.0-HBase-0.98-tests.jar
    phoenix-4.10.0-HBase-0.98-pig.jar            phoenix-kafka-4.10.0-HBase-0.98-sources.jar  phoenix-spark-4.10.0-HBase-0.98.jar
    phoenix-4.10.0-HBase-0.98-queryserver.jar    phoenix-kafka-4.10.0-HBase-0.98-tests.jar    phoenix-spark-4.10.0-HBase-0.98-sources.jar
    phoenix-4.10.0-HBase-0.98-server.jar         phoenix-pherf-4.10.0-HBase-0.98.jar          phoenix-spark-4.10.0-HBase-0.98-tests.jar
    phoenix-4.10.0-HBase-0.98-thin-client.jar    phoenix-pherf-4.10.0-HBase-0.98-minimal.jar  phoenix-tracing-webapp-4.10.0-HBase-0.98.jar
    phoenix-core-4.10.0-HBase-0.98.jar           phoenix-pherf-4.10.0-HBase-0.98-sources.jar  phoenix-tracing-webapp-4.10.0-HBase-0.98-runnable.jar
    phoenix-core-4.10.0-HBase-0.98-sources.jar   phoenix-pherf-4.10.0-HBase-0.98-tests.jar    phoenix-tracing-webapp-4.10.0-HBase-0.98-sources.jar
    phoenix-core-4.10.0-HBase-0.98-tests.jar     phoenix-pig-4.10.0-HBase-0.98.jar            phoenix-tracing-webapp-4.10.0-HBase-0.98-tests.jar
    phoenix-flume-4.10.0-HBase-0.98.jar          phoenix-pig-4.10.0-HBase-0.98-sources.jar    README
    phoenix-flume-4.10.0-HBase-0.98-sources.jar  phoenix-pig-4.10.0-HBase-0.98-tests.jar
    [hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ 

     配置 Phoenix
      1、将 Phoenix 目录下的 phoenix-core-4.10.0-HBase-0.98.jar、phoenix-4.10.0-HBase-0.98-client.jar 拷贝到 hbase 集群各个节点 hbase 安装目录 lib 中。

      首先,大家明白为什么这么做。比如,你是有master、slave1和slave2以及client,你是把这个phoenix安装在client里,则此刻。你就需拷贝到master、slave1和slave2上。

      而,我这里,是只有master、slave1和slave2,我现在是将phoenix安装在master上,所以,我需拷贝到master、slave1和slave2上即可。

      以下是master、slave1和slave2下lib的默认情况

      然后  

       得到

      master、slave和slave2上都去做。这里不多赘述了


    2、hbase 集群中的配置文件 hbase-site.xml 拷贝到 Phoenix bin 目录下,覆盖原有的配置文件。

      我这里是,master去做(因为我的phonenix是安装在master上)

      以下是 Phoenix安装后bin的默认目录情况

     

    3、hdfs 集群中的配置文件 core-site.xmlhdfs-site.xml 拷贝到 Phoenix bin 目录下。

      我这里是,master去做(因为我的phonenix是安装在master上)

      以下是 Phoenix的bin的目录情况

      得到

     

      为了规范起见,最好配置环境变量

    #phoenix
    export PHOENIX_HOME=/home/hadoop/app/phoenix
    export PHOENIX_CLASSPATH=$PHOENIX_HOME
    export PATH=$PATH:$PHOENIX_HOME/bin

      因为,我这用的是软连接,所以才是/home/hadoop/app/phoenix

       

       然后,再source下即可。

     


    4、如果 hbase 之前已经在运行,安装完 Phoenix,需要重启 hbase 集群。

       见

    HBase的多节点集群详细启动步骤(3或5节点)(分为Zookeeper自带还是外装)

       这里不多赘述。

       同时,修改apache-phoenix-4.10.0-HBase-0.98-bin/bin/下的psql.py和sqlline.py两个文件的权限为777。

    5、验证 Phoenix 是否安装成功
      命令格式:./sqlline.sh <hbase.zookeeper.quorum> 

     其中,hbase.zookeeper.quorum HBase 集群的 Zookeeper 队列,对应 IP/Hostname 逗号分割的列表。

      在phoenix的安装目录下,输入命令启动

    bin/sqlline.py master 

    [hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ pwd
    /home/hadoop/app/apache-phoenix-4.10.0-HBase-0.98-bin
    [hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ ls
    bin                                          phoenix-flume-4.10.0-HBase-0.98-tests.jar    phoenix-queryserver-4.10.0-HBase-0.98.jar
    examples                                     phoenix-hive-4.10.0-HBase-0.98.jar           phoenix-queryserver-4.10.0-HBase-0.98-sources.jar
    LICENSE                                      phoenix-hive-4.10.0-HBase-0.98-sources.jar   phoenix-queryserver-4.10.0-HBase-0.98-tests.jar
    NOTICE                                       phoenix-hive-4.10.0-HBase-0.98-tests.jar     phoenix-queryserver-client-4.10.0-HBase-0.98.jar
    phoenix-4.10.0-HBase-0.98-client.jar         phoenix-kafka-4.10.0-HBase-0.98.jar          phoenix-queryserver-client-4.10.0-HBase-0.98-sources.jar
    phoenix-4.10.0-HBase-0.98-hive.jar           phoenix-kafka-4.10.0-HBase-0.98-minimal.jar  phoenix-queryserver-client-4.10.0-HBase-0.98-tests.jar
    phoenix-4.10.0-HBase-0.98-pig.jar            phoenix-kafka-4.10.0-HBase-0.98-sources.jar  phoenix-spark-4.10.0-HBase-0.98.jar
    phoenix-4.10.0-HBase-0.98-queryserver.jar    phoenix-kafka-4.10.0-HBase-0.98-tests.jar    phoenix-spark-4.10.0-HBase-0.98-sources.jar
    phoenix-4.10.0-HBase-0.98-server.jar         phoenix-pherf-4.10.0-HBase-0.98.jar          phoenix-spark-4.10.0-HBase-0.98-tests.jar
    phoenix-4.10.0-HBase-0.98-thin-client.jar    phoenix-pherf-4.10.0-HBase-0.98-minimal.jar  phoenix-tracing-webapp-4.10.0-HBase-0.98.jar
    phoenix-core-4.10.0-HBase-0.98.jar           phoenix-pherf-4.10.0-HBase-0.98-sources.jar  phoenix-tracing-webapp-4.10.0-HBase-0.98-runnable.jar
    phoenix-core-4.10.0-HBase-0.98-sources.jar   phoenix-pherf-4.10.0-HBase-0.98-tests.jar    phoenix-tracing-webapp-4.10.0-HBase-0.98-sources.jar
    phoenix-core-4.10.0-HBase-0.98-tests.jar     phoenix-pig-4.10.0-HBase-0.98.jar            phoenix-tracing-webapp-4.10.0-HBase-0.98-tests.jar
    phoenix-flume-4.10.0-HBase-0.98.jar          phoenix-pig-4.10.0-HBase-0.98-sources.jar    README
    phoenix-flume-4.10.0-HBase-0.98-sources.jar  phoenix-pig-4.10.0-HBase-0.98-tests.jar
    [hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ bin/sqlline.py master 

      当然,大家也可以跟我这样,做个软连接。

      如果大家这里,遇到这个问题

    Traceback (most recent call last):
      File "./sqlline.py", line 27, in <module>
        import argparse
    ImportError: No module named argparse

       则,解决办法

    安装Phoenix时./sqlline.py执行报错File "./sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse解决办法(图文详解)

      这里,建议搭建,你若如跟我一样(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> 

    如果出现上面的结果,说明 Phoenix 安装成功。


    6、 罗列所有表
    在客户端执行!tables 命令,罗列所有表到客户端界面

    0: jdbc:phoenix:master,slave1,slave2:2181> !tables
    +------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+
    | TABLE_CAT  | TABLE_SCHEM  | TABLE_NAME  |  TABLE_TYPE   | REMARKS  | TYPE_NAME  | SELF_REFERENCING_COL_NAME  | REF_GENERATION  | INDEX_STATE  | IMMUTABLE_ROWS  | SALT_BUCKETS  | MULTI_TEN |
    +------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+
    |            | SYSTEM       | CATALOG     | SYSTEM TABLE  |          |            |                            |                 |              | false           | null          | false     |
    |            | SYSTEM       | FUNCTION    | SYSTEM TABLE  |          |            |                            |                 |              | false           | null          | false     |
    |            | SYSTEM       | SEQUENCE    | SYSTEM TABLE  |          |            |                            |                 |              | false           | null          | false     |
    |            | SYSTEM       | STATS       | SYSTEM TABLE  |          |            |                            |                 |              | false           | null          | false     |
    +------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+
    0: jdbc:phoenix:master,slave1,slave2:2181> 

      注意: 通过该客户端展示出来的表都是通过 Phoenix 客户端创建的,通过其他方式创建的表在此处不显示。

       若要退出,则

      Phoenix早期版本如(2.11版本)需输入!quilt才可退出,目前高版本已改为!exit命令

    0: jdbc:phoenix:master> !exit
    Closing: org.apache.phoenix.jdbc.PhoenixConnection
    [hadoop@master apache-phoenix-4.8.2-HBase-0.98-bin]$ 

      参考博客

    HBase 4、Phoenix安装和Squirrel安装

     phoenix-4.8.1-HBase-1.2安装(详细图文)

    欢迎大家,加入我的微信公众号:大数据躺过的坑     免费给分享
     
     
     

    同时,大家可以关注我的个人博客

       http://www.cnblogs.com/zlslch/   和  http://www.cnblogs.com/lchzls/ 

      人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
      目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

           以及对应本平台的QQ群:161156071(大数据躺过的坑)

     

     

  • 相关阅读:
    VS 2008潜在强大的功能:提取EXE文件中的ICO等资源
    园友们注意:淘宝网上QQ会员 4钻 3元 等都为骗子行为
    Comet Async Process Request Handler
    WCF(Sender) to MSMQ to WCF(Receiver)
    ASP.NET Web Form GridView DetailsView Query Edit
    WCF NetTcp AsyncQueue Service
    Xml CDATA 序列化
    Sync Invoke Remoting Async Invoke
    .Net 4.0 Remoting ConcurrentQueue
    Socket Async Receive Data to LinkedList Buffer (telnet proxy server)
  • 原文地址:https://www.cnblogs.com/zlslch/p/7096353.html
Copyright © 2011-2022 走看看