轻松搭建hadoop-1.2.1集群(5)—配置HBase集群
1、解压hbase:
hbase解压在 /usr/local/ 目录里面:
[root@hadoop0 local]# pwd /usr/local
[root@hadoop0 local]# ll 总用量 216592 drwxr-xr-x. 7 root root 4096 2月 23 14:31 hbase -rw-r--r--. 1 root root 69385590 2月 23 14:30 hbase-0.98.0-hadoop1-bin.tar.gz
2、设置环境变量:
配置环境变量:
[root@hadoop0 hbase]# vim /etc/profile
添加如下内容:
#set hbase path export HBASE_HOME=/usr/local/hbase export PATH=.:$HBASE_HOME/bin:$PATH
使配置生效:
[root@hadoop0 hbase]# source /etc/profile
3、配置hbase-env.sh文件:
查看 /usr/local/hbase/conf 目录里面的配置文件:
[root@hadoop0 conf]# pwd /usr/local/hbase/conf [root@hadoop0 conf]# ls hadoop-metrics2-hbase.properties hbase-env.sh hbase-site.xml regionservers hbase-env.cmd hbase-policy.xml log4j.properties [root@hadoop0 conf]#
执行vi编辑命令:
[root@hadoop0 conf]# vim hbase-env.sh
添加内容1,制定jdk路径:
export JAVA_HOME=/usr/local/jdk
添加内容2,不用hbase自带的zookeeper:
export HBASE_MANAGES_ZK=false
4、配置hbase-site.xml 文件:
执行vi编辑命令:
[root@hadoop0 conf]# vim hbase-site.xml
添加内容如下:
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.1.2:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>hadoop0,hadoop1,hadoop2</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
5、配置regionservers文件:
[root@hadoop0 conf]# vim regionservers
添加内容如下:
192.168.1.3 192.168.1.4
6、复制hadoop0中的hbase文件夹到hadoop1、hadoop2中
往hadoop1上拷贝:
[root@hadoop0 local]# scp -r hbase192.168.1.3:/usr/local/
往hadoop2上拷贝:
[root@hadoop0 local]# scp -r hbase192.168.1.4:/usr/local/
7、复制hadoop0中的/etc/profile配置文件到hadoop1、hadoop2中
往hadoop1上拷贝:
[root@hadoop0 local]# scp /etc/profile 192.168.1.3:/etc/profile 100% 2291 2.2KB/s 00:00
往hadoop2上拷贝:
[root@hadoop0 local]# scp /etc/profile192.168.1.4:/etc/ profile 100% 2291 2.2KB/s 00:00
在hadoop1上执行下面命令使配置生效:
[root@hadoop1 ~]# source /etc/profile
在hadoop2上执行下面命令使配置生效:
[root@hadoop2 ~]# source /etc/profile
8、启动hbase:
先启动hadoop,再启动zookeeper,最后启动hbase:
第一先启动hadoop,执行命令 start-all.sh:
[root@hadoop0 ~]# start-all.sh Warning: $HADOOP_HOME is deprecated. starting namenode, logging to/usr/local/hadoop/libexec/../logs/hadoop-root-namenode-hadoop0.out 192.168.1.3: starting datanode, logging to/usr/local/hadoop/libexec/../logs/hadoop-root-datanode-hadoop1.out 192.168.1.4: starting datanode, logging to/usr/local/hadoop/libexec/../logs/hadoop-root-datanode-hadoop2.out 192.168.1.2: starting secondarynamenode,logging to/usr/local/hadoop/libexec/../logs/hadoop-root-secondarynamenode-hadoop0.out starting jobtracker, logging to/usr/local/hadoop/libexec/../logs/hadoop-root-jobtracker-hadoop0.out 192.168.1.4: starting tasktracker, loggingto /usr/local/hadoop/libexec/../logs/hadoop-root-tasktracker-hadoop2.out 192.168.1.3: starting tasktracker, loggingto /usr/local/hadoop/libexec/../logs/hadoop-root-tasktracker-hadoop1.out
查看hadoop0上进程:
[root@hadoop0 ~]# jps 4575 JobTracker 4345 NameNode 4492 SecondaryNameNode 4652 Jps [root@hadoop0 ~]#
查看hadoop1上进程:
[root@hadoop1 ~]# jps 3459 DataNode 3593 Jps 3535 TaskTracker
查看hadoop2上进程:
[root@hadoop2 ~]# jps 3505 Jps 3428 TaskTracker 3351 DataNode
第二启动zookeeper:
在hadoop0上启动zookeeper:
[root@hadoop0 ~]# zkServer.sh start JMX enabled by default Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
在hadoop1上启动zookeeper:
[root@hadoop1 ~]# zkServer.sh start JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
在hadoop2上启动zookeeper:
[root@hadoop2 ~]# zkServer.sh start JMX enabled by default Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
查看hadoop0上zookeeper状态:
[root@hadoop0 ~]# zkServer.sh status JMX enabled by default Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower
查看hadoop1上zookeeper状态:
[root@hadoop1 ~]# zkServer.sh status JMX enabled by default Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg Mode: leader
查看hadoop2上zookeeper状态:
[root@hadoop2 ~]# zkServer.sh status JMX enabled by default Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower
查看hadoop0上进程:
[root@hadoop0 ~]# jps 4575 JobTracker 4796 Jps 4744 QuorumPeerMain 4345 NameNode 4492 SecondaryNameNode
查看hadoop1上进程:
[root@hadoop1 ~]# jps 3459 DataNode 3711 Jps 3535 TaskTracker 3651 QuorumPeerMain
查看hadoop2上进程:
[root@hadoop2 ~]# jps 3428 TaskTracker 3546 QuorumPeerMain 3351 DataNode 3600 Jps
第三启动HBase:
执行启动命令 start-hbase.sh :
[root@hadoop0 ~]# start-hbase.sh starting master, logging to/usr/local/hbase/logs/hbase-root-master-hadoop0.out 192.168.1.3: starting regionserver, loggingto /usr/local/hbase/bin/../logs/hbase-root-regionserver-hadoop1.out 192.168.1.4: starting regionserver, loggingto /usr/local/hbase/bin/../logs/hbase-root-regionserver-hadoop2.out [root@hadoop0 ~]#
查看hadoop0上进程:
[root@hadoop0 ~]# jps 4575 JobTracker 6258 HMaster 4744 QuorumPeerMain 4345 NameNode 4492 SecondaryNameNode 6428 Jps
查看hadoop1上进程:
[root@hadoop1 ~]# jps 3459 DataNode 4268 HRegionServer 3535 TaskTracker 3651 QuorumPeerMain 4426 Jps
查看hadoop2上进程:
[root@hadoop2 ~]# jps 4005 Jps 3880 HRegionServer 3428 TaskTracker 3546 QuorumPeerMain 3351 DataNode
9、在浏览器上输入如下网址,查看hbase集群状态:
http://192.168.1.2:60010/master-status
HMaster
查看HRegionServer状态:
http://192.168.1.3:60030/rs-status
除了IP与主机名绑定的部分,最好都用主机名,这样统一设置方便各个步骤正常进行。
如果不统一可能哪个地方会出错,连接拒绝,找不到主机名等。
我之前写的hadoop集群搭建最好把一些IP地址换成主机名,这样层次条理分明些。
10、进入hbase shell命令操作:
进入hbase shell:
[root@hadoop0 ~]# hbase shell HBase Shell; enter 'help<RETURN>' forlist of supported commands. Type "exit<RETURN>" toleave the HBase Shell Version 0.98.0-hadoop1, r1565492, ThuFeb 6 16:20:15 PST 2014 hbase(main):001:0>
查看hbase集群状态:
hbase(main):002:0> status 2 servers, 0 dead, 1.0000 average load hbase(main):003:0>
查看hbase版本:
hbase(main):003:0> version 0.98.0-hadoop1, r1565492, Thu Feb 6 16:20:15 PST 2014 hbase(main):004:0>
查看表:
hbase(main):008:0> list TABLE 0 row(s) in 0.1950 seconds => [] hbase(main):009:0>
创建一个表:
hbase(main):009:0> create 'baozi','address','info' 0 row(s) in 49.7070 seconds => Hbase::Table - baozi hbase(main):010:0>
查看表:
hbase(main):010:0> list TABLE baozi 1 row(s) in 8.3030 seconds => ["baozi"] hbase(main):011:0>
退出hbase shell :
hbase(main):011:0> quit [root@hadoop0 ~]#
11、关闭hbase 集群:
先关闭hbase,在关闭zookeeper,最后关闭hadoop:
第一步关闭hbase集群,执行命令 stop-hbase.sh :
[root@hadoop0 ~]# stop-hbase.sh stoppinghbase.................................
查看hadoop0进程:
[root@hadoop0 ~]# jps 4575 JobTracker 7054 Jps 4744 QuorumPeerMain 4345 NameNode 4492 SecondaryNameNode
查看hadoop1进程:
[root@hadoop1 ~]# jps 4613 Jps 3459 DataNode 3535 TaskTracker 3651 QuorumPeerMain
查看hadoop2进程:
[root@hadoop2 ~]# jps 3428 TaskTracker 3546 QuorumPeerMain 3351 DataNode 4186 Jps
第二关闭zookeeper集群:
在hadoop0上执行命令zkServer.sh stop:
[root@hadoop0 ~]# zkServer.sh stop JMX enabled by default Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED [root@hadoop0 ~]#
在hadoop1上执行命令zkServer.sh stop:
[root@hadoop1 ~]# zkServer.sh stop JMX enabled by default Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED [root@hadoop1 ~]#
在hadoop2上执行命令zkServer.sh stop:
[root@hadoop2 ~]# zkServer.sh stop JMX enabled by default Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED [root@hadoop2 ~]#
查看hadoop0进程:
[root@hadoop0 ~]# jps
4575 JobTracker 7080 Jps 4345 NameNode 4492 SecondaryNameNode
查看hadoop1进程:
[root@hadoop1 ~]# jps 3459 DataNode 3535 TaskTracker 4636 Jps
查看hadoop2进程:
[root@hadoop2 ~]# jps 4209 Jps 3428 TaskTracker 3351 DataNode
第三执行关闭hadoop命令:
执行关闭hadoop命令 stop-all.sh :
[root@hadoop0 ~]# stop-all.sh Warning: $HADOOP_HOME is deprecated. stopping jobtracker 192.168.1.4: stopping tasktracker 192.168.1.3: stopping tasktracker stopping namenode 192.168.1.3: stopping datanode 192.168.1.4: stopping datanode 192.168.1.2: stopping secondarynamenode
查看hadoop0进程:
[root@hadoop0 ~]# jps 7548 Jps [root@hadoop0 ~]#
查看hadoop1进程:
[root@hadoop1 ~]# jps 4780 Jps [root@hadoop1 ~]#
查看hadoop2进程:
[root@hadoop2 ~]# jps 4353 Jps [root@hadoop2 ~]#