你的位置:首页 > 数据库

[数据库]Hbase的伪分布式安装


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=yesHOSTNAME=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.7.0_79export PATH=$JAVA_HOME/bin:$PATHexport 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.7.0_79

 

配置HDFS

# mkdir /usr/local/hadoop-2.5.2/data/

# vim etc/hadoop/core-site.

<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.

<configuration>  <property>    <name>dfs.replication</name>    <value>1</value>  </property></configuration>

 

配置YARN

# mv etc/hadoop/mapred-site.

# vim etc/hadoop/mapred-site.

<configuration>  <property>    <name>mapreduce.framework.name</name>    <value>yarn</value>  </property></configuration>

 

# vim etc/hadoop/yarn-site.

<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

16/10/09 19:35:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableStarting namenodes on [hbase]The authenticity of host 'hbase (192.168.244.30)' can't be established.RSA key fingerprint is 1a:12:f5:e3:5d:e1:2c:5c:8c:56:52:ba:42:1c:ac:ba.Are you sure you want to continue connecting (yes/no)? yeshbase: Warning: Permanently added 'hbase' (RSA) to the list of known hosts.hbase: starting namenode, logging to /usr/local/hadoop-2.5.2/logs/hadoop-root-namenode-hbase.outThe authenticity of host 'localhost (::1)' can't be established.RSA key fingerprint is 1a:12:f5:e3:5d:e1:2c:5c:8c:56:52:ba:42:1c:ac:ba.Are you sure you want to continue connecting (yes/no)? yeslocalhost: Warning: Permanently added 'localhost' (RSA) to the list of known hosts.localhost: starting datanode, logging to /usr/local/hadoop-2.5.2/logs/hadoop-root-datanode-hbase.outStarting 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:12:f5:e3:5d:e1:2c:5c:8c:56:52:ba:42:1c:ac:ba.Are you sure you want to continue connecting (yes/no)? yes0.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.2/logs/hadoop-root-secondarynamenode-hbase.out16/10/09 19:35:32 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

 

启动YARN

# sbin/start-yarn.sh 

starting yarn daemonsstarting resourcemanager, logging to /usr/local/hadoop-2.5.2/logs/yarn-root-resourcemanager-hbase.outlocalhost: starting nodemanager, logging to /usr/local/hadoop-2.5.2/logs/yarn-root-nodemanager-hbase.out

 

通过jps查看各进程是否启动成功

# jps

2421 NodeManager2339 ResourceManager1924 NameNode2029 DataNode2170 SecondaryNameNode2721 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.7.0_79

 

配置Hbase

# mkdir /usr/local/hbase-1.2.3/data

# vim conf/hbase-site.

<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.3/bin/../logs/hbase-root-zookeeper-hbase.out

# bin/hbase-daemon.sh start master

starting master, logging to /usr/local/hbase-1.2.3/bin/../logs/hbase-root-master-hbase.out

# bin/hbase-daemon.sh start regionserver

starting regionserver, logging to /usr/local/hbase-1.2.3/bin/../logs/hbase-root-regionserver-hbase.out

通过jps查看新增的java进程

# jps

2421 NodeManager2975 HQuorumPeer3302 HRegionServer3051 HMaster2339 ResourceManager1924 NameNode2029 DataNode2170 SecondaryNameNode3332 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

2. http://hbase.apache.org/book.html#quickstart