Hadoop Core、HBase 、ZooKeeper

adoop+HBase+ZooKeeper三者关系与安装配置 

[复制链接]
   
论坛徽章:
18
SAS研习者初级日期:2012-08-20 22:27:43 Datastage徽章日期:2016-03-03 15:36:57 MongoDB徽章日期:2015-12-10 15:59:54 Oracle研习者高级日期:2015-11-19 14:07:25 Goldengate徽章日期:2015-08-20 15:23:02 Node.js徽章日期:2015-06-11 14:37:54 抽样调查徽章日期:2015-06-09 14:18:25 scala徽章日期:2014-11-06 14:55:17 比特币徽章日期:2014-11-06 14:53:58 树莓派日期:2014-09-19 15:22:08 Oracle研习者中级日期:2014-09-19 14:29:20 Oracle研习者高级日期:2014-09-19 14:27:30
跳转到指定楼层
1#
  发表于 2014-2-18 23:15  |  只看该作者  回帖奖励
本帖最后由 qqjue 于 2014-2-18 23:16 编辑

这里有几个主要关系:

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

2.ZooKeeper跟Hadoop Core、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目录下面,使用命令

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




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

  • vim.tiny  /etc/profile  




  在该文件最后一行添加:

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




使修改的操作生效:                          

  • source   /etc/profile             




可以使用                                                

  • java  -version  




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

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

  • sudo adduser  cloud  
  • password   cloud  




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

  • sudo gedit  /etc/hosts  




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

  • 10.2.11.1 namenode  
  • 10.2.11.2 datanode1  
  • 10.2.11.3 datanode2  
  • 10.2.11.4 datanode3  




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

  • mkdir  project    




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

  • tar  –zxvf   hadoop-1.0.3.tar.gz  




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

  • cd  hadoop-1.0.3/conf  




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

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




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

  • <property>  
  •                <name>hadoop.tmp.dir</name>  
  •                           <value>/home/cloud/project/tmp</value>  
  • </property >  
  • < property >  
  •                  <name> fs.default.name</name>  
  •                        <value>hdfs://namenode:9000</value>  
  • </property >  




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

  • <property >  
  • <name>dfs.repplication</name>  
  • <value>3</value>  
  • </property >  
  • <property>  
  • <name>dfs.data.dir</name>  
  • <value>/home/cloud/project/tmp/data</value>  
  • </ property >  




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

  • <property>  
  • <name>mapred.job.tracker</name>  
  • <value>namenode:9001</value>  
  • </property >  




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

  • namenode  




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

  • datanode1  
  • datanode2  
  • datanode3   




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

  • mkdir     /home/cloud/.ssh  




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

  • cp id_rsa.pub authorized.keys      




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

  • scp authorized_keys  datanode1:/home/cloud/.ssh  
  • scp authorized_keys  datanode2:/home/cloud/.ssh  
  •        scp authorized_keys  datanode3:/home/cloud/.ssh         




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

  • chmod 644 authorized_keys     




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

  • scp –r hadoop-1.0.3  datanode1:/home/cloud/project  
  • scp –r hadoop-1.0.3  datanode2:/home/cloud/project  
  •      scp –r hadoop-1.0.3  datanode3:/home/cloud/project       




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

  • bin/hadoop namenode   –format    




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

  • bin/hadoop  dfsadmin  –report                  




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

  • jps  




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

  二.安装zookeeper      

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

  • tar -zxvf zookeeper-3.4.4.tar.gz       




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

  • cp zoo_sample.cfg zoo.cfg      




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

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




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

  • scp –r zookeeper-3.4.4  datanode1:/home/cloud/project  
  • scp –r zookeeper-3.4.4  datanode2:/home/cloud/project  
  • scp –r zookeeper-3.4.4  datanode3:/home/cloud/project  




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

  • vim.tiny  myid  




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

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

  • bin/zkServer.sh start  




三.部署hbase

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

  • tar -zxvf hbase-0.94.2.tar.gz  




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

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




加入变量:

  • export  HBASE_MANAGES_ZK=false  




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

  • <property>  
  • <name>hbase.rootdir</name>  
  • <value>hdfs://namenode:9000/hbase</value>  
  • </property>  
  • <property>  
  • <name>hbase.cluster.distributed</name>  
  • <value>true</value>  
  • </property>  
  • <property>  
  • <name>hbase.zookeeper.quorum</name>  
  • <value>datanode1,datanode2,datanode3</value>  
  • </property>  
  • <property>  
  • <name>hbase.zookeeper.property.dataDir</name>  
  • <value>/home/cloud/project/tmp/zookeeper/data</value>  
  • </property>  




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

  • vim.tiny    regionservers    




加入如下内容:

  • datanode1  
  • datanode2  
  • datandoe3  




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

  • scp -r hbase-0.94.2   datanode1:/home/cloud/project  
  • scp -r hbase-0.94.2   datanode2:/home/cloud/project  
  • scp -r hbase-0.94.2   datanode3:/home/cloud/project  




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

  • bin/start-hbase.sh     




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

代码转载自:https://pan.quark.cn/s/8ce4326d996e 对于在 CentOS 7 系统中修改网卡配置文件后无法使设置生效的情况,经过实践验证,可以通过使用 nmcli 命令来进行调整。完成修改之后,需要重新启动虚拟机以使更改生效,这样操作流程即告完成。如果设置仍然无法生效,则表明虚拟机在启动过程中所获取的 IP 地址配置并非针对 eth0,此时可以对其它网卡的配置文件进行修改或将其移除。在 CentOS 7 系统中,网络配置的管理机制与早期版本存在差异,主要体现为采用了 Network Manager 服务来负责网络接口的管理。在某些情形下,尽管修改了 `/etc/sysconfig/network-scripts` 目录下的 `ifcfg-eth0` 文件,但网络配置却未能即时生效。此类问题的发生通常源于 CentOS 7 采用了不同于以往的配置读取方法。接下来将具体阐述如何借助 nmcli 命令来处理这一挑战。 以 root 用户身份登录系统并打开终端界面。nmcli 是 Network Manager 提供的命令行界面工具,它支持在命令行环境下执行网络连接的建立、编辑、查询及管理任务。针对修改 eth0 网卡配置的需求,可以遵循以下步骤进行操作: 1. 导航至 `/etc/sysconfig/network-scripts` 目录: ``` cd /etc/sysconfig/network-scripts ``` 2. 检查该目录内是否存在 `ifcfg-eth0.bak` 文件,该备份文件可能是先前调整配置时遗留下来的,若存在可能造成冲突。若发现该文件,可以选择将其删除: ``` [root@localhost netw...
代码转载自:https://pan.quark.cn/s/46fd08fb879c 网管教程 从入门到精通软件篇 ★一。★详尽的xp修复控制台指令及其应用!!! 放入xp(2000)的光盘,安装时选择R,执行修复! Windows XP(涵盖 Windows 2000)的控制台指令是在系统遭遇某些意外状况时的一种极具效用的诊断、检测以及恢复系统功能的工具。笔者确实一直期望能够将这方面的指令进行归纳,此次由老范辛苦整理了这份极具价值的秘籍。 Bootcfg bootcfg 命令用于启动配置与故障恢复(对大多数计算机而言,即 boot.ini 文件)。 带有特定参数的 bootcfg 命令仅在运用故障恢复控制台时方可使用。能够在命令行界面下运用带有不同参数的 bootcfg 命令。 用法: bootcfg /default 设定默认引导选项。 bootcfg /add 向引导清单中增添 Windows 安装。 bootcfg /rebuild 重复整个 Windows 安装流程并让用户选择需添加的项目。 注意:运用 bootcfg /rebuild 之前,应先借助 bootcfg /copy 命令备份 boot.ini 文件。 bootcfg /scan 探查用于 Windows 安装的全部磁盘并展示结果。 注意:这些结果被静态存储,并用于当前会话。若在当前会话期间磁盘配置发生变动,为获取更新的探查结果,必须先重启计算机,然后再次探查磁盘。 bootcfg /list 列示引导清单中已有的项目。 bootcfg /disableredirect 在启动引导程序中禁用重定向。 bootcfg /redirect [ PortBaudRrate] |[ useBio...
代码下载链接: https://pan.quark.cn/s/fc524f791b68 AA制程,即Active Alignment,被理解为主动对准,是一种用于确定零部件装配中相对位置的方法。在摄像头封装阶段,涉及图像传感器、镜座、马达、镜头、线路板等多个部件的重复组装,而传统的封装设备如CSP及COB等,均是依据设备设定的参数进行零部件的移动装配,因而零部件的叠加误差会逐渐增大,最终在摄像头上表现为拍照最清晰的位置可能偏离画面中心、四边清晰度不均等现象。伴随智能手机和其他高端电子产品的普及,摄像头模组的性能正日益受到重视。高分辨率、卓越的低光表现以及稳定视频输出是现代用户所期望的。在摄像头模组的制造环节,各部件的精准定位对成像质量具有决定性作用。因此,一种名为“AA制程”(Active Alignment)的前沿技术被开发出来,成为摄像头精密对准的核心技术。 AA制程,即Active Alignment,是一种在摄像头封装过程中应用的主动对准方法。该方法在多个组件装配阶段发挥作用,涵盖图像传感器、镜座、马达、镜头和线路板等部件。传统的封装方式,例如CSP(Chip Scale Package)和COB(Chip On Board),依赖于设备预设的参数进行组装,但随着组件数量的增加,误差也会累积,最终影响摄像头的表现。例如在成像质量上可能出现中心位置偏移、四角清晰度不一致等问题。 AA制程技术的核心在于实时监测与主动调整。在组装过程中,它借助先进的检测设备持续监控半成品的状态,并根据实时信息对组装部件进行精确修正,从而显著降低装配误差。通过这种技术,能够确保摄像头模组中各组件的相对位置准确无误,从而使得最终的成像效果更加稳定,特别是在中心区域和四角的清晰度上...
内容概要:本文介绍了一套基于Matlab实现的光子晶体90度弯曲波导的二维时域有限差分法(2D FDTD)仿真代码,旨在通过数值模拟手段深入研究光子晶体波导中的光传播特性。该资源聚焦于电磁场与光子学领域的仿真技术应用,系统实现了FDTD算法在复杂介质结构中的建模过程,涵盖空间网格剖分、时间步进迭代、完美匹配层(UPML)边界条件处理、总场散射场(TFSF)激励源设置、介电常数分布定义及电磁场演化可视化等核心模块,能够有效分析光在90度弯曲波导中的传输效率、模式分布与反射损耗等关键性能指标。; 适合人群:具备电磁场理论基础和Matlab编程能力的研究生、科研人员以及从事光子晶体器件设计与仿真的工程技术人员。; 使用场景及目标:①用于教学演示FDTD方法的基本原理与算法流程,帮助理解麦克斯韦方程的离散化求解过程;②支撑科研工作中对光子晶体弯曲波导结构的传输特性进行仿真分析与性能优化;③作为开发更复杂光子集成器件(如分束器、滤波器)数值仿真工具的基础框架; 阅读建议:建议使用者结合经典FDTD教材(如Taflove著作)深入理解算法理论,并在Matlab环境中逐模块调试代码,重点关注电场与磁场的交替更新过程、UPML吸收边界的设计实现以及TFSF源的引入方式,从而全面提升对时域电磁仿真机制的掌握与应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值