hbase + phoenix 单机版本

Posted Code_lover

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hbase + phoenix 单机版本相关的知识,希望对你有一定的参考价值。

1. 环境:

2. JDK 安装 

  首先将*.tar.gz解压
  *假设得到的文件夹为java
  将其移动到/usr/中
 
  java /usr/然后设置环境变量:
  vim /etc/profile
  打开文件
  在结尾处输入:
  export JAVA_HOME=/usr/local/java
  export JRE_HOME=/usr/local/java/jre 
  export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
  
  检测版本
  java -version
 
3. hbase 安装 
 

a、解压缩到安装目录 /usr/local

[root@Hadoop- 01 ~]$ tar -xzvf hbase-1.2.2-bin.tar.gz -C /usr/local
[root@Hadoop- 01 ~]$ mv hbase-1.2.2  hbase

b、修改conf/hbase-env.sh

[root@Hadoop- 01 ~]$vi conf/hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_75/
export HBASE_CLASSPATH=/usr/local/hbase/conf
export HBASE_MANAGES_ZK=true

c、修改conf/hbase-site.xml 

复制代码
[root@Hadoop- 01 ~]$ conf/hbase-site.xml

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:/usr/local/hbase</value>
    </property>
</configuration>
复制代码

d、配置hbase环境变量

复制代码
[root@Hadoop- 01 ~]$ vi /etc/profile

export HBASE_HOME=/usr/local/hbase/
export PATH=$JAVA_HOME/bin:$HBASE_HOME/bin:$PATH

[root@Hadoop- 01 ~]$ source /etc/profile    #保存使环境变量立即生效
复制代码

e、启动

[root@Hadoop- 01 hbase]$ bin/start-hbase.sh

f、检验HBase是否正常启动:

  ① 在bin目录执行hbase shell,正常的话会进入hbase命令行模式,即  hbase(main):001:0>

  ② 输入 create \'user\' ,\'personalinfo\',正常的话会出现类似   0 row(s) in 1.3200 seconds   这样的结果

  ③ 继续输入 list,正常的话会列出我们刚刚创建的user表。

g、打开浏览器访问localhost:16010/master-status,可以看到hbase的一些状态信息。

 

h、注意问题

1. 查看系统hostname, 看是否为localhost, 也可以添加自定义的
2. 查看 /etc/hosts , 是否  配置了 127.0.0.1   localhost

这个映射一定要配置正确,否则启动hbase时,会报错。

 

4. 安装 phoenix 

可参考官方说明:http://phoenix.apache.org/installation.html

To install a pre-built phoenix, use these directions:

  • Download and expand the latest phoenix-[version]-bin.tar.
  • Add the phoenix-[version]-server.jar to the classpath of all HBase region server and master and remove any previous version. An easy way to do this is to copy it into the HBase lib directory (use phoenix-core-[version].jar for Phoenix 3.x)
  • Restart HBase.
  • Add the phoenix-[version]-client.jar to the classpath of any Phoenix client.

a. 下载相关版本  (注:要与 hbase 版本相对应) 

b.  解压到安装目录

c.  把目录下的  phoenix-4.8.1-HBase-1.1-server.jar 自制到 hbase 目录下的 lib/ 里面

d. 重启hbase 

e. 运行phoenix , 如下

[xxx@localhost bin]$ ./sqlline.py localhost
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:localhost none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:localhost
16/11/08 18:48:31 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)...
88/88 (100%) Done
Done
sqlline version 1.1.9
0: jdbc:phoenix:localhost>

 

用Phoenix Java api操作HBase

这个过程就想是JDBC一样使用就可以了。

①先将phoenix的 core.jar包 和 phoenix的client.jar 包放到lib里。

②创建连接,过程和mysql类似

public Connection GetConnection(){
Connection cc = null;
String driver = "org.apache.phoenix.jdbc.PhoenixDriver";
//String url = "jdbc:phoenix:192.168.206.21:2181";

try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

if (cc == null) {
try {
cc = DriverManager.getConnection(url);
} catch (SQLException e) {
e.printStackTrace();
}
}
return cc;
}

 

 更详细的说明,请浏览官网  http://apache.org/

 

 

 
 

以上是关于hbase + phoenix 单机版本的主要内容,如果未能解决你的问题,请参考以下文章

职位画像中phoenix链接HBase异常之版本不匹配

HBase学习之路 HBase phoenix的使用

HBase集成Phoenix创建二级索引

phoenix连接hbase数据库,创建二级索引报错:Error: org.apache.phoenix.exception.PhoenixIOException: Failed after atte

Phoenix&HBase实践——Phoenix+HBase结合实践操作总结

HBase集成phoniex