Zookeeper,Hbase,hadoop之间的联系

来源:互联网 发布:linux线程优先级设置 编辑:程序博客网 时间:2024/05/16 15:47

这里有几个主要关系:

1.经过Map、Reduce运算后产生的结果看上去是被写入到HBase了,但是其实HBase中HLog和StoreFile中的文件在进行flushto disk操作时,这两个文件存储到了HDFS的DataNode中,HDFS才是永久存储。

2.ZooKeeper跟HadoopCore、HBase有什么关系呢?ZooKeeper都提供了哪些服务呢?主要有:管理Hadoop集群中的NameNode,HBase中HBaseMaster的选举,Servers之间状态同步等。具体一点,细一点说,单只HBase中ZooKeeper实例负责的工作就有:存储HBase的Schema,实时监控HRegionServer,存储所有Region的寻址入口,当然还有最常见的功能就是保证HBase集群中只有一个Master。

 


 

2、搭建完全分布式集群


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


 一.搭建Hadoop集群


   1.安装JDK.在每台机器下建立相同的目录/usr/java.把下载的jdk(1.6及以上版本)复制到/usr/java目录下面,使用命令

  1. tar –zxvf  jdk-7u9-linux-i586.tar.gz  
  2. sudo chmod 777 jdk-1.7.0_09  

把jdk的路径加到环境变量中:                   

  1. vim.tiny  /etc/profile  

  在该文件最后一行添加:

  1. JAVA_HOME=/usr/java/jdk1.7.0_09  
  2.             PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:PATH  
  3.                CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  

使修改的操作生效:                          

  1. source   /etc/profile             

 可以使用                                                 

  1. java  -version  

 进行验证是否已配置成功.

 2.在每台机器上建立相同的用户名                             

  1. sudo adduser  cloud  
  2. password   cloud  

 输入你要设置的密码.然后在每台机器作配置:                          

  1. sudo gedit  /etc/hosts  

  打开文件后加入如下内容:                    

  1. 10.2.11.1 namenode  
  2.  10.2.11.2 datanode1  
  3.  10.2.11.3 datanode2  
  4.  10.2.11.4 datanode3  

3.在/home/cloud/目录下建立一个文件夹project,命令如下:                   

  1. mkdir  project    

      把hadoop-1.0.3.tar.gz,zookeeper-3.4.4.tar.gz,hbase-0.94.2.tar.gz,这些下载的软件包放在此目录下面,以待下一步操作。
 4.使用命令

  1. tar  –zxvf   hadoop-1.0.3.tar.gz  

进行解压文件.进入配置目录,开始配置.    

  1. cd  hadoop-1.0.3/conf  

5. 使用命令: vim.tiny  hadoop-env.sh 把java的安装路径加进去: 

  1. JAVA_HOME=/usr/java/jdk1.7.0_09/  

 6. vim.tiny  core-site.xml ,加入如下配置:

  1. <property>  
  2.                <name>hadoop.tmp.dir</name>  
  3.                           <value>/home/cloud/project/tmp</value>  
  4. </property  
  5. property  
  6.                  <name> fs.default.name</name>  
  7.                        <value>hdfs://namenode:9000</value>  
  8. </property  

7.  vim.tiny   hdfs-site.xml,加入如下配置:

  1. <property  
  2. <name>dfs.repplication</name>  
  3. <value>3</value>  
  4. </property  
  5. <property>  
  6. <name>dfs.data.dir</name>  
  7. <value>/home/cloud/project/tmp/data</value>  
  8. </ property  

 8. gedit  mapred-site.xml,添加如下内容:

  1. <property>  
  2. <name>mapred.job.tracker</name>  
  3. <value>namenode:9001</value>  
  4. </property  

 9. gedit  master,加入如下配置内容:

  1. namenode  

  10. gedit  slaves,加入如下配置内容:

  1. datanode1  
  2. datanode2  
  3.  datanode3   

 11. 配置机器之间无密码登陆.在每台机器下建立相同目录 .ssh ,如

  1. mkdir     /home/cloud/.ssh  

在namenode节点下,使用命令ssh-keygen –trsa,然后一直回车(中间不用输入任何其他信息),直到结束,然后使用命令cd .ssh,

  1. cp id_rsa.pub authorized.keys      

使用远程传输,把authorized.keys分别复制到其他机器的.ssh目录下面,命令如下:

  1. scp authorized_keys  datanode1:/home/cloud/.ssh  
  2. scp authorized_keys  datanode2:/home/cloud/.ssh  
  3.        scp authorized_keys  datanode3:/home/cloud/.ssh         

  进入每台机器的.ssh目录下修改authorized_keys的权限,命令如下:

  1. chmod 644 authorized_keys     

12.把配置好的hadoop分别拷贝到集群中其他机器上,命令如下: 

  1. scp –r hadoop-1.0.3  datanode1:/home/cloud/project  
  2. scp –r hadoop-1.0.3  datanode2:/home/cloud/project  
  3.      scp –r hadoop-1.0.3  datanode3:/home/cloud/project       

13.在namenode机器下,进入hadoop的安装目录,对文件系统进行格式化:

  1. bin/hadoop namenode   –format    

14. 启动集群:bin/start-all.sh.     可以使用

  1. bin/hadoop  dfsadmin  –report                  

查看文件系统的使用情况。     使用命令 

  1. jps  

 查看节点服务启动情况,正常情况有:jobtracker、namenode、jps、secondnamenode.否则启动异常,重新检查安装步骤。

  二.安装zookeeper       

 1.在namenode机器下,配置zookeeper,先解压安装包,使用命令:

  1. tar -zxvf zookeeper-3.4.4.tar.gz       

 2.进入zookeeper的配置目录,首先把zoo_sample.cfg重命名一下,可以重新复制一遍,使用命令:

  1. cp zoo_sample.cfg zoo.cfg      

 3.gedit   zoo.cfg ,添加如下内容:

  1.                dataDir=/home/cloud/project/tmp/zookeeper/data  
  2. server.1 datanode1:7000:7001  
  3. server.2 =datanode2:7000:7001  
  4. server.3 =datanode3:7000:7001  

4.把zookeeper分别远程拷贝datanode1,datanode2,datenode3,使用如下命令:

  1. scp –r zookeeper-3.4.4  datanode1:/home/cloud/project  
  2. scp –r zookeeper-3.4.4  datanode2:/home/cloud/project  
  3. scp –r zookeeper-3.4.4  datanode3:/home/cloud/project  

5.分别在刚才的datanode节点/home/cloud/project/tmp/zookeeper/data目录下,新建文件myid,然后使用命令

  1. vim.tiny  myid  

  分别在datanode1,datanode2,datanode3的myid中写入对应的server.n中的n,即分别是1,2,3.

6.开启zookeeper服务,在三台datanode机器的zookeeper安装目录下使用命令:

  1. bin/zkServer.sh start  

三.部署hbase

1.解压缩hbase的软件包,使用命令:

  1. tar -zxvf hbase-0.94.2.tar.gz  

2.进入hbase的配置目录,在hbase-env.sh文件里面加入java环境变量.即:

  1. JAVA_HOME=/usr/java/jdk1.7.0_09/    

加入变量:

  1. export  HBASE_MANAGES_ZK=false  

3. 编辑hbase-site.xml ,添加配置文件:

  1. <property>  
  2. <name>hbase.rootdir</name>  
  3. <value>hdfs://namenode:9000/hbase</value>  
  4. </property>  
  5. <property>  
  6. <name>hbase.cluster.distributed</name>  
  7. <value>true</value>  
  8. </property>  
  9. <property>  
  10. <name>hbase.zookeeper.quorum</name>  
  11. <value>datanode1,datanode2,datanode3</value>  
  12. </property>  
  13. <property>  
  14. <name>hbase.zookeeper.property.dataDir</name>  
  15. <value>/home/cloud/project/tmp/zookeeper/data</value>  
  16. </property>  

4. 编辑配置目录下面的文件regionservers. 命令:

  1. vim.tiny    regionservers    

加入如下内容:

  1. datanode1  
  2. datanode2  
  3. datandoe3  

5. 把Hbase复制到其他机器,命令如下:

  1. scp -r hbase-0.94.2   datanode1:/home/cloud/project  
  2. scp -r hbase-0.94.2   datanode2:/home/cloud/project  
  3. scp -r hbase-0.94.2   datanode3:/home/cloud/project  

6. 开启hbase服务。命令如下:

  1. bin/start-hbase.sh     

可以使用bin/hbaseshell进入hbase自带的shell环境,然后使用命令version等,进行查看hbase信息及建立表等操作。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 善林金融倒闭投资者的钱怎么办? 微信支付密码忘了怎么办没绑卡 美团外卖没有骑手接单怎么办 发微信的"发送"没有了怎么办 华硕电脑下面的任务栏卡住了怎么办 微信登别人电脑上忘记退了怎么办 买手机买全新结果买到翻新机怎么办 苹果手机激活锁忘了id账号怎么办 淘宝很多产品都需要3c怎么办 小米mix装在兜里还能解锁怎么办 痰咳不出来憋的嘴唇紫了怎么办 京东闪电退款后不给退货怎么办 我的中国银行卡在异地被冻结怎么办 qq密保号码换了验证不了怎么办 qq登陆需要密保手机验证怎么办 微信漂流瓶被投诉收不到回复怎么办 电视的屏幕出现三条黑线怎么办 付了定金的房子不想要了怎么办 顾客刚买了东西就退怎么办 飞机票买了但是没有报团怎么办 日本寄东西回来深圳海关扣了怎么办 xp框架安装模块后无限重启怎么办 手机百度云下载的文件不见了怎么办 百度云手机号换了文件不见了怎么办 好劵app提现密码忘了要怎么办 微信上买的衣服不给退货怎么办 在微信上买的衣服不给退货怎么办 贴贴纸的地方出现色差了怎么办 贴在玻璃上的贴纸撕掉后有胶怎么办 魅族手机部分时间上划失效怎么办 别人电脑上c盘文件无权访问怎么办 网络已连接但上不了网怎么办 asp复选框选中的有重复值怎么办 邮件在邮递中出现损坏怎么办呢? 爱彩彩票资金密码忘记了怎么办 注册彩票网站忘了资金密码怎么办 电车电瓶加水后电压变低怎么办 电动车电瓶四块电池坏了一块怎么办 把小孩的玩具修坏了怎么办 电动车插头太紧了插不到底怎么办 宜家沙发不能更换布套怎么办