环境: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. ajax json html 结合

    <table id="datas" border="1" cellspacing="0" style="border-col ...

  2. 1022. Fib数列

    https://acm.sjtu.edu.cn/OnlineJudge/problem/1022 Description 定义Fib数列:1,1,2,3,5,8,13,…1,1,2,3,5,8,13, ...

  3. 随机数生成程序代码( 伪随机<stdlib.h> )

    #include <stdio.h> #include <string> #include <stdlib.h> #include <algorithm> ...

  4. Bestcoder round 18---A题(素数筛+素数打表+找三个素数其和==n)

    Primes Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  5. CAS无锁机制原理

    原子类 java.util.concurrent.atomic包:原子类的小工具包,支持在单个变量上解除锁的线程安全编程 原子变量类相当于一种泛化的 volatile 变量,能够支持原子的和有条件的读 ...

  6. Java8初体验(2):Stream语法详解

    原文出处: 一冰_天锦 上篇文章Java8初体验(1):lambda表达式语法比较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例子中有很多Stream的例子.这些Stream的 ...

  7. python生成图片

    # -*- coding:utf-8 -*- from pylab import * figure(1,figsize=(6,6)) ax = axes([0.1,0.1,0.8,0.8]) frac ...

  8. codeforces 701B B. Cells Not Under Attack(水题)

    题目链接: B. Cells Not Under Attack 题意: n*n的棋盘,现在放m个棋子,放一个棋子这一行和这一列就不会under attack了,每次放棋子回答有多少点还可能under ...

  9. CISCO-路由器交换机密码恢复

    路由器密码恢复: 准备工作:一台PC跟一台路由器用console线相连 工作原理:如果忘记密码被锁在路由器外,通过修复寄存器值来进行修复 默认的寄存器值为0x2102(关闭的),若要恢复口令需要开启这 ...

  10. C语言中文件操作

    用两个指针变量来操作字符串. 多维数组在做函数参数的时候,会退化成为一个指针变量,变成一个指向一维数组的数组指针,注意,是一个指针变量. 一维数组在当作函数参数传递的时候,会退化成为一个对应类型的指针 ...