文章转载自博客 http://edu.dataguru.cn/thread-241488-1-1.html。(写的很详细,留待之后实践。)html
这里有几个主要关系:java
1.通过Map、Reduce运算后产生的结果看上去是被写入到HBase了,可是其实HBase中HLog和StoreFile中的文件在进行flush to disk操做时,这两个文件存储到了HDFS的DataNode中,HDFS才是永久存储。node
2.ZooKeeper跟Hadoop Core、HBase有什么关系呢?ZooKeeper都提供了哪些服务呢?主要有:管理Hadoop集群中的NameNode,HBase中HBaseMaster的选举,Servers之间状态同步等。具体一点,细一点说,单只HBase中ZooKeeper实例负责的工做就有:存储HBase的Schema,实时监控HRegionServer,存储全部Region的寻址入口,固然还有最多见的功能就是保证HBase集群中只有一个Master。shell
二、搭建彻底分布式集群vim
在作hadoop,hbase这方面的工做有一段时间了,常常有刚接触这些东西的身边朋友,向我询问基本环境的搭建问题,因而就想以回忆录的形式把基本配置的步骤整理出来,以便刚接触的朋友作个参考.
HBase集群创建在hadoop集群基础之上,因此在搭建HBase集群以前须要把Hadoop集群搭建起来,而且要考虑两者的兼容性.如今就以四台机器为例,搭建一个简单的集群.
使用的软件版本:hadoop-1.0.3,hbase-0.94.2,zookeeper-3.4.4.
四台机器IP:10.2.11.1,10.2.11.2,10.2.11.3,10.2.11.4.ssh
一.搭建Hadoop集群分布式
1. 安装JDK.在每台机器下创建相同的目录/usr/Java.把下载的jdk(1.6及以上版本)复制到/usr/java目录下面,使用命令oop
把jdk的路径加到环境变量中: spa
在该文件最后一行添加:orm
使修改的操做生效:
能够使用
进行验证是否已配置成功.
2.在每台机器上创建相同的用户名
输入你要设置的密码.而后在每台机器做配置:
打开文件后加入以下内容:
3.在/home/cloud/目录下创建一个文件夹project,命令以下:
把hadoop-1.0.3.tar.gz,zookeeper-3.4.4.tar.gz,hbase-0.94.2.tar.gz,这些下载的软件包放在此目录下面,以待下一步操做。
4.使用命令
进行解压文件.进入配置目录,开始配置.
5. 使用命令 : vim.tiny hadoop-env.sh 把java的安装路径加进去:
6. vim.tiny core-site.xml ,加入以下配置:
7. vim.tiny hdfs-site.xml,加入以下配置:
8. gedit mapred-site.xml,添加以下内容:
9. gedit master,加入以下配置内容:
10. gedit slaves,加入以下配置内容:
11. 配置机器之间无密码登录.在每台机器下创建相同目录 .ssh ,如
在namenode节点下,使用命令ssh-keygen –t rsa,而后一直回车(中间不用输入任何其余信息),直到结束,而后使用命令cd .ssh,
使用远程传输,把authorized.keys分别复制到其余机器的.ssh目录下面,命令以下:
进入每台机器的.ssh目录下修改authorized_keys的权限,命令以下:
12.把配置好的hadoop分别拷贝到集群中其余机器上,命令以下:
13.在namenode机器下,进入hadoop的安装目录,对文件系统进行格式化:
14. 启动集群: bin/start-all.sh. 能够使用
查看文件系统的使用状况。 使用命令
查看节点服务启动状况,正常状况有:jobtracker、namenode、jps、secondnamenode.不然启动异常,从新检查安装步骤。
二.安装zookeeper
1.在namenode机器下,配置zookeeper,先解压安装包,使用命令:
2.进入zookeeper的配置目录,首先把zoo_sample.cfg重命名一下,能够从新复制一遍,使用命令:
3.gedit zoo.cfg ,添加以下内容:
4.把zookeeper分别远程拷贝datanode1,datanode2,datenode3,使用以下命令:
5.分别在刚才的datanode节点/home/cloud/project/tmp/zookeeper/data目录下,新建文件myid,而后使用命令
分别在datanode1,datanode2,datanode3的myid中写入对应的server.n中的n,即分别是1,2,3.
6.开启zookeeper服务,在三台datanode机器的zookeeper安装目录下使用命令:
三.部署hbase
1.解压缩hbase的软件包,使用命令:
2.进入hbase的配置目录,在hbase-env.sh文件里面加入java环境变量.即:
加入变量:
3. 编辑hbase-site.xml ,添加配置文件:
4. 编辑配置目录下面的文件regionservers. 命令:
加入以下内容:
5. 把Hbase复制到其余机器,命令以下:
6. 开启hbase服务。命令以下:
能够使用bin/hbaseshell 进入hbase自带的shell环境,而后使用命令version等,进行查看hbase信息及创建表等操做。