1.搭建基础环境

环境说明

  1.1JDK1.6.26

  1.2安装hadoop 2.4.0

  1.3修改系统hostname:

     1)vi /etc/sysconfig/network 

           HOSTNAME=redhat6-xxx

     2)  hostname redhat6-xxx

2.添加hbase用户

使用root用户完成以下操作:

  2.1 #groupadd hbase

  2.2 #useradd hbase -g hbase

  2.3 #passwd hbase

  2.4 生成登录密钥

  切换hbase用户进行操作:

#cd /home/hbase
#ssh-keygen -q -t rsa -N "" -f /home/hbase/.ssh/id_rsa
#cd .ssh
#cat id_rsa.pub > authorized_keys
#chmod go-wx  authorized_keys

检查 

#ll  -a /home/hbase/.ssh/
    #ssh redhat6-master(hostname,该hostname必须配置到/etc/hosts中)第一次会有提示,输入yes回车即可,第二次不会再提示

说明:

以上为生成公钥逻辑,如果是集群机器,则需要将authorized_keys复制到各个集群节点的.ssh目录(node1:/home/hbase/.ssh/authorized_keys)   

1 配置集群机器的ssh免密码登录

 2 为了保证master可以无需密码自动登录到各个slave,需先在各个slave上执行

$ su hbase
$ cd /home/hbase

 $ ssh-keygen -t rsa  一路按回车.

 3 然后回到master,复制authorized_keys到各个slave,这里会提示输入密码,输入hadoop账号密码就可以了。

$ scp authorized_keys   redhat6-slave1:/home/hbase/.ssh/
$ scp authorized_keys   redhat6-slave2:/home/hbase/.ssh/
$ scp authorized_keys   redhat6-slaveN:/home/hbase/.ssh/
$ chmod 644 authorized_keys

4 测试:ssh redhat6-slave1或者ssh redhat6-slave2(第一次需要输入yes)。如果不须要输入密码则配置成功,如果还须要请检查上面的配置能不能正确。

3.安装hbase

使用hbase账户完成如下操作

注意:由于 HBase 依赖 Hadoop,在分布式模式下,Hadoop版本必须和HBase下的版本一致。用你运行的分布式Hadoop版本jar文件替换HBase lib目录下的Hadoop jar文件,以避免版本不匹配问题,也可以根据情况自己编译发布包。

  3.1 解压hbase发行包: 

       1.tar xfz hbase-0.98.0-hadoop2-bin.tar.gz

       2.解压到hbase0983目录下

  3.2 配置系统环境

1.#cd /data/app/hbase/hbase0983/conf

2.修改当前用户下的.bash_profile文件,将hbase环境变量配置到profile中

export HBASE_HOME="/data/app/hbase/hbase0983/"
export PATH=$HBASE_HOME/bin:$PATH

3.修改hbase-env.sh文件,增加如下几行

export JAVA_HOME=/usr/java/jdk1.6.0_26/
export HBASE_CLASSPATH=/data/app/hadoop/hadoop-2.4.0/etc/hadoop
export HBASE_MANAGES_ZK=true

 3.3 配置HBase参数然后,修改hbase-site.xml文件

<configuration>
	<property>
		<name>hbase.rootdir</name>
		<value>hdfs://redhat6-master:9000/hbase</value><!--hdfs存储在什么地方-->
	</property>
	<property>
		<name>hbase.cluster.distributed</name>
		<value>true</value><!--是否是集群部署-->
	</property>
	<property>
		<name>hbase.master.port</name>
		<value>60000</value><!--hbase master的端口号-->
	</property>
	<property>
        <name>hbase.master.maxclockskew</name>
        <value>180000</value><!--hbase 允许各服务器时差的最大值-->
        <description>Time difference of regionserver from master</description>
	</property>
	<property>
		<name>hbase.master</name>
		<value>redhat6-master:60000</value><!--hbase master地址-->
	</property>
	<property>
		<name>hbase.zookeeper.quorum</name>
		<value>redhat6-slave4</value><!--slave端各hostname或ip-->
	</property>
</configuration>

 3.4 增加所有机器的regionserver

1.#cd /data/app/hbase/hbase0983/conf

2.在regionservers中增加所有节点的机器hostname

redhat6-master

redhat6-slave1

redhat6-slave2

...

redhat6-slaven

4.启动hbase:

4.1.在Master机器 redhat6-master( 135.10.15.87) 上执行启动脚本:

$./data/app/hbase/hbase0983/bin/start-hbase.sh

4.2.打开redhat6-master http://135.10.15.87:60010 主界面,可以查看Master运行状态。

4.3.启动hbase hql shell:

$/data/app/hbase/hbase0983/bin/hbase shell

在hql shell中可以进行hbase数据操作,如果需要帮助信息可以键入:

hbase>help

简单测试hbase:

在hbase shell下:

hbase>create 't1','f1','f3'

hbase>list

你可能感兴趣的内容
0条评论

dexcoder

这家伙太懒了 <( ̄ ﹌  ̄)>
Owner