设置hbase、hadoop、hive以通过hive访问hbase的正确方法是什么?

x7rlezfr  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(375)

我在配置和安装hbase/hadoop/hive时遇到问题。到目前为止,我在使用ubuntu 14.04.3 lts的虚拟机上所做的:
在jdk1.8.0\U 60版本中安装了如下jdk:
https://askubuntu.com/questions/56104/how%e2%80%8b-can-i-install-sun-o%e2%80%8bracles-proprietary-j%e2%80%8bava-jdk-6-7-8-or-jre%e2%80%8b
得到了hadoop-2.6.1并解包了.tar文件。之后我做了一些配置:
核心站点.xml:

<configuration>
    <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
    </property>
    </configuration>

hadoop-env.sh文件

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_60

hdfs-site.xml文件

<configuration>
    <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///home/hfu/hadoop/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///home/hfu/hadoop/hdfs/datanode</value>
    </property>
    </configuration>

获取了hbase-0.98.0-hadoop2并将其解包并按以下方式进行配置:
hbase-env.sh文件
导出java\u home=/usr/lib/jvm/jdk1.8.0\u 60/
hbase-site.xml文件

<configuration>
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    </property>
    <property>
    <name>hbase.rootdir</name>
    <value>file:///home/hfu/hbase-0.98.0-hadoop2/data</value>
    </property>
    <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/hfu/hbase-0.98.0-hadoop2/zookeeper</value>
    </property>
    <property>
    <name>zookeeper.znode.parent</name>
    <value>/hbase-unsecure</value>
    </property>
    <property>
    <name>hbase.zookeeper.quorum</name>
    <value>ubuntu</value>
    </property>
    <property>
    <name>hbase.master</name>
    <value>ubuntu:16000</value>
    </property>
    <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
    </property>
    </configuration>

获取apache-hive-1.2.1-bin并将其解包:
Hive-enf.sh

export HADOOP_HOME=/home/hfu/hadoop-2.6.1

启动hadoop:

sbin/start-all.sh


启动hbase:

bin/start-hbase.sh


在hbase shell中,创建表是可能的。我也可以把一些条目放进去。在启动hive之前,我也在console中编写这个

export HADOOP_USER_CLASSPATH_FIRST=true

防止异常
在hive中,可以创建一个表并从中读取内容。但只要我想连接在一起,在一些教程中所描述的两者
http://chase-seibert.github.io/blog/2013/05/10/hive-hbase-quickstart.html
或者http://www.n10k.com/blog/hbase-via-hive-pt1/
我有个例外。我之前在另一篇文章中也描述了我的问题,但这篇文章更详细:如何将表从hbase传输到hive?

fwzugrvs

fwzugrvs1#

我使用了错误的hbase和hadoop版本。下面是一个概述,hadoop和hbase的哪些版本是兼容的。 http://hbase.apache.org/book.html#hadoop

相关问题