hadoop集群搭建-(三台机器)
目录
安装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集群搭建-(三台机器)相关推荐
- Hadoop集群搭建(三台Linux服务器)
Hadoop集群搭建(三台Linux服务器) 搭建之前注意的几点问题 环境以及版本 基本命令 Linux环境准备 首先安装Hadoop 配置集群分发脚本 克隆配置好的机器 Hadoop集群配置 第一步 ...
- hadoop集群搭建 修改配置文件(三台主机都要配置)
hadoop集群搭建 修改配置文件(三台主机都要配置) master 主机配置 1)hadoop-env.sh vim hadoop-env.sh 2)core-site.xml vim c ...
- 不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码...
作者 | chen_01_c 责编 | Carol 来源 | CSDN 博客 封图 | CSDN付费下载于视觉中国 hadoop介绍 Hadoop 是 Lucene 创始人 Doug Cutting, ...
- Hadoop集群搭建(超级超级详细)
Hadoop集群搭建(超级超级详细) 1.集群规划 安装VMware,使用三台 Ubuntu18.04 虚拟机进行集群搭建,下面是每台虚拟机的规划: 主机名 IP 用户 HDFS YARN hadoo ...
- 在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. ...
- 完全分布式Hadoop集群搭建
环境说明 操作系统:CentOS 8 x86_64 Hadoop版本:2.10.1 节点数:3 服务器规划: node1 node2 node3 199.188.166.111 199.188.166 ...
- 环境搭建-Hadoop集群搭建
环境搭建-Hadoop集群搭建 写在前面,前面我们快速搭建好了centos的集群环境,接下来,我们就来开始hadoop的集群的搭建工作 实验环境 Hadoop版本:CDH 5.7.0 这里,我想说一下 ...
- Hadoop集群搭建(超详细)
Hadoop三大公司 apache hortonWorks Cloudera 星环科技(国内) Hadoop的模块组成 HDFS:一个高可靠.高吞吐量的分布式文件系统. MapReduce:一个分布式 ...
- 好程序员大数据笔记之:Hadoop集群搭建
好程序员大数据笔记之:Hadoop集群搭建在学习大数据的过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天 ...
- linux hadoop集群搭建,hadoop集群搭建
hadoop集群搭建步骤 实验介绍 下面将要在三台linux虚拟机上搭建hadoop集群. 知识点 linux基本命令 集群安装 完成实验需要以下相关知识 解压命令 tar -zxvf XX.tar. ...
最新文章
- android4.0代码下载总结
- Java 按位与 Java代码_(Java)按位与运算符-是否用于减少前一个位间隔?
- asp利用dictionary创建二维数组
- 父类可以调用子类的方法吗_python类的继承、多继承及查找方法顺序
- cam350 不能打开光绘文件_如何在CAM350中导入Allegro光绘
- AS(Autonomous System)
- php里面的MySql
- Delphi 皮肤控件AlphaControls的使用
- oracle的clob转换varchar2
- Storm原理与实现
- 博客园文章markdown实现
- 从零基础入门Tensorflow2.0 ----四、17.生成tfrecords文件
- linux如何修改telnet密码,如何修改用户SSH\telnet登陆linux时候显示的欢迎信息
- Polycom高清视频会议桌面系统HDX 4000
- C# installshield使用教程
- Unity 导航网格生成碰撞体
- MATLAB疲劳检测系统
- 多人远程同时使用谷歌浏览器
- js自动生成手机扫描二维码就可以实现自动下载apk的二维码
- 首席商学院新媒体运营创始人黎想:爆火抖音短视频,打造技巧分析
热门文章
- 基于JAVA社团管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 计算机键盘的删除键,电脑删除键在哪 删除的快捷键是什么
- android应用流程图,Android APP 启动流程简析
- Java数组分配的关键字_理解JAVA数组 - 小南超子的个人空间 - OSCHINA - 中文开源技术交流社区...
- 歌乎:985博士生对996的困惑
- 图像的几何变换maketform imtransform imresize imcrop
- 本地访问阿里云故障问题
- 这篇文章里的代码的C#版本 (穿过已知点画平滑曲线(3次贝塞尔曲线)
- 单反拍摄技巧:利用直方图曝光
- DNS云学堂 | 行车不规范亲人两行泪,NS不规范运维两行泪