二.hadoop环境搭建
目录:
目的
这篇文档的目的是帮助你快速完成单机上的Hadoop安装与使用以便你对Hadoop分布式文件系统(HDFS)和Map-Reduce框架有所体会,比如在HDFS上运行示例程序或简单作业等。
概述
- GNU/Linux是产品开发和运行的平台。 Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。
- Win32平台是作为开发平台支持的。由于分布式操作尚未在Win32平台上充分测试,所以还不作为一个生产平台被支持。
- (1) JavaTM JDK1.5+,必须安装。(2)ssh 必须安装并且保证 sshd一直运行(以便用Hadoop 脚本管理远端Hadoop守护进程)。
安装软件
如果你的集群尚未安装所需软件,你得首先安装它们。
以Ubuntu Linux为例:
$ sudo apt-get install openssh-server
$ sudo apt-get install rsync
下载
为了获取Hadoop的发行版,从Apache的某个镜像服务器上下载最近的 稳定发行版。
运行Hadoop集群的准备工作
解压所下载的 Hadoop 发行版。编辑 etc/hadoop/hadoop-env.sh 文件,定义如下参数:
# 设置 Java 的安装目录
export JAVA_HOME=/usr/software/java/jdk1.8
尝试如下命令:
$ bin/hadoop
将会显示hadoop 脚本的使用文档。
现在你可以用以下三种支持的模式中的一种启动Hadoop集群:
- 单机模式
- 伪分布式模式
- 完全分布式模式
单机模式的操作方法
默认情况下,Hadoop被配置成以非分布式模式运行的一个独立Java进程。这对调试非常有帮助。
下面的实例将已解压的 conf 目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。输出写入到指定的output目录。
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep input output 'dfs[a-z.]+'
$ cat output/*
输出结果如下:
2 dfs.replication
1 dfsadmin
1 dfs.name.dir
1 dfs.data.dir
伪分布式模式的操作方法
Hadoop 可以在单节点上以所谓的伪分布式模式运行,此时每一个 Hadoop 守护进程都作为一个独立的 Java 进程运行。
配置:
etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/software/hadoop/tmp</value>
</property>
</configuration>
附:配置fs.default.name的原因:http://blog.csdn.net/lisongjia123/article/details/77414189
etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
由于我们只有一台主机和一个为分部模式的datanode,所以dfs.replication值为1
免密码 ssh 设置(跟上一节的hadoop入门须知里一样)
现在确认 能否不输入口令就用 ssh 登录 localhost:
$ ssh localhost
如果不输入口令就无法用 ssh 登陆 localhost,执行下面的命令:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
执行
下面演示本地运行一个 MapReduce 的 job,以下是运行步骤。
(1)格式化一个新的分布式文件系统:
$ bin/hdfs namenode -format
(2)启动 NameNode 守护进程和 DataNode 守护进程:
$ sbin/start-dfs.sh
Hadoop 守护进程的日志写入到 $HADOOP_LOG_DIR目录(默认是 $HADOOP_HOME/logs)
(3)浏览 NameNode 的网络接口,它们的地址默认为:
NameNode - http://localhost:50070/
注意:这个http://localhost:50070/是在linux下的访问的localhost:50070,windows下要改成linux的http://[ip]:50070 来访问
(4)创建 HDFS 目录来执行 MapReduce 的 job:
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
(5)将输入文件拷贝到分布式文件系统:
$ bin/hdfs dfs -put input input
hadoop fs -put < local file > < hdfs file >
//这一行 会在上个步骤的文件目录下,创建input文件夹
(6)运行发行版提供的示例程序:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep input output 'dfs[a-z.]+'
此处,使用命令
$ bin/hdfs dfs -ls input 可以查看到input目录下刚拷贝的xml文件
$ bin/hdfs dfs -ls / 可以查看目录
如果报错output已存在,需要删除分布式系统中已存在的output文件夹
$ bin/hdfs dfs -ls 查看到分布式系统新建的文件夹,如input和步骤6生成的output文件夹
$ bin/hdfs dfs –rm –r output 可删除分布式系统output文件夹
附录:hadoop HDFS常用文件操作命令
(7)查看输出文件
将输出文件从分布式文件系统拷贝到本地文件系统查看:
$ bin/hdfs dfs -get output output
$ cat output/*
或者,在分布式文件系统上查看输出文件:
$ bin/hdfs dfs -cat output/*
(8)完成全部操作后,停止守护进程:
$ sbin/stop-dfs.sh
二.hadoop环境搭建的更多相关文章
- 大数据学习之Hadoop环境搭建
一.Hadoop的优势 1)高可靠性:因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理. 2)高扩展性:在集群间分配任务数据,可方便的 ...
- Hadoop环境搭建、启动和管理界面查看
一.hadoop环境搭建: 1. hadoop 6个核心配置文件的作用:core-site.xml:核心配置文件,主要定义了我们文件访问的格式 hdfs://hadoop-env.sh:主要配置我们的 ...
- Ubuntu中Hadoop环境搭建
Ubuntu中Hadoop环境搭建 JDK安装 方法一:通过命令行直接安装(不建议) 有两种java可以安装oracle-java8-installer以及openjdk (1)安装oracle-ja ...
- 转 史上最详细的Hadoop环境搭建
GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...
- 【转】RHadoop实践系列之一:Hadoop环境搭建
RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...
- hadoop环境搭建之关于NAT模式静态IP的设置 ---VMware12+CentOs7
很久没有更新了,主要是没有时间,今天挤出时间验证了一下,果然还是有些问题的,不过已经解决了,就发上来吧. PS:小豆腐看仔细了哦~ 关于hadoop环境搭建,从单机模式,到伪分布式,再到完全分布式,我 ...
- eclipse工具下hadoop环境搭建
eclipse工具下hadoop环境搭建: window10操作系统中搭建eclipse64开发系统,配置hadoop的eclipse插件,让eclipse可以查看Hdfs中的文件内容. ...
- Linux集群搭建与Hadoop环境搭建
今天是8月19日,距离开学还有15天,假期作业完成还是遥遥无期,看来开学之前的恶补是躲不过了 今天总结一下在Linux环境下安装Hadoop的过程,首先是对Linux环境的配置,设置主机名称,网络设置 ...
- Hadoop环境搭建(centos)
Hadoop环境搭建(centos) 本平台密码83953588abc 配置Java环境 下载JDK(本实验从/cgsrc 文件中复制到指定目录) mkdir /usr/local/java cp / ...
随机推荐
- 51NOD-1486 大大走格子
有一个h行w列的棋盘,里面有一些格子是不能走的,现在要求从左上角走到右下角的方案数. Input 单组测试数据. 第一行有三个整数h, w, n(1 ≤ h, w ≤ 10^5, 1 ≤ n ≤ 20 ...
- CodeForces-915C Permute Digits
C. Permute Digits time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- 流媒体技术学习笔记之(二)RTMP和HLS分发服务器nginx.conmf配置文件(解决了,只能播放RTMP流而不能够播放HLS流的原因)
user www www; worker_processes ; error_log logs/error.log debug; #pid logs/nginx.pid; events { worke ...
- AWT和Swing的关系
1.AWT和Swing都是java中的包. 2.AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包,AWT是通过调用操作系统的native方法实现的 ...
- C#字体与Rectangle简单对应关系
在1920*1080 无缩放分辨率下,Rectangle要至少是字体的2倍+2才不会被遮挡.
- IEEE 802.1X标准
1.介绍 802.1X是一个IEEE标准,通过对用户进行基于端口的安全认证和对密钥的动态管理,从而实现保护用户用户的位置隐私和身份隐私以及有效保护通信过程中信息安全的目的. 在802.1X协议中,只有 ...
- asp.net EF框架执行原生SQL语句
1.执行无参数sql: string sql = "select * from IntegralInfo where convert(nvarchar,getdate(),23)='{0}' ...
- Nginx Server 配置
http { include mime.types; // 主模块:实现对配置文件包含的文件设定,可以减少主配置文件的复杂度: default_type application/octet-strea ...
- Nginx 配置文件解析
nginx 整理 nginx 配置主要是分为4个部分 1.main 全局设置2.server 主机设置 -- 指定主机与端口3.upstream 负载均衡服务器设置 -- 反向代理设置:4.locat ...
- 第19月第8天 斯坦福大学公开课机器学习 (吴恩达 Andrew Ng)
1.斯坦福大学公开课机器学习 (吴恩达 Andrew Ng) http://open.163.com/special/opencourse/machinelearning.html 笔记 http:/ ...