Hbase安装模式介绍
单机模式
1> Hbase不使用HDFS,仅使用本地文件系统
2> ZooKeeper与Hbase运行在同一个JVM中
分布式模式
– 伪分布式模式
1> 所有进程运行在同一个节点上,不同进程运行在不同的JVM当中
2> 比较适合实验测试
– 完全分布式模式
1> 进程运行在多个服务器集群中
2> 分布式依赖于HDFS系统,因此布署Hbase之前一定要有一个正常工作的HDFS集群
Linux环境准备
关闭防火墙和SELinux
# service iptables stop
# chkconfig iptables off
# vim /etc/sysconfig/selinux
SELINUX=disabled
配置主机名及主机名绑定
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hbase
# vim /etc/hosts
192.168.244.30 hbase
SSH免密码登录
# ssh-keygen
一直按Enter键
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.30
安装jdk
# tar xvf jdk-7u79-linux-x64.tar.gz -C /usr/local/
# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1..0_79
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# source /etc/profile
Hadoop的安装部署
下载地址:http://hadoop.apache.org/releases.html
在这里,选择2.5.2版本
# wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz
# tar xvf hadoop-2.5.2.tar.gz -C /usr/local/
# cd /usr/local/hadoop-2.5.2/
# vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1..0_79
配置HDFS
# mkdir /usr/local/hadoop-2.5.2/data/
# vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.244.30:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-2.5.2/data/tmp</value>
</property>
</configuration>
# vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
配置YARN
# mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
# vim etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
# vim etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启动HDFS
初始化文件系统
# bin/hdfs namenode -format
...
16/09/25 20:33:02 INFO common.Storage: Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.
...
输出上述信息即代表文件系统初始化成功
启动NameNod和DataNode进程
# sbin/start-dfs.sh
// :: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes wh
ere applicableStarting namenodes on [hbase]
The authenticity of host 'hbase (192.168.244.30)' can't be established.
RSA key fingerprint is 1a::f5:e3:5d:e1:2c:5c:8c:::ba::1c:ac:ba.
Are you sure you want to continue connecting (yes/no)? yes
hbase: Warning: Permanently added 'hbase' (RSA) to the list of known hosts.
hbase: starting namenode, logging to /usr/local/hadoop-2.5./logs/hadoop-root-namenode-hbase.out
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is 1a::f5:e3:5d:e1:2c:5c:8c:::ba::1c:ac:ba.
Are you sure you want to continue connecting (yes/no)? yes
localhost: Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
localhost: starting datanode, logging to /usr/local/hadoop-2.5./logs/hadoop-root-datanode-hbase.out
Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
RSA key fingerprint is 1a::f5:e3:5d:e1:2c:5c:8c:::ba::1c:ac:ba.
Are you sure you want to continue connecting (yes/no)? yes
0.0.0.0: Warning: Permanently added '0.0.0.0' (RSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop-2.5./logs/hadoop-root-secondarynamenode-hbase.out
// :: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes wh
ere applicable
启动YARN
# sbin/start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop-2.5./logs/yarn-root-resourcemanager-hbase.out
localhost: starting nodemanager, logging to /usr/local/hadoop-2.5./logs/yarn-root-nodemanager-hbase.out
通过jps查看各进程是否启动成功
# jps
NodeManager
ResourceManager
NameNode
DataNode
SecondaryNameNode
Jps
也可通过访问http://192.168.244.30:50070/查看hdfs是否启动成功
Hbase的安装部署
下载地址:http://mirror.bit.edu.cn/apache/hbase/1.2.3/hbase-1.2.3-bin.tar.gz
在这里,下载的是1.2.3版本
关于hbase和hadoop的版本对应信息,可参考官档的说明
http://hbase.apache.org/book/configuration.html#basic.prerequisites
# wget http://mirror.bit.edu.cn/apache/hbase/1.2.3/hbase-1.2.3-bin.tar.gz
# tar xvf hbase-1.2.3-bin.tar.gz -C /usr/local/
# cd /usr/local/hbase-1.2.3/
# vim conf/hbase-env.sh
export JAVA_HOME=/usr/local/jdk1..0_79
配置Hbase
# mkdir /usr/local/hbase-1.2.3/data
# vim conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.244.30:8020/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase-1.2.3/data/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
# vim conf/regionservers
192.168.244.30
启动Hbase
# bin/hbase-daemon.sh start zookeeper
starting zookeeper, logging to /usr/local/hbase-1.2./bin/../logs/hbase-root-zookeeper-hbase.out
# bin/hbase-daemon.sh start master
starting master, logging to /usr/local/hbase-1.2./bin/../logs/hbase-root-master-hbase.out
# bin/hbase-daemon.sh start regionserver
starting regionserver, logging to /usr/local/hbase-1.2./bin/../logs/hbase-root-regionserver-hbase.out
通过jps查看新增的java进程
# jps
NodeManager
HQuorumPeer
HRegionServer
HMaster
ResourceManager
NameNode
DataNode
SecondaryNameNode
Jps
可以看出,新增了HQuorumPeer,HRegionServer和HMaster三个进程。
通过http://192.168.244.30:16030/访问Hbase的web页面
至此,Hbase的伪分布式集群搭建完毕~
参考
1. http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/SingleCluster.html