ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:825.75KB ,
资源ID:1793903      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1793903.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Hadoop220集群安装.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Hadoop220集群安装.docx

1、Hadoop220集群安装Hadoop最新安装手册一、Hadoop2.2.0完全分布式集群平台安装设置:HDFS HA架构:在一个典型的 HDFS HA 场景中,通常由两个 NameNode 组成,一个处于 active 状态,另一个处于 standby 状态。Active NameNode 对外提供服务,比如处理来自客户端的 RPC 请求,而 Standby NameNode 则不对外提供服务,仅同步 active namenode 的状态,以便能够在它失败时快速进行切换。为了能够实时同步 Active 和 Standby 两个 NameNode 的元数据信息(实际上 editlog),需提

2、供一个共享存储系统,可以是 NFS、QJM(Quorum Journal Manager)或者 Bookeeper,Active Namenode 将数据写入共享存储系统,而 Standby 监听该系统,一旦发现有新数据写入,则读取这些数据,并加载到自己内存中,以保证自己内存状态与 Active NameNode 保持基本一致,如此这般,在紧急情况下 standby 便可快速切为 active namenode。注意,在 Hadoop 2.0 中,不再需要 secondary namenode 或者 backup namenode,它们的工作由 Standby namenode 承担。本文将重

3、点介绍基于 QJM 的 HA 解决方案。在该方案中,主备 NameNode 之间通过一组 JournalNode 同步元数据信息,一条数据只要成功写入多数 JournalNode 即认为写入成功。通常配置奇数个(2N+1)个 JournalNode,这样,只要 N+1 个写入成功就认为数据写入成功,此时最多容忍 N-1 个 JournalNode 挂掉,比如 3 个 JournalNode 时,最多允许 1 个 JournalNode挂掉,5 个 JournalNode 时,最多允许 2 个 JournalNode 挂掉。基于 QJM 的 HDFS 架构如下前提条件:1、首先在每台Linux电

4、脑上面安装好JDK6或其以上版本,并设置好JAVA_HOME等,测试一下java、javac、jps等命令是否可以在终端使用,如何配置JDK这里就不说了;2、在每台Linux上安装好SSH,如何安装请参加Linux平台下安装SSH。后面会说如何配置SSH无密码登录。有了上面的前提条件之后,我们接下来就可以进行安装Hadoop分布式平台了。步骤如下:1、先设定电脑的IP为静态地址:CentOS下设置IP的方式:在里面添加下面语句:里面的IPADDR地址设置你想要的,我这里是10.10.141.14。 设置好后,需要让IP地址生效,运行下面命令:然后运行ifconfig检验一下设置是否生效:可见I

5、P地址已经设置为10.10.141.14了。2、设置各个主机的hostnameCentOS设置hostname步骤如下:将里面的HOSTNAME修改为你想要的hostname,我这里是取hadoop-activeHOSTNAME=hadoop-active查看设置是否生效,运行下面命令3、在所有电脑的/etc/hosts添加以下配置:其实就是所有电脑的静态IP地址和其hostname的对应关系。检验所有机器配置是否修改生效,可以用ping来查看如果上面的命令可以ping通,说明配置成功。4、设置SSH无密码登陆终端中执行:hadoophadoop $ ssh-keygen -t rsaGene

6、rating public/private rsa key pair.Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): /使用默认位置Enter passphrase (empty for no passphrase): /直接回车Enter same passphrase again: Your identification has been saved in /home/hadoop/.ssh/id_rsa.Your public key has been saved in /home/hadoop/.ssh/i

7、d_rsa.pub.The key fingerprint is:5b:47:52:a7:1e:1c:4d:98:d7:04:eb:d9:0e:5f:dd:3d hadoophadoopThe keys randomart image is:+- RSA 2048-+| o=+.| o+o.| . =. | + o o+| S . o +E*| o . +o| o| | |+-+hadoophadoop $ cp /home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/authorized_keys hadoophadoop $chmod 644 /hom

8、e/hadoop/.ssh/authorized_keyshadoophadoop $ ssh localhost /测试是否成功Last login: Thu Dec 8 14:23:46 2011 from localhost.localdomainhadoophadoop $ exitlogoutConnection to localhost closed.cat id_rsa.pub .ssh/authorized_keys5、下载解压hadoop-2.2.0.tar.gz:下载方式不再赘述,可以直接运行完上面的命令之后,hadoop-2.2.0.tar.gz文件将会保存在/home/

9、$user/Downloads/hadoop里面,然后解压:之后将会在hadoop文件夹下面生成hadoop-2.2.0文件夹6、配置Hadoop的环境变量在/etc/profile文件的末尾加上以下配置在终端输入hadoop命令查看Hadoop的环境变量是否生效:7、编译Hadoop Native包WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform using builtin-java classes where applicable在网上查了

10、一下发现Apache官网提供的是32位编译的,在64位服务器上会有问题。而且官方竟然没有提供64位版本,要使用得自己编译。7.1、编译环境准备经过一次次编译失败,翻遍了谷歌、XX之后终于凑齐了下面这些包。下面的服务器环境都基于Centos的,其它发行版Linux可能会有不同。1、GCC、CMake、openssl、JDK。2、hadoop-2.2.0-src.tar.gz(http:/hadoop.apache.org/releases.html#Download)3、apache-ant-1.9.2-bin.tar.gz(http:/ant.apache.org/bindownload.cg

11、i)4、apache-maven-3.0.5-bin.tar.gz(http:/maven.apache.org/download.cgi)注意:此处最新的3.1.1版有Bug,缺少依赖包。详细说明如下所示:https:/cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound5、findbugs-2.0.2.tar.gz(http:/sourceforge.jp/projects/sfnet_findbugs/releases/)注意:被墙,只能进sourceforge.jp6、protobuf-2.5.0.tar.gz(7、

12、zlib-devel-1.2.3-3.x86_64.rpm7.2、依赖环境配置安装没啥好说的了,大部分都是tar包,解开就能用。只有protobuf需要make一下。配置好环境后不要忘了source/etc/profile一下,否则不会生效。下面的图是环境变量配置明细:7.3、编译安装好了上面的依赖后就可以编译了。mvn package -Pdist,native,docs -DskipTests -Dtar然后就是漫长的等待,真的很漫长(用小时来做单位的)。当你看到一串SUCCESS的时候,那么恭喜你成功了。7.4、生成打包文件到这一步就简单了,在/data/java/tools/hadoo

13、p-2.2.0-src/hadoop-dist/target/目录下,可以看到编译好的hadoop-2.2.0.tar.gz包静静的趴在那里,现在你可以进行安装了。8、修改Hadoop的配置文件7.1、修改Hadoop的hadoop-env.sh配置文件,设置jdk所在的路径:找到JAVA_HOME,并设置为服务器JDK所在的绝对路径。同时配置HADOOP_HOME,设置为服务器hadoop所在的绝对路径。7.2、依次修改core-site.xml、yarn-site.xml、mapred-site.xml和hdfs-site.xml配置文件,主要分析core-site.xml与hdfs-si

14、te.xml配置信息。Core-site.xml配置如下:Hadoop.tmp.dir是hadoop文件系统依赖的基础配置,很多配置都依赖它。它默认的位置是在/tmp/$user下面,但是在/tmp路径下的存储是不安全的,因为linux一次重启,文件就可能被删除。所以建议配置该路径到持久化目录。fs.defaultFS整个Federation集群对外提供服务的NS逻辑名称,这里的协议不再是hdfs,而是新引入的viewfs,这个逻辑名称会在下面的挂载表中用到。缺省文件服务的协议和NS逻辑名称,和hdfs-site里的对应,此配置替代了1.0里的fs.default.name。Ha.zookee

15、per.quorum:”A list of ZooKeeper server addresses, separated by commas, that are to be used by the ZKFailoverController in automatic failover.”。配置三个Zookper节点,用于ZKFC故障转移。hdfs-site.xml配置如下:dfs.nameservices HDFS命名服务的逻辑名称,可用户自己定义,比如 mycluster,注意,该名称将被基于 HDFS 的系统使用,比如 Hbase 等,此外,需要你想启用 HDFS Federation,可以通

16、过该参数指定多个逻辑名称,并用“,”分割。dfs.ha.namenodes.$nameserviceID命名服务下包含的NameNode列表,可为每个NN指定一个自定义的 ID 名称,比如命名服务mycluster下有两个NameNode,分别命名为 nn1 和 nn2。注意,目前每个命名服务最多配置两个 NameNodedfs.namenode.rpc-address.$nameservice ID.$name node ID为每个NN设置 RPC 地址。这里面提到了两个RPC端口,分别是dfs.namenode.rpc-address和dfs.namenode.servicerpc-add

17、ress。如果只配置dfs.namenode.rpc-address,那么NameNode-Client和NameNode-DataNode之间的RPC都走的是这个端口。如果配置了后者与前者不同,那么dfs.namenode.rpc-address表示的是NameNode-Client之间的RPC,而dfs.namenode.servicerpc-address表示的是NameNode-DataNode之间的RPC。之所以要区别开来,我想主要是因为datanode和namenode通讯时不会影响client和namenode的通讯,因为同一个端口同时打开的句柄毕竟是预先设定的,缺省为10个。d

18、fs.namenode.http-address.$nameservice ID.$name node ID为每个NN设置对外的 HTTP 地址dfs.namenode.shared.edits.dir设置一组journalNode的URI地址,active NameNode将edit log写入这些JournalNode,而standby NameNode读取这些edit log,并作用在内存中的目录树中,其中,journalId是该命名空间的唯一ID。假设你有三台journalNode,即, 和 ,则可如上配置。dfs.journalnode.edits.dir 设置journaldata

19、的存储路径dfs.client.failover.proxy.provider.$nameservice ID设置客户端与 active NameNode 进行交互的 Java 实现类,DFS 客户端通过该类寻找当前的active NameNode。该类可由用户自己实现,默认实现为 ConfiguredFailoverProxyProviderdfs.ha.fencing.methods主备架构解决单点故障问题时,必须要认真解决的是脑裂问题,即出现两个 master 同时对外提供服务,导致系统处于不一致状态,可能导致数据丢失等潜在问题。在 HDFS HA中,JournalNode 只允许一个

20、NameNode 写数据,不会出现两个 active NameNode 的问题,但是,当主备切换时,之前的 active NameNode 可能仍在处理客户端的 RPC 请求,为此,需要增加隔离机制(fencing)将之前的 active NameNode 杀死。HDFS 允许用户配置多个隔离机制,当发生主备切换时,将顺次执行这些隔离机制,直到一个返回成功。Hadoop 2.0 内部打包了两种类型的隔离机制,分别是shell和sshfence。这里配置sshfencesshfence通过ssh登录到前一个active NameNode并将其杀死。为了让该机制成功执行,需配置免密码ssh登陆,这

21、可通过参数dfs.ha.fencing.ssh.private-key-files设置一个私钥文件。需要一些目录放置fsimage和edits,对应配置dfs.namenode.name.dir、dfs.namenode.edits.dir需要指定一个目录来保存blocks,对应配置dfs.replication确定data block的副本数目,hadoop基于rackawareness(机架感知)默认复制3份分block,(同一个rack下两个,另一个rack下一份,按照最短距离确定具体所需block, 一般很少采用跨机架数据块,除非某个机架down了)。这个是块大小的设置,也就是说文件按

22、照多大的size来切分块。一般来说,块的大小也决定了你map的数量。举个例子:我现在有一个1T的文件,如果我的块size设置是默认的64M,那么在HDFS上产生的块将有1024000/64=16000块。允许文件以rest形式被访问dfs.permission是否开启文件权限验证,true开启,false不进行读写权限验证。(注:dfs.permission开启与否dfs permission信息都不会改变后丢失,chown、chgrp、chmod操作也始终会验证权限,dfspermission信息只在namenode里,并不在danode里与blocks关联)yarn-site.xml配置如

23、下:mapred-site.xml配置如下:Slaves配置如下:配置好Hadoop的相关东西之后,请将hadoop-2.2.0整个文件夹分别拷贝到其他master和datanode主机上面去,设置都不需要改!9、关闭防火墙关闭防火墙防火墙会影响外部对linux机器的访问,简单起见就直接关闭防火墙服务。hadoophadoop $ sudo service iptables stop/停止防火墙服务hadoophadoop sudo chkconfig -level 35 iptables off/永久关闭防火墙关闭SelinuxSelinux会进行操作和访问限制,避免配置就直接关闭该功能。h

24、adoophadoop $ sudo vi /etc/sysconfig/selinux /编辑selinux配置文件SELINUX=disabled #设置selinux禁用10、查看Hadoop是否运行成功启动JN:11、hadoophadoop $cd /usr/local/hadoop2.0/hadoop/sbin/; ./hadoop-daemon.sh start journalnode格式化NameNode:hadoophadoop $ hadoop namenode format格式化JNhadoophadoop $ hadoop namenode -initializeSha

25、redEdits启动Zookeeper:hadoophadoop $ zkServer.sh start启动Hadoop:hadoophadoop $ cd sbin ./star-dfs.sh启动Yarn:hadoophadoop $cd sbin ./start-yarn.sh启动Hbase:hadoophadoop $start-hbase.sh集群方式启动Hive:hadoophadoop $hive:hive -hiveconf hbase.zookeeper.quorum=slave执行jps看是否启动成功,只有7个进程都启动了才对。在 Web 界面上查看是否启动成功,如果界面显示如下(standby namenode 的界面),则启动成功:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2