Hadoop1 Centos伪分布式部署
前言:
毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了。对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环境跑起来,然后在能用的基础上在多想想为什么。
通过这三个礼拜(基本上就是周六周日,其他时间都在加班啊T T)的探索,我目前主要完成的是:
1.在Linux环境中伪分布式部署hadoop(SSH免登陆),运行WordCount实例成功。 http://www.cnblogs.com/PurpleDream/p/4009070.html
2.自己打包hadoop在eclipse中的插件。 http://www.cnblogs.com/PurpleDream/p/4014751.html
3.在eclipse中访问hadoop运行WordCount成功。 http://www.cnblogs.com/PurpleDream/p/4021191.html
所以我下边会分三次记录下我的过程,为自己以后查阅方便,要是能帮助到其他人,自然是更好了!
===============================================================长长的分割线====================================================================
正文:
我的部署环境是之前在阿里云购买的Linux云服务器(大家用自己的linux环境,或者搭个VM虚拟机也是可以滴),系统是CentOS6.X,之前需要自己安装好JDK,我安装的是1.6的,注意这个后边在安装完hadoop后,也需要给Hadoop配置JAVA_HOME,不然会报错。
在安装hadoop之前,我们需要先配置SSH免登陆,如果不配置的话,我们后边在启动hadoop时,都将需要输入密码,到时会很麻烦,这个网上有很多资料,也可以参考我的另外一篇博客:http://www.cnblogs.com/PurpleDream/p/4012328.html 。注意,我的基本与网上步骤一致,这个也是我当初参考网上的步骤,在执行的时候根据自己的情况稍加修改,就可以了。
安装hadoop首先是下载hadoop,由于我参考的《hadoop实战》这本书,所以为了更接近书中的内容,同时也考虑到高版本的hadoop涉及的东西会更多,不利于我这样的初学者学习,所以我选择hadoop-1.0.1这个版本。下边的网址中是完整的hadoop版本的下载列表,也可以根据自己的需要去下载:http://archive.apache.org/dist/hadoop/core/。
我下载的是hadoop-1.0.1.tar.gz,通过SSH工具上传到linux服务器的目录中(我的是:/myself_setted/hadoop),然后利用解压缩命令“tar -zxvf hadoop-1.0.1.tar.gz”解压到当前目录。
进入解压缩后的目录(我的是:/myself_setted/hadoop/hadoop-1.0.1),进入conf文件夹,进行配置:
1.首先打开hadoop-env.sh文件,修改配置文件如下:export JAVA_HOME=/usr/java/jdk1.6.0_35 注意,此处的jdk路径是之前在安装JDK时配置的路径,不要写错,如果配置有误,后边在启动hadoop时,会报找不到java的错误。
2.然后在打开core-site.xml文件,这里配置的是HDFS的地址及段口红,配置如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
3.再打开hdfs-site.xml文件,配置的备份方式默认是3,在我们这种伪分布式部署方式中,需要将其配置为1
<configuration>
<property>
<name>dfs.replication</name>
<value></value>
</property>
</configuration>
4.最后是MapReduce的配置文件,打开mapred-site.xml,配置JobTracker的地址和端口
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:</value>
</property>
</configuration>
通过上边的四步,我们已经完成了基本的配置工作,在启动hadoop前,我们还需要格式化hadoop,我们需要将目录切换到解压缩后的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1),依次执行以下命令:
1.bin/hadoop namenode -format
2.bin/hadoop datanode -format
3.bin/start-all.sh
通过上边的三步,我们可以认为我们的hadoop已经启动,但是我们还需要验证启动是否有问题,验证的方法比较多,我就说说我用的(以下的验证方法是并列的关系,不是先后继承关系):
1.打开浏览器,分别输入网址http://localhost:50030(MapReduce的web页面);http://localhost:50070(HDFS的web页面)。由于我的是云服务器,所以我自己的在查看的时候,localhost替换为服务器的公网IP
2.在linux环境下,输入JPS,查看关于hadoop的进程是否完整,完整事例如下(进程号不定哈):
TaskTracker
JobTracker
Jps
NameNode
SecondaryNameNode
DataNode
当然如果上边的验证基本没有问题,我相信你已经接近成功了,下边我们将具体执行一个“作业”,来验证我们的环境。我们运行的例子就是hadoop中的hello word程序,即WordCount,顾名思义就是计算单词的出现次数,步骤如下:
1.在以上的hadoop启动的情况下,我们首先在hadoop-1.0.1的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1),建立一个文件夹叫test,然后我们再test文件夹(/myself_setted/hadoop/hadoop-1.0.1/test)中简历一个a.txt的文件,内容如
下(注意,此步骤中建立的文件夹的位置以及文件夹中文件的名字和内容,你可以随意设定路径和内容,主要你在下边的2和3三步中上传文件到HDFS上时,一定要把路径写正确):
aa
bb
cc
ee
aa
ee
ff
2.在hdfs中建立一个输入文件夹: bin/hadoop fs -mkdir /input。注意我执行此命令时所在的目录是hadoop-1.0.1的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1)
3.将a.txt放入到2中hdfs的输入文件夹中:bin/hadoop fs -put test/a.txt /input。注意我执行此命令时所在的目录是hadoop-1.0.1的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1)
4.这时如果我们在执行bin/hadoop fs -ls /input这个命令时,如果之前的步骤正确的话,我们将看到列出了一个a.txt的文件。注意我执行此命令时所在的目录是hadoop-1.0.1的根目录((我的是:/myself_setted/hadoop/hadoop-1.0.1)
5.经过上边的4步,我们下边还有最后一个命令,那就是执行作业。我们看下hadoop-1.0.1的根目录(我的是:/myself_setted/hadoop/hadoop-1.0.1,有一个hadoop-examples-1.0.1.jar这个jar包,这里面打包了一些hadoop自带的例子,我们要运行的WordCount方法就是这个包中,执行命令如下:bin/hadoop jar hadoop-examples-1.0.1.jar wordcount /input /output,
6.根据提示,如果出现map 100% reduce 100%等字样,我们就可以通过bin/hadoop fs -ls /output命令查看/output文件夹中统计结果了。
Hadoop1 Centos伪分布式部署的更多相关文章
- 大数据技术之Hadoop3.1.2版本伪分布式部署
大数据技术之Hadoop3.1.2版本伪分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.主机环境准备 1>.操作系统环境 [root@node101.yinzh ...
- ActiveMQ5.14.1+Zookeeper3.4.9高可用伪分布式部署
本文借鉴http://www.cnblogs.com/gossip/p/5977489.html,在此基础上进行了完善,使之成为一个完整版的伪分布式部署说明,在此记录一下! 一.本文目的 ...
- hadoop3.1伪分布式部署
1.环境准备 系统版本:CentOS7.5 主机名:node01 hadoop3.1 的下载地址: http://mirror.bit.edu.cn/apache/hadoop/common/hado ...
- 1、Hadoop的伪分布式部署
伪分布式模式搭建: 1.环境准备 (1)主机名(root用户) # vi /etc/sysconfig/network HOSTNAME=hadoo1 (不要用下划线) (2)创建普通用户cong ...
- CentOS7 下 Hadoop 单节点(伪分布式)部署
Hadoop 下载 (2.9.2) https://hadoop.apache.org/releases.html 准备工作 关闭防火墙 (也可放行) # 停止防火墙 systemctl stop f ...
- Hadoop2 伪分布式部署
一.简单介绍 二.安装部署 三.执行hadoop样例并測试部署环境 四.注意的地方 一.简单介绍 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,Hadoop的框架最核心的设计就是: ...
- 【Hadoop 分布式部署 三:基于Hadoop 2.x 伪分布式部署进行修改配置文件】
1.规划好哪些服务运行在那个服务器上 需要配置的配置文件 2. 修改配置文件,设置服务运行机器节点 首先在 hadoop-senior 的这台主机上 进行 解压 hadoop2.5 按照 ...
- centos6.6安装hadoop-2.5.0(二、伪分布式部署)
操作系统:centos6.6(一台服务器) 环境:selinux disabled:iptables off:java 1.8.0_131 安装包:hadoop-2.5.0.tar.gz 伪分布式环境 ...
- Zookeeper 伪分布式部署
Zookeeper 可以通过配置不同的配置文件启动 部署环境:CentOS 6.7 Zookeeper 路径: /opt/htools/zookeeper-3.4.6 操作步骤: 1 复制三份zoo. ...
随机推荐
- JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css ...
- webpack+react+redux+es6开发模式
一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...
- ASP.NET Core中如影随形的”依赖注入”[上]: 从两个不同的ServiceProvider说起
我们一致在说 ASP.NET Core广泛地使用到了依赖注入,通过前面两个系列的介绍,相信读者朋友已经体会到了这一点.由于前面两章已经涵盖了依赖注入在管道构建过程中以及管道在处理请求过程的应用,但是内 ...
- 6. ModelDriven拦截器、Preparable 拦截器
1. 问题 Struts2 的 Action 我们将它定义为一个控制器,但是由于在 Action 中也可以来编写一些业务逻辑,也有人会在 Action 输入业务逻辑层. 但是在企业开发中,我们一般会将 ...
- [.NET] C# 知识回顾 - Event 事件
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...
- 使用NUnit为游戏项目编写高质量单元测试的思考
0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...
- 【从零开始学BPM,Day1】工作流管理平台架构学习
[课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第一天课程] Step 1 软件下载:H3 BPM10.0全开 ...
- 让你从零开始学会写爬虫的5个教程(Python)
写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个爬虫脚本是很简单的,但是对于新手来说却并不是那么容易. ...
- 项目管理_FindBugs的使用
本章将讲述如何在Myeclipse下,使用FindBugs,静态分析工具,无需开发人员费劲就能找出代码中已有的缺陷. 一:Myeclipse下如何安装FindBugs插件 1:FindBugs插件下载 ...
- linux启动SSH及开机自动启动
本文地址 分享提纲: 1.查看是否启动 2. 设置自动启动 1.[查看是否启动] 启动SSH服务 “/etc/init.d/sshd start”.然后用netstat -antulp | grep ...