一、Hbase的安装

摘要:
前提条件:hadoop的版本应与hbase的版本相对应。主要原因是hadoop目录中的hadoop-core-1.0.4.jar版本与hbase的lib目录中的hadoop-core-1.0.4.jar版本一致。修改Node2#vi/etc/ntp.confServer10.85.10.119preferDrivetfile/var/lib/ntp/friftBroadcastdelay0.008的ntp配置文件。修改后,重新启动ntp服务#/etc/init。d/ntpdrestart或使用crontab将时间与Node2*/15**ntpdate10.85.10.1191中的服务器同步。配置全局hbase-env。sh配置hbase/conf/hbase env。sheexportJAVA_HOME=/usr/java/jdk1.6.0_21#这是我的java路径exportHBASE_MANAGES_ZK=true#hbase应该由zookeeper管理。2.配置hbase站点。xml<property><name>hbase。rootdirhdfs://master:9000/hbasehbase.cluster.distributedtruehbase。主机hdfs://master:60000hbase.zookeeper。仲裁master、slave1、slave_2在ZooKeeperQuorum中指定服务器的单独列表。例如,“host1.mydomain.com、host2.mydomaincom、host3.mydomain.com”。默认情况下,这是本地和伪分布式操作模式的默认主机。对于安全分布式设置,这应该是ZooKepperquorum服务器的完整列表。如果hbase_ MANAGES_ ZKissetinhbase env.sh这是启动/停止ZooKeeperon的服务器。hbase.zookeeper.property.dataDir/data/work/zookemperPropertyfromZooKeeker's configzoo.cfg。存储快照的目录。客户端端口2181zookeeper。一场超时1200000hbase。动物园管理员。所有物tickTime6000注意:hbase。rootdir设置hdfs上hbase的目录,以及名为hdfs的namenode节点所在的主机。

一、Hbase配置

一、Hbase的安装第1张这个是我从网上找的一个版本,网上说配置成功。

先决条件:

1hadoop的版本与hbase的版本要对应,主要是hadoop目录下的hadoop-core-1.0.4.jar的版本与hbaselib目录下的hadoop-core-1.0.4.jar一致。

做法:将hadoop中lib下的hadoop-core-1.0.2.jar(commons-configuration-1.6.jar包)(此包我未移动,但是最后也成功啦)移动到hbase-0.90.5中的lib下面,而hbase-0.90.5中lib目录下的对应的hadoop-core.jar包文件删除掉即可。

2配置apachehadoopappend,默认这个属性是false,需要设置为true

修改(hadoop/conf/hdfs-site.xml),并重启HDFS(或者重启Hadoop也行)

<property>

<name>dfs.support.append</name>

<value>true</value>

</property>

(3)Linux时间同步配置使用NetworkTimeProtocol(NTP)服务器

1.假如公司网络里有一个时间服务器:10.85.10.80,此时只需要在每个结点上修改NTP服务配置文件,让每个结点和时间服务器进行同步即可。

#vi/etc/ntp.conf

Server10.85.10.80prefer

Driftfile/var/lib/ntp/drift

Broadcastdelay0.008

修改完后在重启一下ntp服务

#/etc/init.d/ntpdrestart

2.如果没有时间服务,则可以用RAC2个结点中一个做为服务器。另一个与此服务器同步即可。

加入用node1做服务器,其IP为:10.85.10.119,修改配置文件

#vi/etc/ntp.conf

Server127.127.1.0--本地时钟

Fudge127.127.1.0stratum11

Broadcastdelay0.008

Node2与node1同步。

修改node2ntp配置文件

#vi/etc/ntp.conf

Server10.85.10.119prefer

Driftfile/var/lib/ntp/drift

Broadcastdelay0.008

修改完后在重启一下ntp服务

#/etc/init.d/ntpdrestart

或者在node2是使用crontab 与服务器同步时间

*/15 * * * * ntpdate 10.85.10.119

1.配置全局hbase-env.sh

配置hbase/conf/hbase-env.sh
exportJAVA_HOME=/usr/java/jdk1.6.0_21 #这个是我的java路径
export HBASE_MANAGES_ZK=true #hbase要用zookeeper来进行管理

2、配置hbase-site.xml

<property>

<name>hbase.rootdir</name>

<value>hdfs://master:9000/hbase</value>

</property>

<property>

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

<value>true</value>

</property>

<property>

<name>hbase.master</name>

<value>hdfs://master:60000</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>master,slave1,slave2</value>

<description>CommaseparatedlistofserversintheZooKeeperQuorum.Forexample,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".Bydefaultthisissettolocalhostforlocalandpseudo-distributedmodesofoperation.Forafully-distributedsetup,thisshouldbesettoafulllistofZooKeeperquorumservers.IfHBASE_MANAGES_ZKissetinhbase-env.shthisisthelistofserverswhichwewillstart/stopZooKeeperon.</description>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/data/work/zookeeper</value>

<description>PropertyfromZooKeeper'sconfigzoo.cfg.Thedirectorywherethesnapshotisstored.</description>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>zookeeper.session.timeout</name>

<value>1200000</value>

</property>

<property>

<name>hbase.zookeeper.property.tickTime</name>

<value>6000</value>

</property>

说明:

1hbase.rootdir设置hbasehdfs上的目录,主机名为hdfsnamenode节点所在的主机尤其注意:<value>hdfs://master:9000/hbase</value>的值hdfs://master:9000hadoop/conf/hdfs-site.xml中设定的值要完全一样,hdfs://master:9000/hbase指明了存放hbase的目录名为hbase,目录名可以自定义2hbase.cluster.distributed设置为true,表明是完全分布式的hbase集群3hbase.master设置hbasemaster主机名和端口4hbase.zookeeper.quorum设置zookeeper的主机,建议使用单数<value>master,slave1,slave2</value>指明在master,slave1,slave2这三台主机上运行zookeeper
5)设定hbase.zookeeper.property.clientPort,把zookeeper.session.timeout的值调大,设定hbase.zookeeper.property.tickTime的值,从而使zookeeper运行更加稳定。
6hbase中使用主机名,而不是IP地址标识主机。因此需要修改hosts文件,建立各主机名与IP地址的对应关系。

[使用root权限]vi/etc/hosts,指明主机名称与IP地址的对应关系,因为我的实验环境包含了三个结点:master,slave1,slave2,所以我需要添加的内容如下:

192.168.100.128master

192.168.100.156slave1

192.168.100.159slave2

3.修改hadoop的目录下的conf/hdfs-site.xml

<property>

<name>dfs.datanode.max.xcievers</name>

<value>4096</value>

</property>

4.修改hbase/conf/regionservers

将所有的datanode添加到这个文件,类似与hadoopslaves文件。因为我想在“master,slave1,slave2”这三个结点上运行HRegionServer,所以,我的hbase/conf/regionservers的内容为:

master

slave1

slave2

5.拷贝hbase到所有的节点,也就是说,步骤1-4在所有hbase结点上的配置是相同的。

6.启动Hbase之前,确保hadoop已经正常启动并运行。

可以使用jps命令查看master上是否存在NameNode服务,slave上是否存在DataNode服务。

然后启动hbase

$./bin/start-hbase.sh

注意事项:防火墙会阻挡访问hbasezookeeper的网络连接,zookeeper若被防火墙阻挡,就会死掉,导致Hbase死掉。因此,需要配置iptables,允许相关端口的数据包通过,或者在测试阶段,直接先将iptables防火墙停掉:/sbin/serviceiptablesstop【停止iptables需要root权限】比较方便。

7检查Hbase是否正常启动。

(1)在master上运行jps,会看到HMaster、HRegionServer和HQuorumPeer。

[user@master~]$jps

26023HRegionServer

26615Jps

15276DataNode

15140NameNode

25724HQuorumPeer

15596TaskTracker

25835HMaster

15441JobTracker

(2)在slave上运行jps,会看到HRegionServerHQuorumPeer

[user@slave2~]$jps

10735DataNode

13226HQuorumPeer

10854TaskTracker

13383HRegionServer

19594Jps

3)其它方式:hbase自带的web界面

http://master:60010/

当我们在浏览主页的时候提示:You are currently running the HMaster without HDFS append support enabled. This may result in data loss. Please see the HBase wiki for details.

一、Hbase的安装第2张

查看了hdfs-default.xml中,看到如下说明,Hadoop-0.20.2版本有bug不能支持HDFS 追加功能,因此只能作罢。如果你用的是其他版本可能就不会有!
<property>
<name>dfs.support.append</name>
<value>false</value>
<description>Does HDFS allow appends to files?
是否允许HDFS追加文件呢
This is currently set to false because there are bugs in the 当前设置为false因为有bug
"append code" and is not supported in any production cluster.
所以不支持任何集群

</description>
</property>

二、Hbase的安装命令

hbase中删除操作

1.删除一个regionServer

在需要删除的RegionServer上执行以下命令:$./bin/hbase-daemon.sh stop regionserverRegionServer将会关掉所有的region,然后此节点将会在Zookeeper消失。Master注意到了此RegionServer 掉了,它将会重新分配掉的这些Region。在停掉一个节点的时候,注意要关闭Load Balancer,因为Load Balancer可能要和Master的恢复机制争夺停掉的RegionServer。



来自为知笔记(Wiz)

免责声明:文章转载自《一、Hbase的安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微软开源自动机器学习工具NNI安装与使用pytorch MNIST加载已下载的数据集出现问题及解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL高可用方案--MHA部署及故障转移

架构设计及必要配置 主机环境 IP                 主机名             担任角色 192.168.192.128  node_master    MySQL-Master| MHA-Node 192.168.192.129  node_slave     MySQL-Slave | MHA-Node(备选Master) 19...

Hadoop源码分析5: RPC基本线程

1. 数据记录FileStatus public class FileStatus implements Writable {       private String filename;        private long time;        static {  // register IPCFileStatus        Writab...

JMeter测试HBase

在网上找了关于jmeter连接hbase的方式,主要分为两种:通过导入jar包连接(Java Request)和通过BeanShell远程连接,由于刚接触jmeter没多久,对BeanShell还不熟,所以打算通过eclipse用Java编写连接hbase的程序并打包成jar包,导入到jmeter的方式连接hbase。 HBase本地远程连接HBase是测...

Centos(64位)安装Hbase详细步骤

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoo...

用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker

如果想在一台电脑上搭建一个多节点的Hadoop集群,传统的方式是使用多个虚拟机。但这种方式占用的资源比较多,一台笔记本能同时运行的虚拟机的数量是很有限的。这个时候我们可以使用Docker。Docker可以看做是一种轻量级的虚拟机,占用资源少,用起来和传统的虚拟机很像,使用的时候可以类比VMware或VirtualBox。本文不能让你精通Docker,但能让...

HiveSQL 数据操控、查询语言(DML、DQL)

第一章 DML-Load加载数据 1.1 背景 回想一下,当在Hive中创建好表之后,默认就会在HDFS上创建一个与之对应的文件夹,默认路径是由参数hive.metastore.warehouse.dir控制,默认值是/user/hive/warehouse。 要想让hive的表和结构化的数据文件产生映射,就需要把文件移到到表对应的文件夹下面,当然,可以在...