Hadoop 分布式集群搭建完成的基础上
一、编辑 .bashrc 或者 /etc/profile
#Java 配置
export JAVA_HOME=/opt/software/jdk1.7.0_80
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
#Zookeeper 配置
export ZOOKEEPER_HOME=/opt/software/zookeeper-3.4.5
#HBase 配置
export HBASE_HOME=/opt/software/hbase-1.2.2
#Hadoop 配置
export HADOOP_PREFIX=/opt/software/hadoop-2.6.5
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_HOME=$HADOOP_PREFIX
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export YARN_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export YARN_HOME=$HADOOP_PREFIX
export PATH=$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$PATH
二、修改 /opt/software/hbase-1.2.2/conf 的配置文件
2.1 修改 hbase-env.sh
export JAVA_HOME=/opt/software/jdk1.7.0_80
export HBASE_MANAGES_ZK=false
export HBASE_PID_DIR=${HBASE_HOME}/pids
上面三行能在hbase-env.sh中找到
下面两行是新加的
export HADOOP_HOME=/opt/software/hadoop-2.6.5
export JAVA_LIBRARY_PATH=/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native
export HBASE_LIBRARY_PATH=$LD_LIBRARY_PATH:$HBASE_LIBRARY_PATH
2.2 修改 hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://vm-007:9000/hbase</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/disk/hbase/tempdir</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>vm-007:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>vm-007,vm-008,vm-009</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
2.3 修改 regionservers
vm-007
vm-008
vm-009
2.4 在vm-007执行
scp regionservers hbase-site.xml hbase-env.sh lwj@vm-008:/opt/software/hbase-1.2.2/conf
scp regionservers hbase-site.xml hbase-env.sh lwj@vm-009:/opt/software/hbase-1.2.2/conf
2.5 启动/停止
lwj@vm-009:/opt/software/hbase-1.2.2$ ./bin/start-hbase.sh
lwj@vm-009:/opt/software/hbase-1.2.2$ ./bin/stop-hbase.sh
2.6 监控页面
2.7 Shell 简单操作
进入 shell
lwj@vm-007:/opt/software/hbase-1.2.2$ ./bin/hbase shell
list 查看表
hbase(main):001:0> list
TABLE
user
1 row(s) in 1.3210 seconds
=> ["user"]
create 创建表
create 'user','useId','userName','info'
创建一张user表,列簇是Info,两个字段,userId和userName
put 写数据
put 'user','3136949-a','info:useId','a'
put 'user','3136949-a','info:userName','momisabuilder'
get 查数据
get 'user','3136949-a'
hbase(main):002:0> get 'user','3136949-a'
COLUMN CELL
info:useId timestamp=1482427597070, value=a
info:userName timestamp=1482427621441, value=momisabuilder
scan 扫表
hbase(main):003:0> scan 'user'
ROW COLUMN+CELL
3136949-a column=info:useId, timestamp=1482427597070, value=a
3136949-a column=info:userName, timestamp=1482427621441, value=momisabuilder
describe 描述
hbase(main):004:0> describe 'user'
Table user is ENABLED
user
COLUMN FAMILIES DESCRIPTION
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FO
REVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
{NAME => 'useId', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'F
OREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
{NAME => 'userName', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL =>
'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
三、启动失败情况
这样搭建下来,在启动的时候,会出现Hmaster闪退的情况,检查vm-007,vm-008,vm-009发现他们的机器时间不同
Hbase的安装目录Lib下的Haoop依赖Jar必须与Hadoop的安装版本保持一直,这个得替换掉
四、Hadoop Hbase Zookeeper 启动停止顺序
Hadoop、ZooKeeper和HBase之间应该按照顺序启动和关闭:
启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停止ZooKeeper集
群—>停止Hadoop。