Hadoop有三种分布模式:单机模式、伪分布、全分布模式,相比于其他两种,伪分布是最适合初学者开发学习使用的,可以了解Hadoop的运行原理,是最好的选择。接下来,就开始部署环境。

首先要安装好Linux环境,可以是真机,也可以是虚拟机,我的环境是VMWare下安装的CentOS 6.3的虚拟机,如果你还没有安装好Linux环境,可以参考我的另一篇文章:window7环境下VMWare自定义安装Linux虚拟机完全教程,希望可以帮到你。

等你安装好了Linux环境,我们就可以真正开始部署hadoop了。

需要准备好Linux版本的jdk和hadoop的压缩包,可以分别去官网下载,我也提供我的资源给大家参考:链接:http://pan.baidu.com/s/1mhKixFq 密码:6lqt;

1.添加用户和组,并上传文件

  • 用管理员root登录Linux,创建hadoop用户组:groupadd hadoop,
  • 创建用户:useradd hadoop -g hadoop ,
  • 使用传输软件将到Linux系统的任意目录下,如/root/sethadoop;
  • 使用命令:su hadoop切换用户,查看是否创建成功,出现[root@localhost ~]表示创建成功;
  • 然后exit退出到root用户。
  • (注:在学习安装Hadoop之前,最好学习和熟悉一下Linux的常用命令)。

2.Host的配置

vim /etc/hosts 进入配置文件,添加linux主机的ip地址和主机名;需要查看你自己的主机名,ifconfig;





vim /etc/sysconfig/network,设置主机名,以后所有的主机名都必须统一;

source /etc/sysconfig/network ,重新加载配置文件后生效;

logout 登出后重新登录,发现主机名变为[root@master ~]#

3.SSH和无密码登录

安装SSH客户端:yum -y install openssh-client;
输入ssh localhost ,出现提示信息,输入yes


切换到hadoop用户,su hadoop;
生成无密码的‘公私钥’:
ssh-keygen -t dsa -P '' -f ~/ssh/id_dsa
cat ~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

修改权限:chmod 600 ~/.ssh/authorized_keys,chmod 700 .ssh/

测试一下,ssh master,-》yes,然后退出hadoop登录,exit

4.JDK的安装

进入到jdk安装包存放的目录下,我的是/root/set,

创建安装Java的目录,mkdir /usr/java

解压到/usr/java:tar -zxvf jdk-7u9-linux-i586.tar.gz -C /usr/java

为Java安装目录建一个软连接,方便使用:ln -s jdk1.7.0_09/ jdk

(以上操作都视你的jdk版本和存储位置而定,切忌照搬)

修改环境变量,vim /etc/profile ,在文件末尾添加如下信息,也可再添加

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;

有过window中jdk安装经验的童鞋会比较熟悉的。

退出保存文件,重新加载配置文件,source /etc/profile.

验证Java是否安装成功:java -version,这个有Java开发经验的都知道吧。。。

5.hadoop的安装

使用root用户登录,进入你的hadoop压缩包的目录,

解压:tar -zxvf hadoop-1.0.4.tar.gz -C /opt/,解压目录/usr/也行,根据自己选择;

进入/opt目录下,更改一下文件夹的名字,方便使用,mv hadoop-1.0.4/ hadoop/;

修改用户组和权限:chown -R hadoop:hadoop hadoop/

登录hadoop用户,su hadoop;

配置 vim conf/hadoop-env.sh,在末尾添加:

第二个变量可以不是256M,根据你的内存大小而定,也可以是512M或更大;

配置 vim conf/core-site.xml 在<configuration>中添加:

配置vim conf/hdfs-site.xml,如下,由于是伪分布式,所以replication配1就行

配置 conf/mapred-site.xml:主机名要一致;

配置辅助接点名称,conf/masters,就添加一个master就行

配置子节点,conf/slave 也是添加一个master就行

经过以上步骤,hadoop的配置文件就全部配置好了,不要忘记:wq退出保存哦。

格式化分布式文件系统:进入hadoop的bin目录,

执行 ./hadoop namenode -format,完成后是这样的:

启动hadoop集群:./start-all.sh,

检查hadoop结点是否全部启动成功:共6个结点,一个都不能少,

如果哪个结点没有出现,说明其出错了,请进入logs目录下的日志文件查看相应的日志文件,并修改,

具体方法请查看其它网络资源;

查看hadoop集群的状态信息:

在浏览器地址栏输入:http://192.168.64.128:50070/ (ip是你自己服务器的ip)

出现上图信息,说明你的hadoop伪分布模式就配置成功了!

(注:如果运行jps没有问题,而上面的页面加载不出来的话,请试着关闭防火墙:service iptables stop)

Linux环境搭建Hadoop伪分布模式的更多相关文章

  1. 【Hadoop环境搭建】Centos6.8搭建hadoop伪分布模式

    阅读目录 ~/.ssh/authorized_keys 把公钥加到用于认证的公钥文件中,authorized_keys是用于认证的公钥文件 方式2: (未测试,应该可用) 基于空口令创建新的SSH密钥 ...

  2. Ubuntu下hadoop环境的搭建(伪分布模式)

    Ubuntu下hadoop环境的搭建(伪分布模式) 一.必要资源的下载 1.Java jdk(jdk-8u25-linux-x64.tar.gz)的下载 具体链接为: http://www.oracl ...

  3. Linux环境下Hadoop集群搭建

    Linux环境下Hadoop集群搭建 前言: 最近来到了武汉大学,在这里开始了我的研究生生涯.昨天通过学长们的耐心培训,了解了Hadoop,Hdfs,Hive,Hbase,MangoDB等等相关的知识 ...

  4. Linux 下搭建 Hadoop 环境

    Linux 下搭建 Hadoop 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Hadoop 环境 CSDN:Linux 下搭建 Hadoop 环境 环境要求 操作系统:CentOS ...

  5. 【原】Hadoop伪分布模式的安装

    Hadoop伪分布模式的安装 [环境参数] (1)Host OS:Win7 64bit (2)IDE:Eclipse Version: Luna Service Release 2 (4.4.2) ( ...

  6. Hadoop伪分布模式操作

    http://blog.csdn.net/wangloveall/article/details/20195813 摘要:本文介绍Hadoop伪分布模式操作,适合于Hadoop学习.开发和调试. 关键 ...

  7. hadoop伪分布模式安装

    软件环境 操作系统 :  OracleLinux-R6-U6 主机名: hadoop java: jdk1.7.0_75 hadoop: hadoop-2.4.1 环境搭建 1.软件安装 由于所需的软 ...

  8. hadoop伪分布模式的配置和一些常用命令

    大数据的发展历史 3V:volume.velocity.variety(结构化和非结构化数据).value(价值密度低) 大数据带来的技术挑战 存储容量不断增加 获取有价值的信息的难度:搜索.广告.推 ...

  9. Hadoop 伪分布模式安装

    ( 温馨提示:图片中有id有姓名,不要盗用哦,可参考流程,有问题评论区留言哦 ) 一.任务目标 1.了解Hadoop的3种运行模式 2.熟练掌握Hadoop伪分布模式安装流程 3.培养独立完成Hado ...

随机推荐

  1. 运行jar包

    windos下,打开dos命令cmd然后cd 你的路径(比如E:/新建文件夹) linux下,打开终端cd 到你的路径( 然后输入java -jar 要运行的jar.jar

  2. html+js+ashx+easyui+ado.net权限管理系统

    分享一个html+js+ashx+easyui+ado.net权限管理系统   EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也 ...

  3. iOS基础 - 触摸事件与手势识别

    一.iOS的输入事件 UIKit可识别三种类型的输入事件: 触摸事件 运动(加速计)事件 远程控制事件 二.UIEvent iOS中许多事件对象都是UIEvent类的实例,记录事件产生的时刻和类型 U ...

  4. Android JNI(NDK)开发总结

    早就知道Java有个jni可以调用本地化代码,一直没有动力去研究它,现在公司想通过在Android中调用本地化代码来申请较多的内存以突破Android对单个进程的内存限制,这确实是可行的:我的Nexu ...

  5. [google面试CTCI] 1-6.图像旋转问题

    [字符串与数组] Q:Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, wr ...

  6. Linux环境进程间通信(二): 信号(上)

    linux下进程间通信的几种主要手段: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允 ...

  7. C++之Effective STL

    今天看了下websocket的知识,了解到这是html5新增的特性,主要用于实时web的通信.之前客户端获取服务端的数据,是通过客户端发出请求,服务端进行响应的模式,或者通过ajax每隔一段时间从后台 ...

  8. Service Manager 2012

    部署Service Manager 2012遇到的2个问题 上周装了个Service Manager 2012学习,以便完善System Center整个解决方案,在部署期间遇到2个问题,花了我不少时 ...

  9. angular实战

    目录 [mvvm] controller scope module router directive 项目实战

  10. iOS手动管理内存

    虽然iOS已经有了ARC帮你自动管理内存,但在有些项目中必须采用手动的方式,而且在懂得手动管理内存的情况下会是自己的代码更加完善 众所周知,基于手动管理内存的情况下必然涉及到 relese  reta ...