目录

安装jdk

安装hadoop

配置ssh

配置集群

集群启动及测试

附录

Hadoop组成

HDFS架构概述

YARN架构概述

MapReduce架构概述

大数据技术生态体系


小二是一名学生,他在研究大数据,那么hadoop是必不可少要去学习的。他没有多余的linux机器,只能用自己的笔记本安装VMware虚拟机程序,他克隆了三台centOS6.6版本的linux系统,然后开始了他的hadoop集群搭建之旅。再下也不知道他是不是跑偏了,若有,请不吝赐教,再下不胜感谢。

首先,模拟搭建hadoop集群环境你需要在机子上安装VMware,若您还没有安装,小二献出一记,请参考介个-----https://blog.csdn.net/iiiiiilikangshuai/article/details/79781630   。这个是以前安装7 的时候写的,若是您没有centos6的镜像,嘿嘿,留言邮箱给我,或者官网下去。嘻嘻!

其次,学习大数据你需要有不弱的linux命令操作,需要知道怎么去使用这么一个好的操作系统,去习惯命令行式的简洁。若是基础有些不足,请参考介个------https://blog.csdn.net/iiiiiilikangshuai/article/details/83868239 。嘿嘿,写的些许有些粗糙。不过命令都是需要拿小本本记下来的。

最后,就是搭建集群之旅。-----痛苦的开始(错误好多啊!!!!)

1)准备3台客户机(关闭防火墙、静态ip、主机名称)

2)安装jdk

3)配置环境变量

4)安装hadoop

5)配置环境变量

6)安装ssh

7)配置集群

8)启动测试集群

安装jdk

若是您不会。嘻嘻。请参考---https://blog.csdn.net/iiiiiilikangshuai/article/details/91891565 。

安装hadoop

首先上传hadoop安装包,若没有,在下也已经准备好啦!!!

使用XShell和Xftp上传

解压安装文件到/opt/module下面

[root@hadoop101 software]# tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/

3)查看是否解压成功

[root@hadoop101 software]# ls /opt/module/

hadoop-2.7.2

4)配置hadoop中的hadoop-env.sh

(1)Linux系统中获取jdk的安装路径:

[root@hadoop101 jdk1.7.0_79]# echo $JAVA_HOME

/opt/module/jdk1.7.0_79

(2)修改hadoop-env.sh文件中JAVA_HOME 路径:

export JAVA_HOME=/opt/module/jdk1.7.0_79

5)将hadoop添加到环境变量

(1)获取hadoop安装路径:

[root@ hadoop101 hadoop-2.7.2]# pwd

/opt/module/hadoop-2.7.2

(2)打开/etc/profile文件:

root@ hadoop101 hadoop-2.7.2]# vi /etc/profile

在profie文件末尾添加jdk路径:(shitf+g)

##HADOOP_HOME

export HADOOP_HOME=/opt/module/hadoop-2.7.2

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

(3)保存后退出:

:wq

(4)让修改后的文件生效:

root@ hadoop101 hadoop-2.7.2]# source /etc/profile

(5)重启(如果hadoop命令不能用再重启):

root@ hadoop101 hadoop-2.7.2]# sync

root@ hadoop101 hadoop-2.7.2]# reboot

配置ssh

(1)基本语法

ssh 另一台电脑的ip地址

(2)ssh连接时出现Host key verification failed的解决方法

[root@hadoop2 opt]# ssh 192.168.1.103

The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.

RSA key fingerprint is cf:1e:de:d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06.

Are you sure you want to continue connecting (yes/no)?

Host key verification failed.

(3)解决方案如下:直接输入yes

2)无密钥配置

(1)进入到我的home目录

cd  ~/.ssh

(2)生成公钥和私钥:

ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

(3)将公钥拷贝到要免密登录的目标机器上

ssh-copy-id 192.168.1.102

3).ssh文件夹下的文件功能解释

(1)~/.ssh/known_hosts      :记录ssh访问过计算机的公钥(public key)

(2)id_rsa    :生成的私钥

(3)id_rsa.pub     :生成的公钥

(4)authorized_keys    :存放授权过得无秘登录服务器公钥

配置集群

1)集群部署规划

Hadoop102

hadoop103

hadoop104

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

2)配置文件

(1)core-site.xml

<!-- 指定HDFS中NameNode的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop102:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/module/hadoop-2.7.2/data/tmp</value>

</property>

(2)Hdfs

hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>hadoop104:50090</value>

</property>

</configuration>

slaves

hadoop102

hadoop103

hadoop104

(3)yarn

yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop103</value>

</property>

</configuration>

(4)mapreduce

mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

mapred-site.xml

<configuration>

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

3)在集群上分发以上所有文件

cd /opt/module/hadoop-2.7.2/etc/hadoop

scp /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml  root@hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop/

scp /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml root@hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop/

scp /opt/module/hadoop-2.7.2/etc/hadoop/slaves root@hadoop102:/opt/module/hadoop-2.7.2/etc/hadoop/

集群启动及测试

1)启动集群

(0)如果集群是第一次启动,需要格式化namenode

[root@hadoop102 hadoop-2.7.2]# bin/hdfs namenode -format

(1)启动HDFS:

[root@hadoop102 hadoop-2.7.2]# sbin/start-dfs.sh

[root@hadoop102 hadoop-2.7.2]# jps

4166 NameNode

4482 Jps

4263 DataNode

[root@hadoop103 桌面]# jps

3218 DataNode

3288 Jps

[root@hadoop104 桌面]# jps

3221 DataNode

3283 SecondaryNameNode

3364 Jps

(2)启动yarn

sbin/start-yarn.sh

注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。

2)集群基本测试

(1)上传文件到集群

上传小文件

bin/hdfs dfs -mkdir -p /user/local/tmp/conf

bin/hdfs dfs -put etc/hadoop/*-site.xml /user/local/tmp/conf

上传大文件

[root@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -put /opt/software/hadoop-2.7.2.tar.gz  /user/local/input

(2)上传文件后查看文件存放在什么位置

文件存储路径

[root@hadoop102 subdir0]$ pwd

/opt/module/hadoop-2.7.2/data/tmp/dfs/data/current/BP-938951106-192.168.10.107-1495462844069/current/finalized/subdir0/subdir0

附录

Hadoop组成

1)Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。

2)Hadoop MapReduce:一个分布式的离线并行计算框架。

3)Hadoop YARN:作业调度与集群资源管理的框架。

4)Hadoop Common:支持其他模块的工具模块。

HDFS架构概述

1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。

2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。

3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

YARN架构概述

1)ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;

2)NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;

3)ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。

4)Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。

MapReduce架构概述

MapReduce将计算过程分为两个阶段:Map和Reduce

1)Map阶段并行处理输入数据

2)Reduce阶段对Map结果进行汇总

大数据技术生态体系

图中涉及的技术名词解释如下:

1)Sqoop:sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

2)Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

(2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息

(3)支持通过Kafka服务器和消费机集群来分区消息。

(4)支持Hadoop并行数据加载。

4)Storm:Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。 Storm也可被用于“连续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。

5)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。

6)Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。Oozie协调作业就是通过时间(频率)和有效数据触发当前的Oozie工作流程。

7)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

8)Hive:hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

10)R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

11)Mahout:

Apache Mahout是个可扩展的机器学习和数据挖掘库,当前Mahout支持主要的4个用例:

推荐挖掘:搜集用户动作并以此给用户推荐可能喜欢的事物。

聚集:收集文件并进行相关文件分组。

分类:从现有的分类文档中学习,寻找文档中的相似特征,并为无标签的文档进行正确的归类。

频繁项集挖掘:将一组项分组,并识别哪些个别项会经常一起出现。

12)ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

hadoop集群搭建-(三台机器)相关推荐

  1. Hadoop集群搭建(三台Linux服务器)

    Hadoop集群搭建(三台Linux服务器) 搭建之前注意的几点问题 环境以及版本 基本命令 Linux环境准备 首先安装Hadoop 配置集群分发脚本 克隆配置好的机器 Hadoop集群配置 第一步 ...

  2. hadoop集群搭建 修改配置文件(三台主机都要配置)

    hadoop集群搭建      修改配置文件(三台主机都要配置) master 主机配置 1)hadoop-env.sh vim hadoop-env.sh 2)core-site.xml vim c ...

  3. 不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码...

    作者 | chen_01_c 责编 | Carol 来源 | CSDN 博客 封图 | CSDN付费下载于视觉中国 hadoop介绍 Hadoop 是 Lucene 创始人 Doug Cutting, ...

  4. Hadoop集群搭建(超级超级详细)

    Hadoop集群搭建(超级超级详细) 1.集群规划 安装VMware,使用三台 Ubuntu18.04 虚拟机进行集群搭建,下面是每台虚拟机的规划: 主机名 IP 用户 HDFS YARN hadoo ...

  5. 在Linux中进行hadoop集群搭建

    在公网IP为x.x.x.x.y.y.y.y和z.z.z.z并装有Centos8的服务器上进行hadoop集群搭建,都安装hadoop-3.1.3和server-jre-8u202-linux-x64. ...

  6. 完全分布式Hadoop集群搭建

    环境说明 操作系统:CentOS 8 x86_64 Hadoop版本:2.10.1 节点数:3 服务器规划: node1 node2 node3 199.188.166.111 199.188.166 ...

  7. 环境搭建-Hadoop集群搭建

    环境搭建-Hadoop集群搭建 写在前面,前面我们快速搭建好了centos的集群环境,接下来,我们就来开始hadoop的集群的搭建工作 实验环境 Hadoop版本:CDH 5.7.0 这里,我想说一下 ...

  8. Hadoop集群搭建(超详细)

    Hadoop三大公司 apache hortonWorks Cloudera 星环科技(国内) Hadoop的模块组成 HDFS:一个高可靠.高吞吐量的分布式文件系统. MapReduce:一个分布式 ...

  9. 好程序员大数据笔记之:Hadoop集群搭建

    好程序员大数据笔记之:Hadoop集群搭建在学习大数据的过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天 ...

  10. linux hadoop集群搭建,hadoop集群搭建

    hadoop集群搭建步骤 实验介绍 下面将要在三台linux虚拟机上搭建hadoop集群. 知识点 linux基本命令 集群安装 完成实验需要以下相关知识 解压命令 tar -zxvf XX.tar. ...

最新文章

  1. android4.0代码下载总结
  2. Java 按位与 Java代码_(Java)按位与运算符-是否用于减少前一个位间隔?
  3. asp利用dictionary创建二维数组
  4. 父类可以调用子类的方法吗_python类的继承、多继承及查找方法顺序
  5. cam350 不能打开光绘文件_如何在CAM350中导入Allegro光绘
  6. AS(Autonomous System)
  7. php里面的MySql
  8. Delphi 皮肤控件AlphaControls的使用
  9. oracle的clob转换varchar2
  10. Storm原理与实现
  11. 博客园文章markdown实现
  12. 从零基础入门Tensorflow2.0 ----四、17.生成tfrecords文件
  13. linux如何修改telnet密码,如何修改用户SSH\telnet登陆linux时候显示的欢迎信息
  14. Polycom高清视频会议桌面系统HDX 4000
  15. C# installshield使用教程
  16. Unity 导航网格生成碰撞体
  17. MATLAB疲劳检测系统
  18. 多人远程同时使用谷歌浏览器
  19. js自动生成手机扫描二维码就可以实现自动下载apk的二维码
  20. 首席商学院新媒体运营创始人黎想:爆火抖音短视频,打造技巧分析

热门文章

  1. 基于JAVA社团管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  2. 计算机键盘的删除键,电脑删除键在哪 删除的快捷键是什么
  3. android应用流程图,Android APP 启动流程简析
  4. Java数组分配的关键字_理解JAVA数组 - 小南超子的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 歌乎:985博士生对996的困惑
  6. 图像的几何变换maketform imtransform imresize imcrop
  7. 本地访问阿里云故障问题
  8. 这篇文章里的代码的C#版本 (穿过已知点画平滑曲线(3次贝塞尔曲线)
  9. 单反拍摄技巧:利用直方图曝光
  10. DNS云学堂 | 行车不规范亲人两行泪,NS不规范运维两行泪