环境准备

需要环境:

PC-1 Suse Linux 9             10.192.1.1

PC-2 Suse Linux 9             10.192.1.2

PC-3 Suse Linux 9             10.192.1.3

PC-4 Suse Linux 9             10.192.1.4

      其中,PC-1namenode节点,PC-2PC-3PC-4datanode节点。

      并且已经安装成功Hadoop-0.20.1及以上版本。

安装包准备

需要安装包:

zookeeper-3.2.1.tar.gzstable版本)

hbase-0.20.1.tar.gzstable版本)

安装步骤

 安装和配置ZooKeeper

HBase0.20.0开始,需要首先安装ZooKeeper。从apache上下载zookeeper-3.2.1.tar.gzStable版本),解压到/home/hdfs/目录下。

1),在namenode节点新建zookeeper目录,在该目录下新建myid文件。

2),在zookeeper-3.2.1/conf目录下,拷贝zoo_sample.cfgzoo.cfg。在zoo.cfg中将dataDir改为/home/hdfs/zookeeper,在文件末位添加所有的主机:

server.1=10.192.1.1:2888:3888

server.2=10.192.1.2:2888:3888

server.3=10.192.1.3:2888:3888

server.4=10.192.1.4:2888:3888

server.5=10.192.1.5:2888:3888

server.6=10.192.1.62888:3888

3)用scp命令将namenode节点的的/home/hdfs/ zookeeper-3.2.1/home/hdfs/ zookeeper拷贝到其余所有主机的/home/hdfs目录下。

4)参照zoo.cfg中的配置,在各主机myid文件中写入各自的编号。如:10.192.1.11,10.192.1.2写入2

5)在所有节点上执行bin/zkServer.sh start,分别启动。

执行bin/zkCli.sh -server xxx.xxx.xxx.xxx:2181,检查指定服务器是否成功启动。

安装和配置HBase

下载HBase0.20.1版本,解压到namenode节点的/home/hdfs目录下。

 

配置说明

1)系统所有配置项的默认设置在hbase-default.xml中查看,如果需要修改配置项的值,在hbase-site.xml中添加配置项。

      在分布式模式下安装HBase,需要添加的最基本的配置项如下:

<property>

<name>hbase.rootdir</name>

<value>hdfs://namenode.hdfs:54310/hbase</value>

<description>The directory shared by region servers.</description>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

<description>The mode the cluster will be in. Possible values are

false: standalone and pseudo-distributed setups with managed Zookeeper

true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)

</description>

</property>

2)在conf/hbase-env.sh中修改添加配置项:

export JAVA_HOME=/usr/java/jdk1.6.0_16

export HBASE_MANAGES_ZK=false

export HBASE_CLASSPATH=/home/hdfs/hadoop-0.20.1/conf

并把~/hadoop-0.20.1/conf/hdfs-site.xml拷贝至~/hbase-3.2.1/conf/目录下。

3)将ZooKeeper的配置文件zoo.cfg添加到HBase所有主机的CLASSPATH中。

4)在conf/regionservers中添加hadoop-0.20.1/conf/slaves中所有的datanode节点。

启动

HadoopZooKeeperHBase之间应该按照顺序启动和关闭:启动Hadoop>启动ZooKeeper集群—>启动HBase>停止HBase>停止ZooKeeper集群—>停止Hadoop

namenode节点执行bin/hbase-daemon.sh,启动master。执行bin/start-hbase.shbin/stop-hbase.sh脚本启动和停止HBase服务。

接口说明

      HBase按列存储结构化数据,支持建表、插入记录、查询记录、删除记录和索引操作等等,不支持连接和更新操作。

开发步骤

引入JAR

Windows客户端编写JAVA程序操作HBase,需要引入一些JAR包。需要引入的JAR如下:hadoop-0.20.1-core.jarcommons-logging-1.0.4.jarcommons-logging-api-1.0.4.jarzookeeper-3.2.1.jarhbase-0.20.1.jarlog4j-1.2.15.jar

开发模式

在分布式模式下开发,在程序中配置与HDFSZooKeeper的连接,即可对数据进行操作。

 

补充:hbase shell中使用create/list/scan等命令 ,报错org.apache.hadoop.hbase.MasterNotRunningException: null。

处理:离开hadoop安全模式:hadoop dfsadmin -safemode leave

 

 

Logo

更多推荐