×
文章路径: 开发运维环境

大数据平台环境搭建–2–安装hbase0.98.7

发表于3年前(Dec 24, 2014 11:22:22 AM)  阅读 325  评论 0

分类: 开发运维环境 大数据

标签: hbase

1、下载安装包:http://mirrors.hust.edu.cn/apache/hbase/stable,这里我使用的是0.98.7最新版本,接上节,这里笔者将hbase安装在hadoop用户主目录,即/home/hadoop/hbase

2、修改ulimit和nproc参数:
HBase数据库,会在同一时间使用很多的文件句柄。大多数linux系统使用的默认值1024是不能满足的,在文件 /etc/security/limits.conf 添加一行,如:
hadoop  –       nofile 65535
把 hadoop 替换成你运行Hbase和Hadoop的用户。如果你用两个用户,你就需要配两个。还有配nproc hard 和 softlimits. 如:
hadoop soft/hard nproc 32000
如果使用的ubuntu,可能还需要修改/etc/pam.d/common-session,加上这一行:
session required pam_limits.so
重启后生效,使用ulimit -n查看

3、 配置系统环境变量:
修改/etc/profile,添加
export HBASE_HOME=/home/hadoop/hbase
export PATH=$HBASE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
使用source /etc/profile命令使之立即生效

4、 配置conf/hbase-env.sh:
export JAVA_HOME=/usr/local/jdk1.7.0_67/
export HBASE_MANAGES_ZK=true
一个分布式运行的Hbase依赖一个zookeeper集群。所有的节点和客户端都必须能够访问zookeeper。默认的情况下Hbase会管理一个zookeep集群。这个集群会随着Hbase的启动而启动。当然,你也可以自己管理一个zookeeper集群,但需要配置Hbase。你需要修改conf/hbase-env.sh里面的HBASE_MANAGES_ZK 来切换。这个值默认是true的,作用是让Hbase启动的时候同时也启动zookeeper.
让Hbase使用一个现有的不被Hbase托管的Zookeep集群,需要设置 conf/hbase-env.sh文件中的HBASE_MANAGES_ZK 属性为 false。

5、配置conf/hbase-site.xml


	
		hbase.rootdir
  		hdfs://tserver01:9000/hbase
		The directory shared byRegionServers.
  	

  	
  		hbase.cluster.distributed
  		true
  		The mode the clusterwill be in. Possible values are false: standalone and pseudo-distributedsetups with managed Zookeeper true: fully-distributed with unmanagedZookeeper Quorum (see hbase-env.sh)
  	

   	
  		hbase.zookeeper.property.clientPort
  		2222
		Property fromZooKeeper's config zoo.cfg. The port at which the clients willconnect.
  	

    	
		hbase.zookeeper.quorum
		tserver01,tserver02
		Comma separated listof servers in the ZooKeeper Quorum.For example,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".By default this is set to localhost forlocal and pseudo-distributed modes of operation. For a fully-distributedsetup, this should be set to a full list of ZooKeeper quorum servers. IfHBASE_MANAGES_ZK is set in hbase-env.sh this is the list of servers which we willstart/stop ZooKeeper on. 
	

    	
		hbase.zookeeper.property.dataDir
	 	/home/hadoop/zookeeper
		Property fromZooKeeper's config zoo.cfg. The directory where the snapshot isstored. 
 	

要想运行完全分布式模式,加一个属性 hbase.cluster.distributed 设置为 true 然后把 hbase.rootdir 设置为HDFS的NameNode的位置。 例如,你的namenode运行在tserver01,端口是9000你期望的目录是 /hbase,使用如下的配置:hdfs://tserver01:9000/hbase
hbase.rootdir:这个目录是region server的共享目录,用来持久化Hbase。URL需要是’完全正确’的,还要包含文件系统的scheme。例如,要表示hdfs中的’/hbase’目录,namenode 运行在tserver01的9000端口。则需要设置为hdfs://tserver01:9000/hbase。默认情况下Hbase是写到/tmp的。不改这个配置,数据会在重启的时候丢失。默认: file:///tmp/hbase-${user.name}/hbase
hbase.cluster.distributed :Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。默认: false
hbase.zookeeper.property.clientPort:ZooKeeper的zoo.conf中的配置。 客户端连接的端口。
hbase.zookeeper.quorum:Zookeeper集群的地址列表,用逗号分割
hbase.zookeeper.property.dataDir:ZooKeeper的zoo.conf中的配置。 快照的存储位置

6、配置conf/regionservers,如:
tserver01
tserver02
完全分布式模式的还需要修改conf/regionservers. 在这里列出了你希望运行的全部 HRegionServer,一行写一个host (就像Hadoop里面的 slaves 一样). 列在这里的server会随着集群的启动而启动,集群的停止而停止.

7、替换hadoop的jar包:
查看lib路面下面hadoop的jar包版本跟hadoop环境版本是否一致,如不一致,使用hadoop环境中的jar包替换hbase中的jar包,在这里笔者使用的是hadoop2.2,版本一致,无需替换。

8、上传hbase到集群其他机器:
scp -r ~/hbase hadoop@tserver02:~/hbase

9、启动,测试
确保hadoop环境已经在运行,使用start-hbase.sh,启动hbase, 输入hbase shell,进行测试。
Hbase也有一个界面,上面会列出重要的属性。默认是在Master的60010端口上H (HBase RegionServers 会默认绑定 60020端口,在端口60030上有一个展示信息的界面 ).如果Master运行在 tserver01,端口是默认的话,你可以用浏览器在 http://tserver01:60010看到主界面. .

发表评论