1.前话

寒假实在太闲了,所以闲着无聊地去了解“大数据”这个新概念,这几年到处都在说什么大数据时代的,不能不让我感到好奇啊。

大数据有啥用?随便谷歌百度一大堆我也不多说了。

我自己的理解是,单个数据价值微乎其微,但当数据量极大时,那么就可以通过截取统计海量数据来进行分析,以此得出十分有价值的结果。

例如:

谷歌公司的搜索数据库,这数据库数据量是极大的,数据种类也是极大的,它存储着世界各地用户使用谷歌时键入的搜索关键词。

所以当我们对其进行大数据挖掘,对搜索关键词中含有“药”的关键字进行统计分析,就可以间接得出各个国家国民健康水平,病种分布,某病种发病的区域比重等,通过大数据挖掘,提取有用的信息,然后得出了十分有价值的信息。

因为这种数据库数据量极大,且多为分布式存储,直接遍历分析困难,且十分耗时。

所以出现了解决大数据如何挖掘的问题的技术——Hadoop


2.Hadoop是什么

我直接度娘一段吧:

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

总之,Hadoop是由Java编写的一套框架,它解决大数据挖掘的问题,而我们只需编写相应的MapReduce程序即可。

好啦,其他的也不介绍了(其实其他的我也不懂),先吧Hadoop整个运行框架搭建起来吧。

提示:你需要一定的linux基础 :)


3.框架搭建(Linux环境,Hadoop2.6.4)

官方文档入口 http://hadoop.apache.org/docs/r2.6.4/

Hadoop有三种运行模式

  • 本机模式(一台主机)
  • 伪分布模式(一台主机)
  • 完全分布模式(多台主机,即集群)

本机模式直接解压,修改${HADOOP_PREFIX}/etc/hadoop/hadoop-env.sh,添加export JAVA_HOME=/usr/java/latest即可。

伪分布模式也直接跟着官方文档一步步配置即可。

伪分布模式是单机配置,将该单机作为master配置后的Hadoop程序文件夹分发给其他作为slaver的主机,增加配置内容即可实现完全分布模式配置。


3.0 准备

因为只有一台笔记本,要模拟完全分布模式就得使用虚拟机了。

我使用的是Oracle VirtualBox,这是一款免费的软件。

本配置实例需要的镜像相应配置如下:

hostname ip地址 系统
master 192.168.1.113 CentOS7
slaver01 192.168.1.114 CentOS7
slaver02 192.168.1.115 CentOS7

如前面所说,分发伪分布模式配置文件并增加相应配置内容即可实现完全分布模式配置。

因此我只需配置作为master的主机,然后拷贝多两份系统镜像修改其hostname和ip地址即可。

一台主机别名master作为完全分布集群的NameNode主机,其他别名slaver*作为DataNode主机。

修改文件/etc/hostname

master

修改文件/etc/hosts

192.168.1.113   master
192.168.1.114 slaver01
192.168.1.115 slaver02

3.1 安装Java配置环境(略)


3.2 本机SSH免密码登陆(略)


3.3 下载解压并配置Hadoop路径

  1. 下载Hadoop程序压缩包

  2. 解压至指定目录,例如/usr/local/hadoop2.6.4

  3. 配置/etc/profile ,添加Hadoop目录路径 export HADOOP_PREFIX=/usr/local/hadoop,并添加至PATH中 export PATH=$PATH:$HADOOP_PREFIX


3.4 Hadoop完全分布模式配置

3.4.1 修改${HADOOP_PREFIX}/etc/hadoop/hadoop-env.sh

添加内容 export JAVA_HOME=/usr/java/latest

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

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-2.6.4/tmp</value>
</property> </configuration>

3.4.3 修改${HADOOP_PREFIX}/etc/hadoop/hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop-2.6.4/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop-2.6.4/data/datanode</value>
</property>
</configuration>

3.4.4 修改${HADOOP_PREFIX}/etc/hadoop/mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>

3.4.5 修改${HADOOP_PREFIX}/etc/hadoop/yarn-site.xml


<?xml version="1.0"?> <configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<description>The hostname of the ResourceManager.</description>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
</configuration>

3.4.5 修改${HADOOP_PREFIX}/etc/hadoop/slaves

该slaves文件需填写DataNode的IP地址,前面已配置/etc/hosts 因此填写hostname即可

slaver01
slaver02

3.5 拷贝多两份master系统镜像

修改拷贝出的系统hostname分别为 slaver01 和 slaver02


3.6 启动

3.6.1 首先格式化NameNode

执行命令 hdfs namenode -format

3.6.2 启动所有服务

进入目录${HADOOP_PREFIX}/sbin

执行命令 ./start-all.sh

特别注意,防火墙允许相应端口或者关闭防火墙

浏览器键入 http://192.168.1.113:50070/ 可查看Hadoop运行信息,若NameNode启动成功和DataNode也存在列表中说明配置成功。

Hadoop完全分布式集群配置的更多相关文章

  1. Hadoop(三)手把手教你搭建Hadoop全分布式集群

    前言 上一篇介绍了伪分布式集群的搭建,其实在我们的生产环境中我们肯定不是使用只有一台服务器的伪分布式集群当中的.接下来我将给大家分享一下全分布式集群的搭建! 其实搭建最基本的全分布式集群和伪分布式集群 ...

  2. Hadoop(三)搭建Hadoop全分布式集群

    原文地址:http://www.cnblogs.com/zhangyinhua/p/7652686.html 阅读目录(Content) 一.搭建Hadoop全分布式集群前提 1.1.网络 1.2.安 ...

  3. CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  4. Hadoop伪分布式集群环境搭建

    本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...

  5. 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现

    『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现 1.基本设定和软件版本 主机名 ip 对应角色 mas ...

  6. Hadoop(HA)分布式集群部署

    Hadoop(HA)分布式集群部署和单节点namenode部署其实一样,只是配置文件的不同罢了. 这篇就讲解hadoop双namenode的部署,实现高可用. 系统环境: OS: CentOS 6.8 ...

  7. Hadoop学习---CentOS中hadoop伪分布式集群安装

    注意:此次搭建是在ssh无密码配置.jdk环境已经配置好的情况下进行的 可以参考: Hadoop完全分布式安装教程 CentOS环境下搭建hadoop伪分布式集群 1.更改主机名 执行命令:vi  / ...

  8. Hadoop完全分布式集群环境搭建

    1. 在Apache官网下载Hadoop 下载地址:http://hadoop.apache.org/releases.html 选择对应版本的二进制文件进行下载 2.解压配置 以hadoop-2.6 ...

  9. hadoop完全分布式集群的搭建

    集群配置: jdk1.8.0_161 hadoop-2.6.1 linux系统环境:Centos6.5 创建普通用户  dummy 准备三台虚拟机master,slave01,slave02 hado ...

随机推荐

  1. linux查看文件权限

    ls -l abc (abc是文件名) 那么就会出现相类似的信息,主要都是这些:drwxr-xr-x 一共有10位数 其中: 最前面那个 d 代表的是类型 目录文件 中间那三个 rw- 代表的是所有者 ...

  2. 找出1-N中1的个数

    一.题目 给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数. 要求: 写一个函数 f(N) ,返回1 到 N 之间出现的 “1”的个数.例如 f(12)  = 5. ...

  3. 一、javaSE总结

    1.变量与常量区别: 常量:是在程序中的不会变化的数据. 变量:其实就是内存中的一个存储空间,用于储存常量数据 ,方便运算,因为有些数据不确定,变量空间可以重复使用. 2.变量空间的开辟条件:数据类型 ...

  4. 使用OutputDebugString输出调试信息

    在编写控制台程序的时候我们经常会使用printf输出调试信息,使我们了解程序的状态,方便调试,但是当编写非控制台程序的时候这种方法就行不通了,那我们应该怎么办?上网查了一些方法,大致就如下几种 使用L ...

  5. public、protect、private在父类子类中使用

    先贴出一张,直观的.估计大家都见过的关于public.protect.private的范围图 作用域 当前类 同一package 子孙类 其他package public     T         ...

  6. Careercup - Google面试题 - 4877486110277632

    2014-05-08 05:16 题目链接 原题: Given a circle with N defined points and a point M outside the circle, fin ...

  7. CSS3 绘制360安仔小精灵[原创]

    Css3图形通常由矩形,圆形,椭圆,三角形,梯形等组合而成. 矩形,为display:block的块级元素设定宽高,便能实现, 圆角矩形,椭圆,圆形,则通过border-radius 属性来得到. 圆 ...

  8. appium 启动失败解决方案

    本机下载了:AppiumForWindows,启动Appium.exe 的时候,立即提示:应用程序已停止运行!! 本机环境: WIN 7 64 位,后来查了资料才知道Appium 要求安装.net f ...

  9. Codeforces Round #265 (Div. 1) C. Substitutes in Number dp

    题目链接: http://codeforces.com/contest/464/problem/C J. Substitutes in Number time limit per test 1 sec ...

  10. bzoj 1497 最小割模型

    我们可以对于消费和盈利的点建立二分图,开始答案为所有的盈利和, 那么源向消费的点连边,流量为消费值,盈利向汇连边,流量为盈利值 中间盈利对应的消费连边,流量为INF,那么我们求这张图的最小割,用 开始 ...