热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hadoop伪分布式运行模式启动HDFS并运行MapReduce程序

配置集群配置:hadoop-env.sh1)Linux系统中获取JDK的安装路径:[l

配置集群
  1. 配置:hadoop-env.sh
    1)Linux系统中获取JDK的安装路径:

[liujh@ hadoop101 ~]# echo $JAVA_HOME
/opt/module/jdk1.8.0_144

2)修改JAVA_HOME 路径:

export JAVA_HOME=/opt/module/jdk1.8.0_144

  1. 配置:core-site.xml


<property>
<name>fs.defaultFSname>
<value>hdfs://hadoop101:9000value>
property>

<property>
<name>hadoop.tmp.dirname>
<value>/opt/module/hadoop-2.7.2/data/tmpvalue>
property>

  1. 配置:hdfs-site.xml


<property>
<name>dfs.replicationname>
<value>1value>
property>

启动集群
  1. 格式化NameNode(第一次启动时格式化,以后就不要总格式化)

[liujh@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format

  1. 启动NameNode

[liujh@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode

  1. 启动DataNode

[liujh@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

查看集群
  1. 查看是否启动成功

[liujh@hadoop101 hadoop-2.7.2]$ jps
13586 NameNode
13668 DataNode
13786 Jps

注意:jps是JDK中的命令,不是Linux命令。不安装JDK不能使用jps

  1. web端查看HDFS文件系统
    http://hadoop101:50070/dfshealth.html#tab-overview
    注意:如果不能查看,看如下帖子处理
    http://www.cnblogs.com/zlslch/p/6604189.html

  2. 查看产生的Log日志
    说明:在企业中遇到Bug时,经常根据日志提示信息去分析问题、解决Bug。
    当前目录:/opt/module/hadoop-2.7.2/logs

[liujh@hadoop101 logs]$ ls
hadoop-liujh-datanode-hadoop.liujh.com.log
hadoop-liujh-datanode-hadoop.liujh.com.out
hadoop-liujh-namenode-hadoop.liujh.com.log
hadoop-liujh-namenode-hadoop.liujh.com.out
SecurityAuth-root.audit
[liujh@hadoop101 logs]# cat hadoop-liujh-datanode-hadoop101.log

  1. 思考:为什么不能一直格式化NameNode,格式化NameNode,要注意什么?

[liujh@hadoop101 hadoop-2.7.2]$ cd data/tmp/dfs/name/current/
[liujh@hadoop101 current]$ cat VERSION
clusterID=CID-f0330a58-36fa-4a2a-a65f-2688269b5837
[liujh@hadoop101 hadoop-2.7.2]$ cd data/tmp/dfs/data/current/
clusterID=CID-f0330a58-36fa-4a2a-a65f-2688269b5837

注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。

操作集群
  1. 在HDFS文件系统上创建一个input文件夹

[liujh@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -mkdir -p /user/liujh/input

  1. 将测试文件内容上传到文件系统上

[liujh@hadoop101 hadoop-2.7.2]$bin/hdfs dfs -put wcinput/wc.input /user/liujh/input/

  1. 查看上传的文件是否正确

[liujh@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -ls /user/liujh/input/
[liujh@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/liujh/ input/wc.input

  1. 运行MapReduce程序

[liujh@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/liujh/input/ /user/liujh/output

  1. 查看输出结果
    命令行查看:

[liujh@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/liujh/output/*

浏览器查看 http://hadoop101:50070/dfshealth.html#tab-overview

  1. 将测试文件内容下载到本地

[liujh@hadoop101 hadoop-2.7.2]$ hdfs dfs -get /user/liujh/output/part-r-00000 ./wcoutput/

  1. 删除输出结果

[liujh@hadoop101 hadoop-2.7.2]$ hdfs dfs -rm -r /user/liujh/output


关注微信公众号


简书:https://www.jianshu.com/u/0278602aea1d
CSDN:https://blog.csdn.net/u012387141
特别感谢:尚硅谷教育




推荐阅读
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
author-avatar
起薪d这帖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有