执行编辑yarn-site.xml文件的命令:vi/opt/hadoop/hadoop/etc/hadoop/yarn-site.xml需要在之间加入的代码:yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.resourcemanager.addressmaster:18040yarn.resourcemanager.scheduler.addressmaster:18030yarn.resourcemanager.resource-tracker.addressmaster:18025yarn.resourcemanager.admin.addressmaster:18141yarn.resourcemanager.webapp.addressmaster:18088配置MapReduce计算框架文件(只在master做)在/opt/hadoop/hadoop/etc/hadoop子目录下,系统已经有一个mapred-site.xml.template文件,我们需要将其复制并改名,位置不变。

但同时,它和其他的分布式文件系统的区别也是很明显的。

`sudouserdel-rhadoop`命令可以删除新建的hadoop用户。

所以需要设计高可用的HDFS(HadoopHA)来解决NameNode单点故障的问题。

HDFSFederation介绍HDFSFederation是可以在Hadoop集群中设置多个NameNode,不同于HA中多个NameNode是完全一样的,是多个备份,Federation中的多个NameNode是不同的,可以理解为将一个NameNode切分为了多个NameNode,每一个NameNode只负责管理一部分数据。

用root用户登录后,执行查看防火墙状态。

exportJAVA_HOME=/opt/modules/jdk1.7.0_675、配置hdfs-site.xmldfs.nameservicesns1,ns2,ns3dfs.namenode.rpc-address.ns1bigdata-senior01.chybinmy.com:8020dfs.namenode.serviceerpc-address.ns1bigdata-senior01.chybinmy.com:8022dfs.namenode.http-address.ns1bigdata-senior01.chybinmy.com:50070dfs.namenode.https-address.ns1bigdata-senior01.chybinmy.com:50470dfs.namenode.rpc-address.ns2bigdata-senior02.chybinmy.com:8020dfs.namenode.serviceerpc-address.ns2bigdata-senior02.chybinmy.com:8022dfs.namenode.http-address.ns2bigdata-senior02.chybinmy.com:50070dfs.namenode.https-address.ns2bigdata-senior02.chybinmy.com:50470dfs.namenode.rpc-address.ns3bigdata-senior03.chybinmy.com:8020dfs.namenode.serviceerpc-address.ns3bigdata-senior03.chybinmy.com:8022dfs.namenode.http-address.ns3bigdata-senior03.chybinmy.com:50070dfs.namenode.https-address.ns3bigdata-senior03.chybinmy.com:50470*1*2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17*18*19*20*21*22*23*24*25*26*27*28*29*30*31*32*33*34*35*36*37*38*39*40*41*42*43*44*45*46*47*48*49*50*51*52*53*54*55*56*57*58*59*60*61*62*636、配置core-site.xmlhadoop.tmp.dir/opt/modules/hadoopha/hadoop-2.5.0/data/tmphadoop.tmp.dir设置hadoop临时目录地址,默认时,NameNode和DataNode的数据存在这个路径下。

yarn.log-aggregation-enable3.4.5.6.yarn.log-aggregation.retain-seconds7.8.yarn.log-aggregation-enable:是否启用日志聚集功能。

打开WinSCP软件并连接登录ubuntu虚拟机,登录成功后默认进入当前用户主目录,双击刚创建的software目录

双击后跳转到software目录下

将下载的hadoop-2.6.5.tar.gz上传至Ubuntu虚拟机的software目录下,方法是:按下图鼠标拖动hadoop-2.6.5.tar.gz至software目录即可。

但是,如果使用主机名的话,Hadoop的配置不需要任何改变,而对于主机名到IP地址的映射配置交给系统管理员去做好了第三,如果使用了主机名,则hadoopetc配置文件的masters和slaves文件就可以直接使用主机名而不用IP了**Web访问50070******正常情况下输入http://Master_IP:50070即可查看节点状态,若出现50070无法访问的状态:1)先查看端口是否启用:netstat-ano|grep500702)查看防火墙的状态,是否关闭,如果没有,强制性关闭serviceiptablesstatus若开启,则运行下面的关闭命令chkconfigiptablesoff永久关闭防火墙serviceiptablesstop临时关闭防火墙但由于LInux原始的防火墙工具iptables过于繁琐,所以ubuntu默认提供了一个基于iptable之上的防火墙工具ufw。

这对调试非常有帮助统计许多文件中的每个单词出现的次数,这个曾经作为58同城校招面试题(当初不了解hadoop,惭愧)mkdirinputcphadoop-2.6.5/etc/hadoop/*.xmlinputhadoopjarhadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jarwordcount./input/output注意不用自己提前建立output目录output目录下_SUCCESS文件表示作业成功,part-r-00000文件记录了每个单词出现的次数****其他配置文件不用编辑:几个重要的配置文件原始配置core-site.xmlhdfs-site.xmlyarn-site.xml**伪分布式模式的操作方法**Hadoop可以在单节点上以所谓的伪分布式模式运行,此时每一个Hadoop守护进程都作为一个独立的Java进程运行。

安装jdk和配置环境变量,检查是否配置成功6、配置ssh,实现节点间的无密码登录sshnode1/2指令验证时候成功7、master配置hadoop,并将hadoop文件传输到node节点8、配置环境变量,并启动hadoop,检查是否安装成功,执行wordcount检查是否成功。

启动NTP服务在master节点执行命令`servicentpdstart&chkconfigntpdon`!在这里插入图片描述(https://img-blog.csdnimg.cn/c2bfa3e2b9274900b7602dd8864c6def.pngpic_center)在slave上执行命令`ntpdatemaster`即可同步时间!在这里插入图片描述(https://img-blog.csdnimg.cn/fd10d5a428ff4e78bc2dcd47a26f108e.pngpic_center)在slave上分别执行`servicentpdstart&chkconfigntpdon`即可启动并永久启动NTP服务。

点击自定义硬件,可以查看、修改虚拟机的硬件配置,这里我们不做修改。

或者换成output01试试?总结本文方法可以低成本的完成Hadoop的安装配置,对于学习理解和开发测试都有帮助的。

集群规划|HDSF|YARN—|—|—hadoop01|NanemNode(主机点),DataNode|NodeManagerhadoop02|DataNode,SecondaryNamenode|NodeManagerhadoop03|DataNode|NodeManager,ResourceManager(主节点)2\\.再hadoop01的/home/hadoop目录下创建module文件

3.下载2.7.6安装包https://archive.apache.org/dist/hadoop/common/

4.上传hadoop安装包通过xftp传送给到hadoop01机器的/home/hadoop/software目录下hadoop@hadoop01software$tar-zxvfhadoop-2.7.6.tar.gz-C../module/5\\.修改配置文件cd/home/hadoop/module/hadoop-2.7.6/etc/hadoop修改hadoop-env.shexportJAVA_HOME=/usr/local/java/jdk1.8.0_73修改core-site.xmlfs.defaultFShdfs://myha01/hadoop.tmp.dir/home/hadoop/data/hadoopdata/ha.zookeeper.quorumhadoop01:2181,hadoop02:2181,hadoop03:2181修改hdfs-site.xmldfs.replication3dfs.nameservicesmyha01dfs.ha.namenodes.myha01nn1,nn2dfs.namenode.rpc-address.myha01.nn1hadoop01:9000dfs.namenode.http-address.myha01.nn1hadoop01:50070dfs.namenode.rpc-address.myha01.nn2hadoop02:9000dfs.namenode.http-address.myha01.nn2hadoop02:50070dfs.namenode.shared.edits.dirqjournal://hadoop01:8485;hadoop02:8485;hadoop03:8485/myha01dfs.journalnode.edits.dir/home/hadoop/data/journaldatadfs.ha.automatic-failover.enabledtruedfs.client.failover.proxy.provider.myha01org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProviderdfs.ha.fencing.methodssshfenceshell(/bin/true)dfs.ha.fencing.ssh.private-key-files/home/hadoop/.ssh/id_rsadfs.ha.fencing.ssh.connect-timeout30000修改mapred-site.xmlmapreduce.framework.nameyarnmapreduce.jobhistory.addresshadoop01:10020mapreduce.jobhistory.webapp.addresshadoop01:19888修改yarn-site.xmlyarn.resourcemanager.ha.enabledtrueyarn.resourcemanager.cluster-idyrcyarn.resourcemanager.ha.rm-idsrm1,rm2yarn.resourcemanager.hostname.rm1hadoop04yarn.resourcemanager.hostname.rm2hadoop05yarn.resourcemanager.zk-addresshadoop02:2181,hadoop03:2181,hadoop04:2181yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.log-aggregation-enabletrueyarn.log-aggregation.retain-seconds86400yarn.resourcemanager.recovery.enabledtrueyarn.resourcemanager.store.classorg.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore修改slaves添加datanode的节点地址:hadoop01hadoop02hadoop036\\.分发安装包到其他机器scp-rhadoop-2.7.6hadoop@hadoop02:$PWDscp-rhadoop-2.7.6hadoop@hadoop03:$PWD7、并分别配置环境变量添加两行:exportHADOOP_HOME=/home/hadoop/module/hadoop-2.7.6exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin8\\.集群初始化操作(记住:严格按照以下步骤执行)先启动zookeeper集群启动:zkServer.shstart检查启动是否正常:zkServer.shstatus分别在每个zookeeper(也就是规划的三个journalnode节点,不一定跟zookeeper节点一样)节点上启动journalnode进程hadoop-daemon.shstartjournalnode然后用jps命令查看是否各个datanode节点上都启动了journalnode进程如果报错,根据错误提示改进在第一个namenode上执行格式化操作然后会在core-site.xml中配置的临时目录中生成一些集群的信息把他拷贝的第二个namenode的相同目录下hadoop.tmp.dir/home/hadoop/data/hadoopdata/这个目录下hadoop@hadoop01~$scp-r~/data/hadoopdata/hadoop02:~/data或者也可以在另一个namenode上执行:hadoopnamenode-bootstrapStandby

格式化ZKFC在第一台机器上即可

启动HDFS

查看各节点进程是否启动正常:jps访问web页面http://hadoop01:50070

启动YARN在主备resourcemanager中随便选择一台进行启动,正常启动之后,检查各节点的进程:jps若备用节点的resourcemanager没有启动起来,则手动启动起来yarn-daemon.shstartresourcemanager之后打开浏览器访问页面:http://hadoop03:8088

查看各主节点的状态HDFS:hdfshaadmin-getServiceStatenn1hdfshaadmin-getServiceStatenn2YARN:yarnrmadmin-getServiceStaterm1yarnrmadmin-getServiceStaterm2启动mapreduce任务历史服务器mr-jobhistory-daemon.shstarthistoryserver按照配置文件配置的历史服务器的web访问地址去访问:http://hadoop01:1988

,**你要悄悄拔尖,让后惊艳所有人**Hadoop介绍Hadoop-大数据开源世界的亚当夏娃。

单个NameNode时HDFS文件系统的吞吐量受限于单个NameNode的吞吐量。

hadoop@bigdata-senior03~$/opt/modules/app/hadoop-2.5.0/sbin/mr-jobhistory-daemon.shstarthistoryserverstartinghistoryserver,loggingto/opt/modules/app/hadoop-2.5.0/logs/mapred-hadoop-historyserver-bigdata-senior03.chybinmy.com.outhadoop@bigdata-senior03~$jps3570Jps3537JobHistoryServer3310SecondaryNameNode3213DataNode3392NodeManager4、查看HDFSWeb页面http://bigdata-senior01.chybinmy.com:50070/5、查看YARNWeb页面http://bigdata-senior02.chybinmy.com:8088/cluster三十测试Job我们这里用hadoop自带的wordcount例子来在本地模式下测试跑mapreduce。

点击编辑虚拟机设置,找到DVD,指定操作系统ISO文件所在位置。

Hadoop的初始化安装完成之后,需要进行集群初始化,当然这里我们没有集群,但是初始化也是必须的。

他是为了方便用户使用,避免每次使用都重新输入密码。

但*配置该系统是非常头疼的,很多人配置过程就放弃了。

enterimagedescriptionhere(http://images.gitbook.cn/a5661890-5cbf-11e7-8185-21ba04c77532)!enterimagedescriptionhere(http://images.gitbook.cn/a9db9b20-5cbf-11e7-8ca5-edc6aa6f5290)!enterimagedescriptionhere(http://images.gitbook.cn/ae2049b0-5cbf-11e7-86d9-f17e4b747fa0)Web客户端访问bigdata02机器上的resourcemanager正常,它是active状态的。

yarn.log-aggregation-enabletrueyarn.log.server.urlhttp://hadoop102:19888/jobhistory/logsyarn.log-aggregation.retain-seconds60480010、分发Hadoopxiaobuding@hadoop102hadoop$xsync/opt/module/hadoop-3.1.3/11、群起集群1)启动集群(1)如果集群是第一次启动,需要在hadoop102节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)xiaobuding@hadoop102hadoop-3.1.3$bin/hdfsnamenode-format(2)启动HDFSxiaobuding@hadoop102hadoop-3.1.3$sbin/start-dfs.sh(3)在配置了ResourceManager的节点(hadoop103)启动YARNxiaobuding@hadoop103hadoop-3.1.3$sbin/start-yarn.sh(4)Web端查看HDFS的Web页面:http://hadoop102:9870/12、编写hadoop集群常用脚本1)查看三台服务器java进程脚本:jpsallxiaobuding@hadoop102~$cd/home/xiaobuding/binxiaobuding@hadoop102~$vimjpsall然后输入!/bin/bashforhostinhadoop102hadoop103hadoop104doecho===============$host===============ssh$hostjps$@|grep-vJpsdone保存后退出,然后赋予脚本执行权限xiaobuding@hadoop102bin$chmod+xjpsall2)hadoop集群启停脚本(包含hdfs,yarn,historyserver):myhadoop.shxiaobuding@hadoop102~$cd/home/xiaobuding/binxiaobuding@hadoop102~$vimmyhadoop.sh然后输入!/bin/bashif$thenecho”NoArgsInput…”exit;ficase$1in”start”)echo”===================启动hadoop集群===================”echo”—————启动hdfs—————“sshhadoop102″/opt/module/hadoop-3.1.3/sbin/start-dfs.sh”echo”—————启动yarn—————“sshhadoop103″/opt/module/hadoop-3.1.3/sbin/start-yarn.sh”echo”—————启动historyserver—————“sshhadoop102″/opt/module/hadoop-3.1.3/bin/mapred–daemonstarthistoryserver”;;”stop”)echo”===================关闭hadoop集群===================”echo”—————关闭historyserver—————“sshhadoop102″/opt/module/hadoop-3.1.3/bin/mapred–daemonstophistoryserver”echo”—————关闭yarn—————“sshhadoop103″/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh”echo”—————关闭hdfs—————“sshhadoop102″/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh”;;*)echo”InputArgsError…”;;esac保存后退出,然后赋予脚本执行权限xiaobuding@hadoop102bin$chmod+xmyhadoop.sh3)分发/home/xiaobuding/bin目录,保证自定义脚本在三台机器上都可以使用xiaobuding@hadoop102~$xsync/home/xiaobuding/bin/。