版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 HadoopHadoop:GoogleGoogle云计算的开源实现云计算的开源实现 提提 纲纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 Hadoop简介 HadoopHadoopApacheApache开源组织的一个分布式计算框架,可以在大量开源组织的一个分布式计算框架,可以在大量廉价的硬件设备组成的集群上运行应用程序,为应用程序提供了廉价的硬件设备组成的集群上运行应用程序,为应用程序提供了一组稳定可靠的接口,旨在构建一个具有一组稳定可靠的
2、接口,旨在构建一个具有高可靠性高可靠性和和良好扩展性良好扩展性的分布式系统的分布式系统 Hadoop云计算系统云计算系统Google云计算系统云计算系统Hadoop HDFSGoogle GFSHadoop MapReduceGoogle MapReduceHadoop HBaseGoogle BigtableHadoop ZooKeeperGoogle ChubbyHadoop PigGoogle SawzallHadoopHadoop云计算系统与云计算系统与GoogleGoogle云计算系统云计算系统 Hadoop简介开源项目开源项目LuceneLucene:JavaJava开发的开发的开
3、源高性能全文检索工具包开源高性能全文检索工具包 开源项目开源项目NutchNutch:第一个开源的:第一个开源的WebWeb搜索引擎搜索引擎 Hadoop简介HadoopHadoop项目组成项目组成 (1 1)Hadoop CommonHadoop Common(2 2)AvroAvro(3 3)ChukwaChukwa(4 4)HBaseHBase(5 5)HDFSHDFS(6 6)HiveHive(7 7)MapReduceMapReduce(8 8)PigPig(9 9)ZooKeeperZooKeeper HadoopHadoop优点优点 (1 1)可扩展)可扩展(2 2)经济)经济(
4、3 3)可靠)可靠(4 4)高效)高效提提 纲纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 设计前提与目标 设计前提与目标设计前提与目标硬件错误是常态而不是异常硬件错误是常态而不是异常 流式数据访问流式数据访问 超大规模数据集超大规模数据集 简单一致性模型简单一致性模型 移动计算比移动数据更简单移动计算比移动数据更简单 异构软硬件平台间的可移植性异构软硬件平台间的可移植性 体系结构 HDFSHDFS主从结构体系主从结构体系NameNodeNam
5、eNode:主控制服务器,负责维护文件系统的命名空间(Namespace)并协调客户端对文件的访问,记录命名空间内的任何改动或命名空间本身的属性改动 DataNodeDataNode:负责它们所在的物理节点上的存储管理 保障可靠性的措施 1 1冗余备份冗余备份每个文件存储成一系列数据块(Block),默认块大小为64MB(可配置)。为了容错,文件的所有数据块都会有副本(副本数量即复制因子,可配副本数量即复制因子,可配置置) 2 2副本存放副本存放采用机架感知机架感知(Rack-aware)的策略来改进数据的可靠性、可用性和网络带宽的利用率 复制因子为复制因子为3 3时数据块分布情况时数据块分布
6、情况 保障可靠性的措施 3.3.心跳检测心跳检测NameNode周期性地从集群中的每个DataNode接受心跳包和块报告,收到心跳包说明该DataNode工作正常 4.4.安全模式安全模式系统启动时,NameNode会进入一个安全模式。此时不会出现数据块的写操作 5.5.数据完整性检测数据完整性检测 HDFS客户端软件实现了对HDFS文件内容的校验和(Checksum)检查 保障可靠性的措施 6.6.空间回收空间回收 文件被用户或应用程序删除时,先把它移动到/trash目录里;只要还在这个目录里,文件就可以被迅速恢复 7.7.元数据磁盘失效元数据磁盘失效NameNode可以配置为支持维护映像文
7、件和事务日志的多个副本,任何对映像文件或事务日志的修改,都将同步到它们的副本上 8.8.快照快照 快照支持存储某个时间的数据复制,当HDFS数据损坏时,可以回滚到过去一个已知正确的时间点。HDFS目前还不支持快照功能 提升性能的措施 提升性能措施副本选择HDFS会尽量使用离程序最近的副本来满足用户请求,这样可以减少总带宽消耗和读延时 负载均衡HDFS的架构支持数据均衡策略 客户端缓存HDFS客户端先把数据缓存到本地的一个临时文件,程序的写操作透明地重定向到这个临时文件流水线复制DataNode从前一个节点接收数据的同时,即时把数据传给后面的节点,这就是流水线复制访问接口 Hadoop API
8、Hadoop API (1 1)org.apache.hadoop.conforg.apache.hadoop.conf(2 2)org.apache.hadoop.dfsorg.apache.hadoop.dfs(3 3)org.apache.hadoop.fsorg.apache.hadoop.fs(4 4)org.apache.hadoop.ioorg.apache.hadoop.io(5 5)org.apache.hadoop.ipcorg.apache.hadoop.ipc(6 6)org.apache.hadoop.mapredorg.apache.hadoop.mapred(7
9、7)org.apache.hadoop.metricsorg.apache.hadoop.metrics(8 8)org.apache.hadoop.recordorg.apache.hadoop.record(9 9)org.apache.hadoop.toolsorg.apache.hadoop.tools(1010)org.apache.hadoop.utilorg.apache.hadoop.util浏览器接口浏览器接口典型典型HDFSHDFS安装会配置一个安装会配置一个WebWeb服务器开放自己的命名空间,其服务器开放自己的命名空间,其TCPTCP端口可配;默认配置下端口可配;默认配
10、置下http:/namenode-name:50070http:/namenode-name:50070这个页面列这个页面列出了集群里的所有出了集群里的所有DataNodeDataNode和集群的基本状态和集群的基本状态 提提 纲纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 逻辑模型MapReduceMapReduce处理的任务基本要求处理的任务基本要求:待处理的数据集可以分解成许多:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都
11、可以完全并行地进行处理小的数据集,而且每一个小数据集都可以完全并行地进行处理 映射阶段映射阶段,用户输入的数据分割为M个片断,对应M个Map任务。每一个Map操作的输入是数据片断中的键值对集合,Map操作调用用户定义的Map函数,输出一个中间态的键值对 集合。接着,按照中间态的K2将输出的数据集进行排序,并生成一个新的元组,按照K2的范围将这些元组分割为R个片断 化简阶段化简阶段,每一个Reduce操作的输入是一个片断,Reduce操作调用用户定义的Reduce函数,生成用户需要的键值对进行输出 实现机制 实现机制实现机制1分布式并行计算2本地计算3任务粒度4Combine(连接)5Parti
12、tion(分区)6读取中间结果7任务管道提提 纲纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 逻辑模型 表格里存储一系列的数据行,每行包含一个可排序的行关键字、表格里存储一系列的数据行,每行包含一个可排序的行关键字、一个可选的时间戳及一些可能有数据的列(稀疏)一个可选的时间戳及一些可能有数据的列(稀疏) 数据行有三种基本类型的定义:数据行有三种基本类型的定义:行关键字行关键字是数据行在表中唯一标识,时间戳时间戳是每次数据操作对应关联的时间戳,列
13、列定义为::(:) 行 关 键 字时 间 戳列contents:列anchor:列mime:n.wwwt9anchor:CNNt8anchor:my.look.caCNN.comt6.text/htmlt5.t3 . 物理模型 行 关 键 字时 间 戳列contents:n.wwwt5t4t3行关键字时 间 戳列 anchor:n.wwwt8anchor:CNNt7anchor:look.caCNN.com行关键字时 间 戳列 mime:n.wwwt6text/html 物理模型实际上就是把概念模型中的一个物理模型实际上就是把概念模型中的一个行进行分割,并按照行进行分割,并按照列族存储列族存储
14、 查询时间戳为t7的“contents:”将返回空值,查询时间戳为t8,“anchor:”值为“look.ca”的项也返回空值 (空的单元格不存储空的单元格不存储 )查询“contents:”而不指明时间戳,将返回t5时刻的数据;查询“anchor:”的“look.ca”而不指明时间戳,将返回t7时刻的数据 (未指未指明时间戳,则返回指定列的最新数据值明时间戳,则返回指定列的最新数据值 )子表服务器 客户端进行更新操作时,首先连接相关的子表服务器,之后向客户端进行更新操作时,首先连接相关的子表服务器,之后向子表提交变更。提交的数据被添加到子表的子表提交变更。提交的数据被添加到子表的HMemca
15、cheHMemcache和子表服务和子表服务器的器的HLog HLog 提供服务时,子表首先查询缓存提供服务时,子表首先查询缓存HMemcacheHMemcache。若没有,再查找磁。若没有,再查找磁盘上的盘上的HStoreHStore HRegion.flushcache()HRegion.flushcache()定期被调用,把定期被调用,把HMemcacheHMemcache中的内容写到中的内容写到磁盘上磁盘上HStoreHStore文件里文件里 调用调用HSpact()HSpact()方法来实现多个方法来实现多个HStoreFileHStoreFile合并成一个合并成一个HStoreFi
16、leHStoreFile HRegion.closeAndMerge()HRegion.closeAndMerge()可把两个子表合并成一个;可把两个子表合并成一个;HRegion. HRegion. closeAndSplit()closeAndSplit(),可将子表分割为两个新子表,可将子表分割为两个新子表 调用flushcache()方法越少,工作量就越少,而HMemcache就要占用更多的内存空间,启动时HLog文件也需要更多的时间来恢复数据。而调用flushcache()越频繁,HMemcache占用内存就越少,HLog文件恢复数据时也就越快 主服务器 主服务器维护子表服务器在任何
17、时刻的活跃标记主服务器维护子表服务器在任何时刻的活跃标记 与与GoogleGoogle的的BigtableBigtable不同,不同,BigtableBigtable使用使用分布式锁服务分布式锁服务ChubbyChubby保证了子表服务器访问子表操作的原子性保证了子表服务器访问子表操作的原子性;HBaseHBase不具备这样的不具备这样的Chubby Chubby 每个子表都由它所属的表格名字、首关键字和每个子表都由它所属的表格名字、首关键字和region Idregion Id来标识来标识例如,表名:hbaserepository 首关键字:w-nk5YNZ8TBb2uWFIRJo7V= r
18、egion Id:689060145591-4043它的唯一标识符唯一标识符就是:hbaserepository, w-hbaserepository, w-nk5YNZ8TBb2uWFIRJo7V=,6890601455914043nk5YNZ8TBb2uWFIRJo7V=,6890601455914043元数据表 子表的元数据存储在另一个子表里,子表的唯一标识符可以作子表的元数据存储在另一个子表里,子表的唯一标识符可以作为子表的行标签,为子表的行标签,映射子表标识符到物理子表服务器位置的表格映射子表标识符到物理子表服务器位置的表格称为元数据表称为元数据表 启动时启动时,主服务器立即扫描主服
19、务器立即扫描唯一根子表(其名字是硬编唯一根子表(其名字是硬编码的)码的) 主服务器扫描元数据子表主服务器扫描元数据子表 主服务器扫描完元数据子表主服务器扫描完元数据子表,然后就可以把这些子表分,然后就可以把这些子表分配到子表服务器上去配到子表服务器上去 元数据表元数据表12 3提提 纲纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 在Linux系统中安装Hadoop 1 1安装环境配置安装环境配置1)安装安装LinuxLinux虚拟机虚拟机 安装
20、软件安装软件VMware Workstation v7.1.3VMware Workstation v7.1.3 2)安装SSH $ sudo apt-get install ssh3)安装Java $ cd /usr/java/ $ /mnt/hgfs/share/jdk-6u24-linux-i586.bin4)解压Hadoop安装包 $ tar zxvf /mnt/hgfs/share/hadoop-0.20.2.tar.gz5)编辑conf/hadoop-env.sh文件$ vi conf/hadoop-env.sh2 2安装步骤安装步骤 1)单机模式 默认情况下,Hadoop被配置成
21、一个以非分布式模式运行的独立Java进程,适合开始时做调试工作WordCountWordCount实例实例 $ mkdir input $ cd input $ echo hello world test1.txt $ echo hello hadoop test2.txt $ bin/hadoop jar hadoop-mapred-examples-0.20.2.jar wordcount input output 查看执行结果查看执行结果 $ cat output/*在Linux系统中安装Hadoop 2 2安装步骤安装步骤 2)伪分布式模式 用不同的Java进程模拟分布式运行中各类节点
22、 (1)Hadoop配置 在Linux系统中安装Hadoop core-site.xmlcore-site.xml配置文档配置文档hdfs-site.xmlhdfs-site.xml配置文档配置文档mapred-site.xmlmapred-site.xml配置文档配置文档 (2)免密码SSH设置 生成密钥对 $ ssh-keygen -t rsa 一直按【Enter】键,按照默认的选项将生成的密钥对保存在.ssh/id_rsa文件中 进入.ssh目录 $ cp id_rsa.pub authorized_keys 执行$ ssh localhost,可以实现用SSH 连接并且不需要输入密码
23、在Linux系统中安装Hadoop 将密钥对保存在将密钥对保存在.ssh/id.rsa.ssh/id.rsa文件中文件中 在Linux系统中安装Hadoop (3)Hadoop运行 (a)格式化分布式文件系统 $ bin/hadoop namenode format (b)启动Hadoop守护进程 $ bin/start-all.sh 成功执行后将会在本机上启动NameNode、DataNode、JobTracker、TaskTracker和Secondary NameNode 5个新的Java进程 (c)运行WordCount实例 $ bin/hadoop dfs copyFromLocal
24、 input in $ bin/hadoop jar hadoop-mapred-examples-0.20.2.jar wordcount in out 查看Hadoop分布式文件系统上数据处理的结果 $ bin/hadoop dfs -cat out/* 把输出文件从Hadoop分布式文件系统复制到本地文件系统查看 $ bin/hadoop dfs -get out output $ cat output/* (d) 停止Hadoop守护进程。最后需要停止Hadoop守护进程 $ bin/stop-all.sh3 3)完全分布式模式)完全分布式模式 (1 1)配置)配置NameNodeNa
25、meNode和和DataNodeDataNode (2 2)在所有的机器上建立相同的用户)在所有的机器上建立相同的用户gridgrid $ useradd -m grid $ passwd grid (3)SSH配置 在所有机器上建立.ssh目录 $ mkdir .ssh 在ubuntunamenode上生成密钥对 $ ssh-keygen -t rsa在Linux系统中安装Hadoop 配置配置ubuntunamenodeubuntunamenode的的/etc/hosts/etc/hosts ubuntudata1和ubuntudata2的hosts配置 在Linux系统中安装Hadoop
26、 (3)SSH配置 然后一直按【Enter】键,就会按照默认的选项将生成的密钥对保存在.ssh/id_rsa文件中 $cd /.ssh $cp id_rsa.pub authorized_keys $scp authorized_keys ubuntudata1:/home/grid/.ssh $scp authorized_keys ubuntudata2:/home/grid/.ssh 最后进入所有机器的.ssh目录,改变authorized_keys文件的许可权限 $chmod 644 authorized_keys(4)在所有机器上配置Hadoop 在ubuntunamenode上配置
27、 (a)编辑core-site.xml、hdfs-site.xml和mapred-site.xml (b)编辑conf/masters,修改为master的主机名,每个主机名一行,此外即为ubuntunamenode (c)编辑conf/slaves,加入所有slaves的主机名,即ubuntudata1和ubuntudata2 (d)把Hadoop安装文件复制到其他机器上 $ scp r hadoop-0.20.2 ubuntudata1:/home/grid $ scp r hadoop-0.20.2 ubuntudata2:/home/grid (e)编辑所有机器的conf/hadoop
28、-env.sh文件 在Linux系统中安装Hadoop (5)Hadoop运行 格式化分布式文件系统 $bin/hadoop namenode -format 启动Hadoop守护进程 $ bin/start-all.sh $/usr/java/jdk1.6.0_24/bin/jps 格式化分布式文件系统格式化分布式文件系统 启动Hadoop守护进程 在Linux系统中安装Hadoop 用户也可以根据自己的需要来执行如下命令(a)start-all.sh:启动所有的Hadoop守护进程,包括NameNode、DataNode、JobTracker和Tasktrack(b)stop-all.sh
29、:停止所有的Hadoop守护进程(c)start-mapred.sh:启动Map/Reduce守护进程,包括JobTracker和Tasktrack(d)stop-mapred.sh:停止Map/Reduce守护进程(e)start-dfs.sh:启动Hadoop DFS守护进程,包括NameNode和DataNode(f)stop-dfs.sh:停止DFS守护进程修改C:WINDOWSsystem32driversetchosts文件,加入三台虚拟机的IP地址及其对应的主机名,即: localhost36 ubuntunamenode192.168
30、.122.140 ubuntudata141 ubuntudata2在Linux系统中安装Hadoop NameNode运行状态 在Linux系统中安装Hadoop JobTrackerJobTracker运行状态运行状态 在Linux系统中安装Hadoop (g)运行WordCount实例 $ bin/hadoop dfs put input in $ bin/hadoop jar hadoop-0.20.2-examples.jar wordcount in out 查看Hadoop分布式文件系统上数据处理结果 $ bin/hadoop dfs -cat out/
31、* 从Hadoop分布式文件系统复制到本地文件系统查看 $ bin/hadoop dfs -get out output $ cat output/*(h)停止Hadoop守护进程 $ bin/stop-all.sh在Linux系统中安装Hadoop 运行运行WordCountWordCount实例实例 查看数据处理结果查看数据处理结果 停止停止HadoopHadoop守护进程运行结果守护进程运行结果 在Windows系统中安装Hadoop 1 1安装环境配置安装环境配置1)下载安装Cygwin 编辑系统变量,新建系统变量CYGWIN,变量值为ntsec tty,如图6-19所示。编辑系统变量
32、里的Path变量,加入C:cygwinbin 2)安装Java 默认的安装目录为C:Program FilesJava jdk1.6.0_13新建系统变量JAVA_HOME编辑系统变量里的Path变量,加入%JAVA_HOME%bin;%JAVA_HOME%jrebin 新建系统变量CLASSPATH,值为.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar 2. 2. 安装步骤安装步骤 1)单机模式默认的解压缩目录为用户的根目录,即C:cygwinhomeAdministrator。编辑conf/hadoop-env.sh文件,将JAVA_HOME变量设置为JAV
33、A安装的根目录。例如JAVA安装在目录C:Program FilesJavajdk1.6.0_13 在Windows系统中安装Hadoop 配置完之后即可运行WordCount实例 file1.txt: hello world hello hadoopfile2.txt: bye hadoop运行实例,并将结果输出到指定的output目录 (执行之前output目录必须为空,或者不存在这个目录,否则会出错 )$ bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output 2)伪分布式模式(1)编辑文件conf/core-si
34、te.xml和mapred-site.xml (2)安装配置SSH启动cygwin $ ssh-host-config 当询问“Should privilege separation be used?”时,输入no 当询问“Do you want to install sshd as a service?”,选择yes,把sshd作为一项服务安装 当提示“Enter the value of CYGWIN for the daemon: ntsec”时,选择ntsec 输入命令$ net start sshd,启动SSH 或 通过服务启动CYGWIN sshd 在Windows系统中安装Had
35、oop 执行$ ssh-keygen来生成密钥对,然后一直按【Enter】键,就会按照默认的选项将生成的密钥对保存在.ssh目录下。将RSA公钥加入到公钥授权文件authorized_keys中 $ cd .ssh $ cat id_rsa.pub authorized_keys(3)Hadoop运行 (a)格式化分布式文件系统 $ bin/hadoop NameNode format (b)启动Hadoop守护进程 $ bin/start-all.sh (c)运行WordCount实例 $ bin/hadoop dfs put input in $ bin/hadoop jar hadoop
36、-0.20.2-examples.jar wordcount in out 查看Hadoop分布式文件系统上数据处理的结果 $ bin/hadoop dfs -cat out/* 从Hadoop分布式文件系统复制到本地文件系统查看 $ bin/hadoop dfs -get out output $ cat output/* (d)停止Hadoop守护进程 $ bin/stop-all.sh在Windows系统中安装Hadoop 3)完全分布式模式 (1)修改相应文件 修改所有机器的C:WINDOWSsystem32driversetchosts文件,加入各机器IP地址及其对应的主机名,即:
37、 localhost 54 centos254 53 centos253 52 centos252 (2)在所有机器上建立相同的账户stony (3)在所有机器上进行SSH配置 执行$ ssh-keygen来生成密钥对。然后一直按【Enter】键,就会按照默认的选项生成密钥对,并保存在.ssh/id_rsa文件中。执行下面的命令将RSA公钥加入到公钥授权文件authorized_keys中: $cd /.ssh $cat id_rsa.pub authorized_keys 在centos254上执行 $
38、cd /.ssh $scp authorized_keys stonycenos253:/home/stony/.ssh $scp authorized_keys stonycenos252:/home/stony/.ssh在Windows系统中安装Hadoop 分别进入centos253、centos252和centos251的.ssh目录,改变authorized_keys文件的许可权限 $chmod 644 authorized_keys(4)在所有机器上配置Hadoop 在centos254上配置 $ tar -zxvf /cygdrive/d/hadoop-0.20.2.tar.gz
39、 $ mv hadoop-0.20.2 hadoop 编辑conf/core-site.xml 编辑conf/mapred-site.xml 编辑conf/hdfs-site.xml 在Windows系统中安装Hadoop 编辑conf/master,修改为master的主机名,每个ip一行,在这里就是54。编辑conf/slaves,加入所有slaves的主机名,即53和52。把hadoop复制到其他机器,命令如下: $scp /hadoop stonycentos253:/home/stony/ $scp /hadoo
40、p stonycentos252:/home/stony/编辑所有机器的conf/hadoop-env.sh文件,将JAVA_HOME变量设置为JAVA安装的根目录,不同机器可以使用不同的JAVA版本,但需要jdk1.5版本以上 在Windows系统中安装Hadoop (5)Hadoop运行格式化分布式文件系统。在centos254上执行如下的命令:$bin/hadoop namenode -format启动Hadoop守护进程 $ bin/start-all.sh同样的,访问http:/centos254:50070可以查看NameNode以及整个分布式文件系统的状态,浏览分布式文件系统中的
41、文件以及日志等;访问http:/centos254:50060可以查看 TaskTracker的运行状态运行WordCount实例:$ bin/hadoop dfs put input in$ bin/hadoop jar hadoop-.020.2-examples.jar wordcount in out查看Hadoop分布式文件系统上数据处理的结果:$ bin/hadoop dfs -cat out/*从Hadoop分布式文件系统复制到本地文件系统查看:$ bin/hadoop dfs -get out output $ cat output/*停止Hadoop守护进程:$ bin/st
42、op-all.sh在Windows系统中安装Hadoop 4)注意事项格式化Hadoop文件系统是启动Hadoop的第一步,不过一旦安装Hadoop后,不要格式化运行中的文件系统,否则所有的数据会被清除。如果需要执行格式化,每次格式化(format)前,清空tmp目录下的所有文件。正确的步骤如下:(1)用bin/stop-all.sh停止所有的守护进程(2)删除$HADOOP_HOME/tmp这个文件夹(3)重新格式化NameNode(4)重新启动守护进程 在HADOOP_HOME/logs目录下,NameNode、DataNode、Secondary NameNode、JobTracker、
43、TaskTracker各有一个对应的日志文件,每一次运行的计算任务也有对应的日志文件。当出现故障时,分析这些日志文件有助于找到故障原因。例如可通过54:50070/logs/进行浏览日志信息 提提 纲纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 HDFS 常用命令 HDFS集群由一个NameNode和多个DataNode组成:NameNode负责管理文件系统的元数据;DataNode负责存储实际的数据 (其中
44、censtos254为namenode)1HDFS管理DFSAdmin命令支持一些和HDFS管理相关的操作 2安全模式NameNode在启动时会自动进入安全模式。安全模式的目的是在系统启动时检查各个DataNode上数据块的有效性,同时根据策略对数据块进行必要的复制或删除关闭安全模式 $ bin/hadoop dfsadmin -safemode leave把HDFS置于安全模式 $ bin/hadoop dfsadmin safemode enter3.添加节点加入新加节点主机名,再建立到新加节点无密码的SSH连接 实验中复制因子为3,部分数据块未达到最小副本数。等待一段时间之后,数据块自动
45、进行了必要的复制 HDFS 常用命令 4.节点故障 心跳信号 5.负载均衡 重新平衡DataNode上的数据块的分布 $ bin/start-balancer.sh 命令执行前,DataNode节点上数据的分布情况 负载均衡完毕后,DataNode节点上数据的分布情况 HDFS 基准测试 TestDFSIO用来测试HDFS的I/O性能bin/hadoop jar $HADOOP_HOME/hadoop-0.20.2-test.jarTestDFSIO write nrFile 20 filesize 200如果eclipse已经安装了hadoop-0.20.2-eclipse-plugin.j
46、ar插件包,那么可以在eclipse下查看结果 基准测试后,删除所有生成的文件 % bin/hadoop jar $HADOOP_HOME/hadoop-0.20.2-test.jar TestDFSIO clean提提 纲纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 HBase的安装配置 (1)安装HBase $ tar zxvf hbase-0.19.2.tar.gz(2)编辑HBASE_HOME/conf/hbase-env.sh,把JA
47、VA_HOME变量设置为JAVA安装的根目录,把HBASE_CLASSPATH设置为HADOOP_CONF_DIR (3)编辑HBASE_HOME/conf/hbase-site.xml (4)复制$HADOOP_HOME/conf/hadoop-site.xml(5)编辑$HBASE_HOME/conf/regionservers (6)把HBase复制到其他机器上: $ scp r /hbase-0.19.2/ ubuntu2: /home/grid/ $ scp r /hbase-0.19.2/ ubuntu3: /home/grid/(7)复制$HBASE_HOME/hbase-0.19.2.jar $ cp /hbase-0.19.2/hbase-0.19.2.jar /hadoop-0.19.1/lib/HBase的执行 (1)启动Hadoop$ cd /hadoop-0.19.1 $ bin/start-all.sh(2)启动Hbase$ cd /hbase-0.19.2/$ bin/start-hbase.sh(3)进入shell模式进行HBase数据操作 $ bin/hbase shell(4)停止HBase$ bin/s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广州番禺职业技术学院单招职业技能考试题库含答案详解(综合题)
- 2026年广东水利电力职业技术学院单招职业适应性测试题库及一套完整答案详解
- 2026年广州城建职业学院单招职业技能考试题库附答案详解(达标题)
- 培训班少儿奖惩制度
- 2026年广州城建职业学院单招职业适应性测试题库附答案详解(满分必刷)
- 2026年广西工业职业技术学院单招职业技能考试题库带答案详解(轻巧夺冠)
- 对班组奖惩制度
- 小公司卫生奖惩制度
- 小学科目二奖惩制度
- 小部门奖惩制度
- 中国石油企业文化课件
- 电力工程建设资源投入计划
- 事故后如何进行合理赔偿谈判
- 生物批签发管理办法
- 《酒店法律与法规实务》全套教学课件
- 项目经理负责制与项目管理实施办法
- 新媒体技术应用 课件全套 曾琦 单元1-7 认知新媒体岗位及新媒体工具-拓展 AIGC概述 生成式人工智能
- 内蒙古机电职业技术学院单独招生(机电类)考试题(附答案)
- 城市公园景观设计教学课件
- 2025年哈尔滨铁道职业技术学院单招职业技能测试题库及答案一套
- 2024年常州机电职业技术学院高职单招语文历年参考题库含答案解析
评论
0/150
提交评论