接着上一篇文章,继续我们 hadoop 的入门案例.

  

  •   1. 修改 core-site.xml 文件
  

[bamboo@hadoop-senior hadoop-2.5.0]$ vim etc/hadoop/core-site.xml
添加如下的配置:
<configuration>
  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop-senior.bamboo.com:8020</value>
</property>
## 修改默认目录
<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/modules/hadoop-2.5.0/data/tmp</value>
  </property>
</configuration>
  在 hadoop 根目录下创建 data/tmp 目录,然后指向 hadoop.tmp.dir 属性
  
  >>说明
  hadoop-senior.bamboo.com 是 hostname 的值
  可以通过在 terminal 中输入 hostname 来查看.
  修改的话,需要修改 /etc/sysconfig/network 文件的属性即可
 
  •   2. 修改 hdfs-site.xml
<configuration>
 <property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
 
  •   3. 启动顺序
  namenode (主节点) 管理源数据
  datanode (从节点)    存储数据
 
[bamboo@hadoop-senior hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode
  starting namenode, logging to /opt/modules/hadoop-2.5.0/logs/hadoop-bamboo-namenode-hadoop-senior.bamboo.com.out [bamboo@hadoop-senior hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode
  starting datanode, logging to /opt/modules/hadoop-2.5.0/logs/hadoop-bamboo-datanode-hadoop-senior.bamboo.com.out

  我在启动 datanode 的时候,jps 看了下进程信息,并没有发现 datanode 进程,所以就找错误。

  <<jps 看到 datanode 并没有启动>>
  [bamboo@hadoop-senior hadoop-2.5.0]$ jps
  10408 Jps
  10131 NameNode
 
  原因:
  datanode的clusterID 和 namenode的clusterID 不匹配。
  出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。
 
  解决办法:
  根据日志中的路径,cd /opt/modules/hadoop-2.5.0/data/tmp/dfs
  能看到 data和name两个文件夹,
  将name/current下的VERSION中的clusterID复制到data/current下的VERSION中,覆盖掉原来的clusterID
  让两个保持一致
  
  然后重启,启动后执行jps,查看进程
  [bamboo@hadoop-senior dfs]$ jps
  10614 Jps
  10131 NameNode
  10467 DataNode
 
  •   4. hadoop 官网上的 hdfs 启动步骤如下:
  The following instructions are to run a MapReduce job locally. If you want to execute a job on YARN, see YARN on Single Node.
  1.Format the filesystem:
  $ bin/hdfs namenode -format
  
  2.Start NameNode daemon and DataNode daemon:
  $ sbin/start-dfs.sh
  The hadoop daemon log output is written to the $HADOOP_LOG_DIR directory (defaults to $HADOOP_HOME/logs).
  
  3.Browse the web interface for the NameNode; by default it is available at:
 
  4.Make the HDFS directories required to execute MapReduce jobs:
 
  create folder $ bin/hdfs dfs -mkdir -p /user/<username>
 
  5.Copy the input files into the distributed filesystem:
  $ bin/hdfs dfs -put etc/hadoop input
 
  6.Run some of the examples provided:
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar grep input output 'dfs[a-z.]+'
 
  7.Examine the output files:
  Copy the output files from the distributed filesystem to the local filesystem and examine them:
  $ bin/hdfs dfs -get output output $ cat output/*
  or
  View the output files on the distributed filesystem:
  $ bin/hdfs dfs -cat output/*
 
  8.When you're done, stop the daemons with:
  $ sbin/stop-dfs.sh
 
 
  •   5. hdfs 的命令使用
 
  5.1 查看文件列表

[bamboo@hadoop-senior hadoop-2.5.0]$ bin/hdfs dfs -ls -R /
17/12/31 18:34:29 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
drwxr-xr-x - bamboo supergroup 0 2017-12-31 05:08 /user
drwxr-xr-x - bamboo supergroup 0 2017-12-31 05:09 /user/bamboo
drwxr-xr-x - bamboo supergroup 0 2017-12-31 05:09 /user/bamboo/input
 
  5.2 上传文件并查看
  

1)、创建上传目录
[bamboo@hadoop-senior hadoop-2.5.0]$ bin/hdfs dfs -mkdir -p /user/bamboo/mapreduce/wordcount/input/
17/12/31 18:38:51 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 2)、上传文件
[bamboo@hadoop-senior hadoop-2.5.0]$ bin/hdfs dfs -put wcinput/wc.txt /user/bamboo/mapreduce/wordcount/input
17/12/31 18:40:47 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 3)、查看文件
[bamboo@hadoop-senior hadoop-2.5.0]$ bin/hdfs dfs -ls /user/bamboo/mapreduce/wordcount/input
17/12/31 18:41:01 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 items
-rw-r--r-- 1 bamboo supergroup 81 2017-12-31 18:40 /user/bamboo/mapreduce/wordcount/input/wc.txt 4)、查看文件内容
[bamboo@hadoop-senior hadoop-2.5.0]$ bin/hdfs dfs -cat /user/bamboo/mapreduce/wordcount/input/wc.txt
17/12/31 18:43:43 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
hadoop yarn
hadoop mapreduce
hadoop hdfs
yarn nodemanager
hadoop resourcemanager
 6. 用 hdfs 运行任务并存储到 hdfs
[bamboo@hadoop-senior hadoop-2.5.0]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/bamboo/mapreduce/wordcount/input /user/bamboo/mapreduce/wordcount/output

查看运行结果:
[bamboo@hadoop-senior hadoop-2.5.0]$ bin/hdfs dfs -cat /user/bamboo/mapreduce/wordcount/output/*
17/12/31 18:50:28 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
hadoop 4
hdfs 1
mapreduce 1
nodemanager 1
resourcemanager 1
yarn 2

OK,  hdfs 大概就到这里了,下一个章节来继续 yarn 方式来启动 。

Hadoop 系列文章(二) Hadoop配置部署启动HDFS及本地模式运行MapReduce的更多相关文章

  1. Hadoop 系列文章(一) Hadoop 的安装,以及 Standalone Operation 的启动模式测试

    以前都是玩 java,没搞过 hadoop,所以以此系列文章来记录下学习过程 安装的文件版本.操作系统说明 centos-6.5-x86_64 [bamboo@hadoop-senior opt]$ ...

  2. Kettle系列文章二(安装配置Kettle+SqlServer+简单的输入输出作业)

    一.下载 Kettle下载地址:https://community.hitachivantara.com/docs/DOC-1009855 下拉到DownLoad,点击红框中的链接进行下载.. 二.解 ...

  3. Hadoop 系列(二)安装配置

    Hadoop 系列(二)安装配置 Hadoop 官网:http://hadoop.apache.or 一.Hadoop 安装 1.1 Hadoop 依赖的组件 JDK :从 Oracle 官网下载,设 ...

  4. 3-3 Hadoop集群完全分布式配置部署

    Hadoop集群完全分布式配置部署 下面的部署步骤,除非说明是在哪个服务器上操作,否则默认为在所有服务器上都要操作.为了方便,使用root用户. 1.准备工作 1.1 centOS6服务器3台 手动指 ...

  5. HBase 系列(二)安装部署

    HBase 系列(二)安装部署 本节以 Hadoop-2.7.6,HBase-1.4.5 为例安装 HBase 环境.HBase 也有三种模式:本地模式.伪分布模式.分布模式. 一.环境准备 (1) ...

  6. Greeplum 系列(二) 安装部署

    Greeplum 系列(二) 安装部署 本章将介绍如何快速安装部署 Greenplum,以及 Greenplum 的一些常用命令及工具.本章不会涉及硬件选型.操作系统参数讲解.机器性能测试等高级内容, ...

  7. yum 系列(二) 离线部署

    yum 系列(二) 离线部署 一.下载 rpm 依赖包 (1) yum 下载 rpm 包 准备一台 全新的 CentOS7 mini 虚拟机 ,联网下载所有所需的 rpm 包和其依赖, yum ins ...

  8. Mybatis系列(二)配置

    Mybatis系列(二)配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configu ...

  9. 啃掉Hadoop系列笔记(03)-Hadoop运行模式之本地模式

    Hadoop的本地模式为Hadoop的默认模式,不需要启用单独进程,直接可以运行,测试和开发时使用. 在<啃掉Hadoop系列笔记(02)-Hadoop运行环境搭建>中若环境搭建成功,则直 ...

随机推荐

  1. BeanUtils接口和类

      Jakarta Commons项目提供了相当丰富的API,我们之前了解到的Commons Lang只是众多API的比较核心的一小部分而已.Commons下面还有相当数量的子项目,用于解决各种各样不 ...

  2. spring boot 常见三十四问

    Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...

  3. 某大型跨境电商JVM调优总结

    前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁,但是对于线上机器的运行情况,特别是jvm内存的情况,一直没有一个统一的标准来给到各个应用服务的owner.经过618大促之后,和运维的同学讨论 ...

  4. echarts属性的设置(完整大全)

    // 全图默认背景  // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87cefa','#da70d6','#32cd ...

  5. indexOf() 如何判断一个元素在指定数组中是否存在? 找出指定元素出现的所有位置? indexOf()方法 是正序查找,lastIndexOf()是倒叙查找

    indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1. let a = [2, 9, 7, 8, 9]; a.indexOf(2); // 0 a.indexOf ...

  6. pycharm 下使用tensorflow 之环境配置

    我们常常看代码使用ide里面看,而且还可以看到调试信息(虽然tensorflow有专门的调试介绍哈) 但是,常常代码在终端里面执行可以直接执行,但是到pycharm里面就会出现各种问题,常见的就是找不 ...

  7. logrotate-日志切割示例

    logrotate是linux系统自带的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件. 1)配置文件示例# cat /wls/wls81/bin/weblogic/wls/app ...

  8. 【Django】HTTP status code must be an integer.

    刚刚出现这个问题,还以为是表单提交或者什么网络错误 结果发现是自己的低级错误写了 HttpResponse(request,'sigin_result2.html',context)这个根本不能渲染模 ...

  9. df -i 100%时处理方法

    晚上正在看文档的时候,运营突然打电话给我说游戏全炸了,都玩不了了: 我立马登上服务器,查看了下各服务是否正常运行,结果运行命令都报Unable to create lock file:  No spa ...

  10. Dubbo helloword

    首先,开始编写服务提供者的api接口, SampleService  接口 package bhz.dubbo.sample.provider; import java.util.List; publ ...