本教程使用Vultr的VPS搭建,主要实现HDFS和MapReduce两个功能。

master.hadoop - 45.32.90.100
slave1.hadoop - 45.32.92.47
slave2.hadoop - 45.32.89.205

一、准备

使用SSH登录到三台VPS

修改主机名,修改以下两个文件

/etc/hosts
/etc/sysconfig/network

并在/etc/hosts末尾,增加主机名:

45.32.90.100 master.hadoop
45.32.92.47 slave1.hadoop
45.32.89.205 slave2.hadoop

停用iptables防火墙

service iptables stop

二、配置SSH

配置SSH公私钥(无密码)登录

目标:master可以访问所有slave,每个slave可以访问master,每个机器可以访问自己

实现:可以使用ssh-keygen,生成公私钥,并将公钥id_rsa.pub追加到目标机器的./ssh/authorized_keys中

在master中分别访问自己和所有slave,并输入“yes”初始化公钥

ssh master.hadoop
ssh slave1.hadoop
ssh slave2.hadoop

在slave1中,访问自己和master,并输入“yes”

ssh master.hadoop
ssh slave1.hadoop

在slave2中,访问自己和master,并输入“yes”

ssh master.hadoop
ssh slave2.hadoop

三、安装Java JDK

1、下载java JDK

2、解压到/usr/lib/jdk

3、配置/etc/profile环境变量

export JAVA_HOME=/usr/lib/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

4、使环境变量生效

source /etc/profile

5、检查Java是否安装成功

java -version

如果正确显示版本号,即配置成功

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) -Bit Server VM (build 25.66-b17, mixed mode)

四、安装Hadoop

1、下载Hadoop 1.2.1

wget https://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz

2、解压到/usr/local/hadoop

3、创建文件系统目录/usr/local/hadoop/tmp

mkdir /usr/local/hadoop/tmp

4、配置环境变量/etc/profile

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

并使环境变量生效

source /etc/profile

5、检查Hadoop是否安装成功

hadoop version

五、配置Hadoop

进入/usr/local/hadoop/conf目录

1、修改masters文件

master.hadoop

2、修改slaves文件

slave1.hadoop
slave2.hadoop

3、配置hadoop-env.sh

加入Java JDK路径

export JAVA_HOME=/usr/lib/jdk

4、配置core-site.xml

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>temp dir</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master.hadoop:9000</value>
</property>
</configuration>

5、配置hdfs-site.xml

(因为只有2个slave,所以replication的值为1,多个机器可以增加)

<configuration>
<property>
<name>dfs.replication</name>
<value></value>
</property>
</configuration>

6、配置mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://master.hadoop:9001</value>
</property>
</configuration>

六、启动Hadoop

1、格式化文件分区(仅需一次)

进入/usr/local/hadoop/bin目录,运行

/usr/local/hadoop/bin/hadoop namenode -format

格式化成功后在/usr/local/hadoop/tmp目录下会有dfs和mapred两个子目录

2、启动hadoop

/usr/local/hadoop/bin/start-all.sh

3、停止hadoop

/usr/local/hadoop/bin/stop-all.sh

4、查看hadoop运行状态

master上输入:jps

 Jps
NameNode
JobTracker
SecondaryNameNode

slave上输入:jps

 Jps
DataNode
TaskTracker

七、任务查看

1、HDFS任务查看

在浏览器中输入

master ip:

点击Live Nodes,可以看到

尝试建立一个500MB的文件,并传入HDFS文件系统

dd if=/dev/zero of=/root/test bs=1k count=
hadoop dfs -put ~/test test

常用的文件操作有:

hadoop fs
[-ls <path>]
[-lsr <path>]
[-du <path>]
[-dus <path>]
[-count[-q] <path>]
[-mv <src> <dst>]
[-cp <src> <dst>]
[-rm [-skipTrash] <path>]
[-rmr [-skipTrash] <path>]
[-expunge]
[-put <localsrc> ... <dst>]
[-copyFromLocal <localsrc> ... <dst>]
[-moveFromLocal <localsrc> ... <dst>]
[-get [-ignoreCrc] [-crc] <src> <localdst>]
[-getmerge <src> <localdst> [addnl]]
[-cat <src>]
[-text <src>]
[-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>]
[-moveToLocal [-crc] <src> <localdst>]
[-mkdir <path>]
[-setrep [-R] [-w] <rep> <path/file>]
[-touchz <path>]
[-test -[ezd] <path>]
[-stat [format] <path>]
[-tail [-f] <file>]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-chgrp [-R] GROUP PATH...]
[-help [cmd]]

2、Map/Reduce任务查看

master ip:

CentOS 6.7平台Hadoop 1.2.1环境搭建的更多相关文章

  1. 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建

    大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...

  2. 【Hadoop基础教程】4、Hadoop之完全分布式环境搭建

    上一篇blog我们完成了Hadoop伪分布式环境的搭建,伪分布式模式也叫单节点集群模式, NameNode.SecondaryNameNode.DataNode.JobTracker.TaskTrac ...

  3. Linux巩固记录(3) hadoop 2.7.4 环境搭建

    由于要近期使用hadoop等进行相关任务执行,操作linux时候就多了 以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上 ...

  4. Hadoop源码阅读环境搭建(IDEA)

    拿到一份Hadoop源码之后,经常关注的两件事情就是 1.怎么阅读?涉及IDEA和Eclipse工程搭建.IDEA搭建,选择源码,逐步导入即可:Eclipse可以选择后台生成工程,也可以选择IDE导入 ...

  5. Hadoop+HBase+Spark+Hive环境搭建

    杨赟快跑 简书作者 2018-09-24 10:24 打开App 摘要:大数据门槛较高,仅仅环境的搭建可能就要耗费我们大量的精力,本文总结了作者是如何搭建大数据环境的(单机版和集群版),希望能帮助学弟 ...

  6. 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记

    近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...

  7. Hadoop学习之基础环境搭建

    期望目的 基于VMware workstation 10.0 + CentOS 7 + hadoop 3.2.0,在虚拟机上搭建一套Hadoop集群环境,总共包含4个节点,其中1个master节点.3 ...

  8. Windows10系统下Hadoop和Hive开发环境搭建填坑指南

    前提 笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了 ...

  9. Hadoop+Spark:集群环境搭建

    环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...

随机推荐

  1. 使用SparseArray代替HashMap

    HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果.最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performanc ...

  2. DLL导出与调用约定

    一般来说,从DLL导出函数有两种方法.一种是使用.def文件:另一种是使用__declspec(dllexport). 使用上面两种方法各有优缺点.使用.def文件就是需要额外维护,当导出函数更改名字 ...

  3. 【HDOJ】1963 Investment

    完全背包. #include <stdio.h> #include <string.h> #define max(a, b) (a>b) ? a:b ], an[]; ] ...

  4. Redundant Call to Object.ToString()

    Redundant Call to Object.ToString() The + operator for string is overloaded to call String.Concat pa ...

  5. 【转】调整mac电脑鼠标移动速度

    原文网址:https://www.zhihu.com/question/19579075 作者:陆猛链接:https://www.zhihu.com/question/19579075/answer/ ...

  6. Jquery UI dialog 详解 (中文)

    转载▼ 1 属性 1.11 autoOpen ,这个属性为true的时候dialog被调用的时候自动打开dialog窗口.当属性为false的时候,一开始隐藏窗口,知道.dialog("op ...

  7. RobotFramework+Selenium2library+Appium+Python+RIDE安装指南

    最近在测试APP+WEB,想找一个好的自动化测试工具.然后发现RIDE这工具,框架比较自由,支持中文,有测试报告. 一个好的自动化测试就应该包含:Case管理+脚本的编写+自动生产报告. 如此一想,这 ...

  8. MonkeyRunner执行Python脚本实例——发送短信增强版

    很久之前就写好的了,准备写个自动执行Monkey的脚本时才想到去找它,还是写在博客里找起来方便. 这次更新了批处理自动连接设备后执行Py脚本,结构如下图: 其中shotscreen为存放截图文件夹,s ...

  9. Git push 时每次都需要密码的疑惑

    2015.1.13更新: 在本地搭建Git服务器时,也是有每次操作需要密码的情况. 是因为每次做推送动作时,Git需要认证你是好人.所以需要密码. 可以在 /home/username/.ssh/au ...

  10. SQL语句 DML,DDL,DCL(转载)

    数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT.DENY.REVOKE等语句,在默认状态下,只有 sysadmin.dbcreator.db_owner或d ...