• HBase Phoenix的安装使用教程3(SCHEMA的启用、操作、关闭)


    三、SCHEMA 的启用、操作、关闭

    1,启用 SCHEMA

    注意: Phoenix 中将 HBase 的 namespace 叫做 SCHEMA,相当于 mysql 中的库的概念。

    (1)默认 Phoenix 的自定义 SCHEMA 并没有开启,需要在 HBase 的 hbase-site.xml 中增加以下配置项,然后重启 Hbase:

    <property>
        <name>phoenix.schema.isNamespaceMappingEnabled</name>
        <value>true</value>
    </property>
    <property>
        <name>phoenix.schema.mapSystemTablesToNamespace</name>
        <value>true</value>
    </property>

    2)接着将 hbase/conf 目录下 hbase-site.xml 文件放到 phoenix 的 bin 目录下:

    cp /home/hbase-2.2.4/conf/hbase-site.xml /home/apache-phoenix-5.0.0-HBase-2.0-bin/bin

    2,操作 SCHEMA

    (1)下面在 Phoenix Shell 中执行如下命令创建一个名为“s1”的 schema:

    注意:在 phoenix 中,默认情况下,库名,表名,字段名等会自动转换为大写,若要小写,使用双引号,如"us_population"。

        
    CREATE SCHEMA IF NOT EXISTS "s1";

    (2)执行如下命令使用这个新建的 schema:

    use "s1";

     (3)执行如下命令则使用默认的 schema:

    USE DEFAULT;

    (4)执行如下命令可以删除 s1 这个 schema:

    注意:确保该 schema 下的表都已删除,否则该 schema 会删除失败。

    DROP SCHEMA "s1";

    3,关闭 SCHEMA

    (1)如果 phoenix 开启了 SCHEMA,可能会造成许多客户端无法正常工作,需要将其关闭。首先删除在 hbase 和 phoenix 的 hbase-site.xml 下设置的关于命名空间启用的设置。
    <property>
        <name>phoenix.schema.isNamespaceMappingEnabled</name>
        <value>true</value>
    </property>
    <property>
        <name>phoenix.schema.mapSystemTablesToNamespace</name>
        <value>true</value>
    </property>

    (2)然后重启 hbase:

    ./bin/start-hbase.sh
    ./bin/stop-hbase.sh

    (3)接着进入 hbase shell:

    ./bin/hbase shell

    (4)最后依次执行如下命令,修改 hbase 中表 SYSTEM:CATALOG 名为 SYSTEM.CATALOG 即可:

    disable 'SYSTEM:CATALOG'
    snapshot 'SYSTEM:CATALOG', 'cata_tableSnapshot'
    clone_snapshot 'cata_tableSnapshot', 'SYSTEM.CATALOG'
    drop 'SYSTEM:CATALOG'
  • 相关阅读:
    HTTP 无法注册URL 进程不具有命名空间的访问权限
    逆变与协变详解
    正式学习React(五) react-redux源码分析
    正式学习React(四) ----Redux源码分析
    正式学习react(二)
    工作总结
    如何自定义echarts 线性图的选择事件
    viewport大白话
    关于div可编辑的复制粘贴问题
    nginx学习
  • 原文地址:https://www.cnblogs.com/shanheyongmu/p/15661287.html
Copyright © 2020-2023  润新知