简介:

Hadoop是处理大数据的主要工具,其核心部分是HDFS、MapReduce。为了学习的方便,我在虚拟机上搭建了一个伪分布式环境,来进行开发学习。

一、安装前准备:

1)linux服务器:Vmware 上CentOS6.4 mini安装

2) JDK:jdk-7u65-linux-x64.gz

3) SSH:ssh client

4) YUM源配置妥当:yum list查看

5)Hadoop:hadoop-2.5.2.tar.gz

下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz

二、环境配置

1)linux环境基本设置:

vi /etc/sysconfig/network
编辑HOSTNAME=Master
 
vi /etc/hosts
#添加
本机IP地址   Master
 
#关闭防火墙iptables,并设置为开机不启动
service iptables stop
chkconfig iptables off
 
2)JDK的安装配置
#将jdk解压到指定目录/opt/java
mkdir /opt/java
tar -zxvf jdk-7u65-linux-x64.gz -C /opt/java
 
#配置环境变量
vi /etc/profile
#在文件最后添加以下内容
export JAVA_HOME=/opt/java/jdk1.7.0_65
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#保存退出,立即生效该配置文件
source /etc/profile
#查看java是否配置好
java -version

重启系统,接下来是配置ssh无密码登陆。配置这个的理由是在启动hadoop可以不用输入密码。

3)配置SSH无密码登录

vi /etc/ssh/sshd_config
#以下4行的注释需要打开
HostKey /etc/ssh/ssh_host_rsa_key
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
 
#保存,并重启sshd
 
service sshd restart
 
#生成免登陆秘钥
ssh-keygen -t rsa
#一路回车就行。之后会在当前登陆用户主目录中的.ssh文件夹里生成2个文件。
#进入.ssh目录。
cat id_rsa.pub >> authorized_keys
 
#现在可以用ssh无密码登陆系统了。
ssh localhost
 
PS:如果提示出错,则是没有安装SSH客户端导致的
yum list|grep ssh
#找到ssh客户端
yum install -y ssh客户端名称
 
三、Hadoop安装与配置
1)上传
通过ftp将下载的hadoop安装包(hadoop-2.5.2.tar.gz)上传到/tmp目录下
2)解压
将hadoop安装包解压到指定目录下
mkdir /opt/hadoop
tar -zxvf hadoop-2.5.2.tar.gz -C /opt/hadoop
3)  配置环境变量
vi /etc/profile
#在文件最后添加以下内容

export HADOOP_HOME=/usr/hadoop-2.5.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib

#保存,并执行source /etc/profile

#cd $HADOOP_HOME,看能否进入hadoop的home目录
 
4)配置Hadoop
#Hadoop配置文件放在:$HADOOP_HOME/etc/hadoop
#Hadoop主要配置五个文件:hadoop_env.sh,core_site.sh,hdfs_site.xml,mapred-site.xml,yarn-site.xml
 
#创建hadoop的name与data目录
mkdir -p /usr/hdfs/name
mkdir -p /usr/hdfs/data
mkdir -p /usr/tmp
 
#hadoop_env.sh
vi hadoop_env.sh
#配置export JAVA_HOME的目录
 
#core_site.sh
vi core_site.sh
#在configuration节点里面加入以下配置,Master也为为本地ip地址
<property>
      <name>hadoop.tmp.dir</name>
      <value>/usr/tmp</value>
      <description>A base for other temporary directories.</description>
  </property>
<!--file system properties-->
  <property>
      <name>fs.defaultFS</name>
      <value>Master:9000</value>
  </property>
 
#hdfs_site.xml
vi hdfs_site.xml
#同样在configuration节点里面加入以下配置,配置分片数和namenode和datanode的目录
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/hdfs/data</value>
    </property>
 
#mapred-site.xml
#从模板复制一份mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
#同样在configuration节点里面加入以下配置,因为从0.23.0版本开始,就用新的mapreduce框架YARN来代替旧的框架了,所以,这里要配置成yarn
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
 
#yarn-site.xml
vi yarn-site.xml
#同样在configuration节点里面加入以下配置,注意使用Master或者本机的ip地址
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <description>The address of the applications manager interface in the RM.</description>
    <name>yarn.resourcemanager.address</name>
    <value>Master:18040</value>
  </property>
  <property>
    <description>The address of the scheduler interface.</description>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>Master:18030</value>
  </property>
  <property>
    <description>The address of the RM web application.</description>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>Master:18088</value>
  </property>
  <property>
    <description>The address of the resource tracker interface.</description>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>Master:8025</value>
  </property>
 至此,就将Hadoop的基本环境配置好了,现在可以开始我们的Hadoop之旅了!
 
四、Hadoop启动
1)HDFS格式化
#在启动Hadoop之前,我们需要先将HDFS的namenode格式化
输入命令:hadoop namenode -format
 
2)启动Hadoop,这几个sh文件在$HADOOP_HOME/sbin
启动命令:
start-dfs.sh
start-yarn.sh
 
停止命令:
stop-dfs.sh
stop-yarn.sh
 
3) 查看启动状况
#我们通过java自带的命令来查看
jps
#我们可以看到6个进程
9293 Jps
5762 ResourceManager
4652 NameNode
5850 NodeManager
4907 SecondaryNameNode
4733 DataNode
至此,我们就将Hadoop启动起来了!
我们可以通过浏览器来查看,打开浏览器输入  http://Master的IP:50070  与  http://Master的IP:8088  验证安装。
 
五、测试Hadoop

#通过运行hadoop自带的wordcount来验证安装是否正确。

#进入hadoop安装的目录,输入以下命令。

mkdir example
cd example
 
#编辑file1.txt与file2.txt
vi file1.txt
hellozhmsdd
hello hadoop
hello cz

vi file2.txt

hadoop is ok

hadoop is newbee
hadoop 2.5.2
#拷贝fiel1和file2到输入目录:data目录下
cd ..
hadoop fs -mkdir /data
hadoop fs -put -f example/file1.txt example/file2.txt /data
#进入HADOOP_HOME目录,运行wordcount例子
hadoop jar ./share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.5.2-sources.jar org.apache.hadoop.examples.WordCount /data /output
#查看运行结果
hadoop fs -cat /output/part-r-00000
#结果如下:
2.5.2   1
cz      1
hadoop  4
hello   3
is      2
newbee  1
ok      1
zhm     1
到这里,环境就已经配置好了,下面就是搞使用Maven开发Hadoop项目了。

CentOS5.4 搭建Hadoop2.5.2伪分布式环境的更多相关文章

  1. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  2. ubuntu14.04搭建Hadoop2.9.0伪分布式环境

    本文主要参考 给力星的博文——Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上 ...

  3. Hadoop2.5.0伪分布式环境搭建

    本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...

  4. 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境

    准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifc ...

  5. OS X Yosemite下安装Hadoop2.5.1伪分布式环境

    最近开始学习Hadoop,一直使用的是公司配好的环境.用了一段时间后发现对Hadoop还是一知半解,故决定动手在本机上安装一个供学习研究使用.正好自己用的是mac,所以没啥说的,直接安装. 总体流程 ...

  6. Ubuntu15.10下Hadoop2.6.0伪分布式环境安装配置及Hadoop Streaming的体验

    Ubuntu用的是Ubuntu15.10Beta2版本,正式的版本好像要到这个月的22号才发布.参考的资料主要是http://www.powerxing.com/install-hadoop-clus ...

  7. 搭建Hadoop2.6.4伪分布式

    准备工作 操作系统 CentOS 7 软件环境 JDK 1.7.0_79 下载地址 SSH,正常来说是系统自带的,若没有请自行搜索安装方法 关闭防火墙 systemctl stop firewalld ...

  8. Docker中搭建Hadoop-2.6单机伪分布式集群

    1 获取一个简单的Docker系统镜像,并建立一个容器. 1.1 这里我选择下载CentOS镜像 docker pull centos 1.2 通过docker tag命令将下载的CentOS镜像名称 ...

  9. hadoop2.4.1伪分布式环境搭建

    注意:所有的安装用普通哟用户安装,所以首先使普通用户可以以sudo执行一些命令: 0.虚拟机中前期的网络配置参考: http://www.cnblogs.com/qlqwjy/p/7783253.ht ...

随机推荐

  1. 20160712001 SQL server R2 更名

    use mastergoselect @@servername;select serverproperty('servername') sp_dropserver 'BPM-SERVER'gosp_a ...

  2. android 触摸事件分析

    背景知识: 触摸屏可以有多个触控点 android中管理触控点通过一个数组来管理,涉及到index和id两个变量, index表示在数组中的下标,id表示这个触控点(pointer)的id,point ...

  3. winform 移动窗体,和窗体阴影(引用)

    无边框窗体移动://窗体移动API [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [D ...

  4. 工作中积累整理-CSS样式表(一)

    [layout] clear:该属性的值指出了不允许有浮动对象的边. 默认值:none none: 允许两边都可以有浮动对象 both: 不允许有浮动对象 left: 不允许左边有浮动对象 right ...

  5. BOM里的window命令; cookie的用法

    js得到屏幕宽度高度,页面宽度高度 window.screen.availWidth 返回当前屏幕宽度(空白空间) window.screen.availHeight 返回当前屏幕高度(空白空间) w ...

  6. LMAX Disruptor—多生产者多消费者中,消息复制分发的高性能实现

    解决的问题 当我们有多个消息的生产者线程,一个消费者线程时,他们之间如何进行高并发.线程安全的协调? 很简单,用一个队列. 当我们有多个消息的生产者线程,多个消费者线程,并且每一条消息需要被所有的消费 ...

  7. Android导航栏菜单强制转换

    private void getOverflowMenu() { ViewConfiguration viewConfig = ViewConfiguration.get(this); try { F ...

  8. .net连接DB2的异常SQL0666 - SQL query exceeds specified time limit or storage limit.错误处理

    SQL0666 - SQL query exceeds specified time limit or storage limit. 原因:查询超时 解决办法: set the DbCommand.C ...

  9. K-means算法

    K-means算法很简单,它属于无监督学习算法中的聚类算法中的一种方法吧,利用欧式距离进行聚合啦. 解决的问题如图所示哈:有一堆没有标签的训练样本,并且它们可以潜在地分为K类,我们怎么把它们划分呢?  ...

  10. PacBio三代全长转录组/Iso-Seq技术及案例分析

    参考:产品手册 PacBio三代全长转录组有什么优势? 近年来,随着高通量测序技术的发展,转录组测序已经成为研究基因表达调控的主要手段.但二代的转录本重构准确率很低,三代可以直接得到全长转录本,无需组 ...