Hadoop 初体验
Hadoop 是一个基于谷歌发表的几篇论文而开发的一个分布式系统基础架构,用户可在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop现在已经成了大数据的代名词。也就是说,现在如果要处理大数据,Hadoop是首要选择。所以学好Hadoop是非常实用的。
Hadoop 目前大的版本分为1和2,对于初学者来说,先学习 Hadoop 1.x 比较容易上手,相比 2.x会简单不少。
环境
Ubuntu 16.04
openjdk-8
Hadoop-1.2.1
安装
由于 Hadoop 是用 Java 开发的,所以要依赖 JDK,首先要安装 JDK,并配置JDK的环境变量。
安装 Java 命令:
sudo apt-get install openjdk-8-jdk
如果出现一下错误:
E: 软件包 sun-java6-jre 没有可供安装的候选者
则执行一下命令:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
之后再执行安装命令。
JDK 安装完成后需要配置环境变量,编辑/etc/profile,加入一下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-i386
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
安装Hadoop。
下载 Hadoop 的安装包 hadoop-1.2.1.tar.gz,解压后放到/opt/目录下
接着是对 Hadoop 配置:
hadoop-env.sh
修改JAVA_HOME 的路径
core-site.xml
初始是空文件,加入以下内容:
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/hadoop/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://tang:9000</value>
</property>
hdfs-site.xml
加入以下内容:
<property>
<name>dfs.data.dir</name>
<value>/hadoop/data</value>
</property>
mapred-site.xml
加入以下内容:
<property>
<name>mapred.job.tracker</name>
<value>tang:9001</value>
</property>
配置好后,加入 Hadoop 的环境变量
export HADOOP_HOME=/opt/hadoop-1.2.1
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
执行 source /etc/profile 让配置的环境变量立即生效。
输入 hadoop 看到 hadoop 的参数说明,表明配置成功了。
接着切换到 hadoop/bin 下,执行 hadoop namenode -format 进行格式化,如果出现以下错误:
hadoop java.io.IOException: while running namenode -format
12/07/03 17:03:56 ERROR namenode.NameNode: java.io.IOException: Cannot create directory /your/path/to/hadoop/tmp/dir/hadoop-hadoop/dfs/name/current
需要检查一下刚才在几个配置文件中定义的路径是否存在、当前用户是否有权限访问。
格式化成功后,切换到/hadoop/bin下,执行 start-all.sh
如果出现以下错误:
ssh: connect to host localhost port 22: Connection refused
可能的原因是ssh server没装,查看方法:
ps -e |grep ssh
如果没有sshd,说明还没有安装ssh server
解决方案:
sudo apt-get install openssh-server
接着再运行start-all.sh就可以了。
再运行 jfs,观察以下几个内容是否存在。
3542 TaskTracker
3334 SecondaryNameNode
4058 Jps
3931 JobTracker
3677 NameNode
3182 DataNode
如果都存在,表明hadoop启动成功。
运行 hadoop fs -ls / 时,出现以下错误:
14/07/29 13:25:35 INFO ipc.Client: Retrying connect to server: centhost.centdomain/10.110.30.30:9000. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
原因是没有启动 hadoop,切换到$HADOOP_HOME/bin 下,运行 start-all.sh即可。
出现以下错误
s: unknown host: tang
检查一下 /etc/hosts、 /etc/hostname 下是否存在该主机。
运行 jps 时没有出现datanode,可能的原因是:
当前用户是否有配置文件中指定的文件夹打操作权限。
Hadoop 初体验的更多相关文章
- 全分布式的Hadoop初体验
背景 之前的时间里对 Hadoop 的使用都是基于学长所搭建起的实验环境的,没有完整的自己部署和维护过,最近抽时间初体验了在集群环境下装机.配置.运行的全过程,梳理总结到本文中. 配置 内存:8G C ...
- Hadoop初体验(续)--YARN
1.Hadoop已经安装完成并启动成功 复制mapred-site.xml.template重命名为mapred-site.xml /etc/hadoop/mapred-site.xml.templa ...
- Hadoop初体验
1.首先准备环境 系统:Linux(centOS) jdk:1.7 这里jdk要安装配置完成,具体步骤参考:Linux环境下安装JDK 注意:本次没有配置免密登录,所以在启动和停止的时候回让你输入多次 ...
- Flume 实战(1) -- 初体验
前言: Flume-ng是数据收集/聚合/传输的组件, Flume-ng抛弃了Flume OG原本繁重的zookeeper和Master, Collector, 其整体的架构更加的简洁和明了. 其基础 ...
- YII学习,初体验 ,对YII的一些理解.
先说点没用的: 不会选择,选择后不坚持,不断的选择.这是人生中的一个死循环,前两一直迷茫.觉得自己前进方向很不明朗.想去学的东西有很多.想学好YII,想学PYTHON 想学学hadoop什么的,又想研 ...
- 【Spark深入学习 -15】Spark Streaming前奏-Kafka初体验
----本节内容------- 1.Kafka基础概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知识 1.2.2.架构和原理 1.2.3.基本概念 1.2.4.kafka特点 2.Kafk ...
- 一 Hive安装及初体验
一 .Hive安装及初体验 1 .hive简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.1直接使用hadoop面临的问题 ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
随机推荐
- 基于NEO4J的高级检索功能
基于NEO4J的高级检索 一.需求 二.创建索引 1.索引自动更新配置 2.执行带有索引自动更新配置的过程 三.查询索引 1.LUCENE查询语法 2.实现高级检索的核心:LUCENE QUERY语句 ...
- 将sparkStreaming结果保存到Redshift数据库
1.保存到redshift数据库的代码 package test05 import org.apache.log4j.{Level, Logger}import org.apache.spark.rd ...
- php 查看linux服务器的磁盘使用情况
- 本地git安装完成之后,从远程git服务器上面下载代码。报错SSL certificate problem:self signed certificate in certificate chain。
解决方案:打开git的控制端黑窗口,输入: git config --global http.sslVerify false 点击Entry之后,就会去掉git的ssl验证. 然后就可以正常的下载代码 ...
- java运行字符串代码
本文链接:https://blog.csdn.net/junlong750/article/details/50945883
- 【JZOJ6342】Tiny Counting
description analysis 首先不管\(a,b,c,d\)重复的情况方案数是正逆序对之积 如果考虑\(a,b,c,d\)有重复,只有四种情况,下面括号括起来表示该位置重复 比如\(\{a ...
- 廖雪峰Java16函数式编程-2Stream-6reduce
1. 聚合方法 Stream.reduce()是一个Stream的聚合方法:把一个Stream的所有元素聚合成一个结果 例如: Stream.of(1, 2, 3, 4, 5).count(); // ...
- CSS——滑动门技术及应用
先来体会下现实中的滑动门,或者你可以叫做推拉门: 滑动门出现的背景 制作网页时,为了美观,常常需要为网页元素设置特殊形状的背景,比如微信导航栏,有凸起和凹下去的感觉,最大的问题是里面的字数不一样多,咋 ...
- HTML --- 简单的标签
HTML --- 简单的标签 html概述和基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是 ...
- C#,判断数字集合是否是连续的
/// <summary> /// 判断数字集合是否是连续的 /// </summary> /// <returns></returns> public ...