环境:ubuntu 14.04 server 64版本

hadoop 2.5.1

jdk 1.6

部署的步骤主要参考了http://blog.csdn.net/greensurfer/article/details/39450369这篇文章。

1 安装java,配置好环境变量 JAVA_HOME CLASSPATH

具体步骤参考网上linux安装jdk

2 配置信任关系

ssh-keygen

一直回车就好了

然后将~/.ssh/id_rsa.pub文件拷贝到需要无密码登录的机器用户下

是在不会,再网上找吧

3 解压了下载的hadoop包后,修改里面的配置文件

tar -zxvf hadoop-2.5..tar.gz
cd hadoop-2.5.

修改${HADOOP_HOME}/etc/hadoop/core-site.xml

在<configuration></configuration>之间填写配置

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/files/hadoop/temp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>

hadoop.tmp.dir这个是一个hadoop运行时的临时文件的目录,上面写的/opt/files/hadoop/temp这个目录需要用户自己先创建

同样,修改hdfs-site.xml配置文件

<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/files/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/files/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>

dfs.namenode.name.dir 和 dfs.datanode.data.dir两个的目录,都需要用户自己首先创建好

注意,这里 dfs.replication 为1 ,数据备份数为1 ,这是由于我是只有单台机器来部署伪集群,但是一般的集群环境,都是建议用户配置为3,让数据有3副本

同样的,secondnamenode也是和namenode部署时同一台机器,这个都是在实际的部署上不可取的,希望读者了解这个。

dfs.permissions.enabled设置为false,代表关闭HDFS的权限校验,允许任何人对HDFS上的文件进行增山查改。

配置yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop:8088</value>
</property>
</configuration>

这里的配置,完全是参考其他博主的

配置mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>hadoop:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop:19888</value>
</property>
</configuration>

修改hadoop-env.sh 和 yarn-env.sh 文件,找到JAVA_HOME字段,修改为用户自己的路径

hadoop-env.sh

export JAVA_HOME=/opt/jdk1..0_45

yarn-env.sh

export JAVA_HOME=/opt/jdk1..0_45

配置slaves节点,这里只写本机的hostname

hadoop

4 格式化namenode

bin/hdfs namenode -format 

输出:

/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at nameNode/127.0.0.1
************************************************************/

这个就是成功了

5 启动节点

sbin/start-all.sh

起来之后,jps一下,看看是否都起来了,正常的节点

 DataNode
ResourceManager
NodeManager
NameNode
Jps

6 跑一下wordcount程序

简单的写个临时文件,上存到hdfs上,临时文件test.txt

chen fool
chen good

在hdfs上新建一个目录

bin/hadoop fs -mkdir -p /test/in

上存文件

bin/hadoop fs -put test.txt /teset/in/

执行测试程序

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5..jar wordcount /test/in /test/out

检查运行结果

bin/hadoop fs -ls /test/out
bin/hadoop fs -cat /test/out/part-r-

chen 2

fool 1

good 1

结果正确,证明部署成功了

7 web查看运行状况

浏览器访问:http://hadoop:50070 查看各个节点的运行状态

浏览器访问:http://hadoop:8088/ 查看各个job的运行情况,并且可以查看job的输出与错误信息

注:

hadoop 都是指 hostname 的意思,请大家根据自己的真实情况进行修改

参考博客:http://blog.csdn.net/greensurfer/article/details/39450369

http://blog.csdn.net/licongcong_0224/article/details/12972889

hadoop 2.4 介绍博客:http://blog.csdn.net/skywalker_only/article/details/38849989

hadoop 2.5.1单机安装部署伪集群的更多相关文章

  1. 单机zookeeper部署伪集群

    1.zookeeper介绍 ZooKeeper 是一个为分布式应用所设计的分布的.开源的协调服务.分布式的应用可以建立在同步.配置管理.分组和命名等服务的更高级别的实现的基础之上. ZooKeeper ...

  2. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...

  3. kubernetes系列03—kubeadm安装部署K8S集群

    本文收录在容器技术学习系列文章总目录 1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm ...

  4. supervisor的安装部署及集群管理

    supervisor的安装部署及集群管理 supervisor官网:http://www.supervisord.org/ 参考链接: http://blog.csdn.net/xyang81/art ...

  5. 安装部署 Kubernetes 集群

    安装部署 Kubernetes 集群 阅读目录: 准备工作 部署 Master 管理节点 部署 Minion 工作节点 部署 Hello World 应用 安装 Dashboard 插件 安装 Hea ...

  6. 【大数据之数据仓库】安装部署GreenPlum集群

    本篇将向大家介绍如何快捷的安装部署GreenPlum测试集群,大家可以跟着我一块儿实践一把^_^ 1.主机资源 申请2台网易云主机,操作系统必须是RedHat或者CentOS,配置尽量高一点.如果是s ...

  7. Docker安装部署es集群

    Docker安装部署es集群:环境准备:已安装docker的centos服务器一台1. 拉取es版本docker pull elasticsearch:5.6.82. 新建文件夹 数据挂载目录 和 配 ...

  8. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...

  9. 4. 利用MySQL Shell安装部署MGR集群 | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装准备 2. 利用MySQL Shell构建MGR集群 3. MySQL Shell接管现存的MGR集群 4 ...

随机推荐

  1. gdb coredump的使用

    1 出现core dump时最好的办法是使用gdb查看coredump文件 2 使用的条件 出现问题的代码,系统,所有涉及的代码都应该一起编译,然后得到符号表,这样加载符号表,使用coredump文件 ...

  2. ChannelHandler揭秘(Netty源码死磕5)

    精进篇:netty源码死磕5  揭开 ChannelHandler 的神秘面纱 目录 1. 前言 2. Handler在经典Reactor中的角色 3. Handler在Netty中的坐标位置 4. ...

  3. Process 'command 'D:\AndroidSDK\ndk-bundle\ndk-build.cmd'' finished with non-zero exit value 2

    解决方法: 在jni文件下建一个空的empty.c文件 编译运行即可. 如果还运行不了,在当前model的build.gradle下添加. android{ ………… sourceSets.main ...

  4. [noip2014day1-T3]飞扬的小鸟

    Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告失败. ...

  5. Java内存模型(JMM)中的happens-before

    happens-before是JMM中最核心的概念,对于Java程序员来说,理解happens-before是理解JMM的关键 . 1.JMM的设计 首先,来看看JMM的设计意图.从JMM的设计者的角 ...

  6. BZOJ 1623 [Usaco2008 Open]Cow Cars 奶牛飞车:贪心

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1623 题意: 编号为1到N的N只奶牛正各自驾着车打算在牛德比亚的高速公路上飞驰.高速公路有 ...

  7. 图片预览JavaScript方法

    实现要点   ● 对于 Chrome.Firefox.IE10 使用 FileReader 来实现. ● 对于 IE6~9 使用滤镜 filter:progid:DXImageTransform.Mi ...

  8. AC自动机-题目集合

    AC自动机-题目集合 模板 如果你想要学习AC自动机,推荐一些学习资料. 学习可以看这篇博客 http://blog.csdn.net/niushuai666/article/details/7002 ...

  9. 通过kettle数据导入mysql时,空值的处理在插入mysql时,会自动转转换为null值,无法插入

    1.windows下C:\Users\用户名\.kettle目录中找到kettle.properties文件,增加KETTLE_EMPTY_STRING_DIFFERS_FROM_NULL=Y2.Li ...

  10. 动态链接库的ELF头分析

    ELF(Executable and Linking Format)用于存储Linux程序. ELF文件分三种类型: 1.目标文件(通常是.o); 2.可执行文件(我们的运行文件)   3.动态库(. ...