Hadoop高速入门
Hadoop高速入门
先决条件
支持平台
- GNU/Linux是产品开发和执行的平台。
Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。
- Win32平台是作为开发平台支持的。因为分布式操作尚未在Win32平台上充分測试,所以还不作为一个生产平台被支持。
所需软件
Linux和Windows所需软件包含:
- JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本号。
- ssh 必须安装而且保证 sshd一直执行,以便用Hadoop 脚本管理远端Hadoop守护进程。
Windows下的附加软件需求
- Cygwin - 提供上述软件之外的shell支持。
安装软件
假设你的集群尚未安装所需软件,你得首先安装它们。
以Ubuntu Linux为例:
$ sudo apt-get install ssh
$ sudo apt-get install rsync
在Windows平台上,假设安装cygwin时未安装所有所需软件,则需启动cyqwin安装管理器安装例如以下软件包:
- openssh - Net 类
下载
为了获取Hadoop的发行版。从Apache的某个镜像server上下载近期的 稳定发行版。
执行Hadoop集群的准备工作
解压所下载的Hadoop发行版。编辑 conf/hadoop-env.sh文件。至少须要将JAVA_HOME设置为Java安装根路径。
尝试例如以下命令:
$ bin/hadoop
将会显示hadoop 脚本的使用文档。
如今你能够用下面三种支持的模式中的一种启动Hadoop集群:
- 单机模式
- 伪分布式模式
- 全然分布式模式
单机模式的操作方法
默认情况下,Hadoop被配置成以非分布式模式执行的一个独立Java进程。这对调试很有帮助。
以下的实例将已解压的 conf 文件夹拷贝作为输入,查找并显示匹配给定正則表達式的条目。
输出写入到指定的output文件夹。
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
$ cat output/*
伪分布式模式的操作方法
Hadoop能够在单节点上以所谓的伪分布式模式执行,此时每个Hadoop守护进程都作为一个独立的Java进程执行。
配置
使用例如以下的 conf/hadoop-site.xml:
| <configuration> |
| <property> |
| <name>fs.default.name</name> |
| <value>localhost:9000</value> |
| </property> |
| <property> |
| <name>mapred.job.tracker</name> |
| <value>localhost:9001</value> |
| </property> |
| <property> |
| <name>dfs.replication</name> |
| <value>1</value> |
| </property> |
| </configuration> |
免passwordssh设置
如今确认是否能不输入口令就用ssh登录localhost:
$ ssh localhost
假设不输入口令就无法用ssh登陆localhost。运行以下的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
运行
格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format
启动Hadoop守护进程:
$ bin/start-all.sh
Hadoop守护进程的日志写入到 ${HADOOP_LOG_DIR} 文件夹 (默认是
${HADOOP_HOME}/logs).
浏览NameNode和JobTracker的网络接口,它们的地址默觉得:
- NameNode - http://localhost:50070/
- JobTracker - http://localhost:50030/
将输入文件复制到分布式文件系统:
$ bin/hadoop fs -put conf input
执行发行版提供的演示样例程序:
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
查看输出文件:
将输出文件从分布式文件系统复制到本地文件系统查看:
$ bin/hadoop fs -get output output
$ cat output/*
或者
在分布式文件系统上查看输出文件:
$ bin/hadoop fs -cat output/*
完毕所有操作后,停止守护进程:
$ bin/stop-all.sh
全然分布式模式的操作方法
关于搭建全然分布式模式的。有实际意义的集群的资料能够在这里找到。
參考资料:http://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html
Hadoop高速入门的更多相关文章
- Spark高速入门指南(Quick Start Spark)
版权声明:本博客已经不再更新.请移步到Hadoop技术博客:https://www.iteblog.com https://blog.csdn.net/w397090770/article/detai ...
- sqoop 1.4.4-cdh5.1.2高速入门
一.高速入门 (一)下载安装 1.下载并解压 wget http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.2.tar.gz tar - ...
- Hadoop快速入门
目的 这篇文档的目的是帮助你快速完成单机上的Hadoop安装与使用以便你对Hadoop分布式文件系统(HDFS)和Map-Reduce框架有所体会,比如在HDFS上运行示例程序或简单作业等. 先决条件 ...
- Windows下FFmpeg高速入门
本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...
- hadoop pig入门总结
在这里贴一个pig源码的分析,做pig很长时间没做笔记,不包含任何细节,以后有机会再说吧 http://blackproof.iteye.com/blog/1769219 hadoop pig入门总结 ...
- Tensorflow高速入门2--实现手写数字识别
Tensorflow高速入门2–实现手写数字识别 环境: 虚拟机ubuntun16.0.4 Tensorflow 版本号:0.12.0(仅使用cpu下) Tensorflow安装见: http://b ...
- C语言高速入门系列(二)
C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...
- Swift高速入门之函数
函数 看一个函数的样例: func addNumbers( let a:Int,let b:Int)->Int{ return a+b; } 实现两个数相加.函数必须以func开头,后面是函数名 ...
- C语言高速入门系列(八)
C语言高速入门系列(八) C语言位运算与文件 本章引言: 在不知不觉中我们的C高速入门系列已经慢慢地接近尾声了,而在这一节中,我们会对 C语言中的位运算和文件进行解析,相信这两章对于一些人来说是陌生的 ...
随机推荐
- 软件开发 —— 重构(refactor)
0. 代码坏味道 Large Class,过大的类:Large method,过长的(成员)函数: 1. 基本内涵 在不改变代码外在行为的前提下对代码做出修改,以改进代码的内部结构的过程. -- &l ...
- JavaScript:目录
ylbtech-JavaScript:目录 1. https://www.javascript.com/ 2. 1.返回顶部 1. http://www.runoob.com/js/js-functi ...
- java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'user'
转自: https://blog.csdn.net/Winter_chen001/article/details/77332944
- java+appium+安卓模拟器实现app自动化Demo
网上有比较多相关教程,自己写一遍,加深下印象. 环境搭建 据说,很多人都被繁琐的环境搭建给吓到了. 是的,确实,繁琐. node.js 网址 cmd输入node -v,出现下图说明成功. JDK 网址 ...
- 鸟哥的Linux私房菜笔记第六章(一)
目录与路径 相对路径与绝对路径 上一章简单的提到绝对路径和相对路径 绝对路径:路径的写法一定是由根目录(/)写起的,例如:/home/user 这个目录 相对路径:路径的写法不是由根目录(/)写起,例 ...
- 使用原生JS实现简单的ajax
Ajax是一种使用javascript内置对象向服务器发送请求/接收响应的技术.它可以再页面已经完全显示出来之后再和服务器进行少量的数据交互,所以可以实现局部内容的刷新. ajax的实现,主要是靠ja ...
- vue-cli 结构
. |-- build // 项目构建(webpack)相关代码 | |-- build.js // ...
- Findbugs分析工具介绍
Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.Findbugs自带检测器,其中有60余种Bad practice,80余种Correct ...
- 基于ACE的TAO开发---一个简单的入门实例-----VS2008(二)
上一节已经说了如何编译idl文件.现在就用编好的文件来写一个最小的corba小程序的.程序分为服务器程序和客户端程序. 说明下,代码是<基于C++CORBA高级编程>一书中的例子. 1.首 ...
- swift 类型备份
Swift语法3.03(类型Types) https://www.jianshu.com/p/839f9bc4b9a3 https://developer.apple.com/library/cont ...