【Hadoop】- Hadoop1.x 伪分布式环境搭建

本文深入解析Hadoop体系的主要组件,包括HDFS、MapReduce、NameNode、SecondNameNode、DataNode、JobTracker和TaskTracker的功能与角色,并详细介绍了Hadoop伪分布式环境的搭建步骤与核心配置。

Hadoop体系的主要组件:HDFS/MapReduce


HDFS: Hadoop Distribution File System

NameNode、SecondNameNode:名称节点

作用:维护Hadoop中存储数据块的相关信息,例如记录hadoop集群中某个数据块所在的服务器位置,SecondNameNode主要是起到冗余作用,当NameNode宕机时,可使用SecondNameNode作为NameNode的替代工具,防止整个Hadoop集群的崩溃

DataNode: 数据节点

作用: 主要是存储HDFS数据块的服务器,负责HDFS数据库的存储(读写)


MapReduce: 分布式计算框架

  • JobTracker: 作业跟踪器,类似司令的角色,主要用于处理作业,将作业进行分割成任务task,统一调度

  • TaskTracker:任务跟踪器:主要管理节点上task,类似士兵的角色,向JobTracker报告

  • master:JobTracker NameNode节点所在的服务器

  • slave: DataNode TaskTracker节点所在的服务器

注意:1个Hadoop集群只有1个JobTracker作业跟踪器,JobTracker和NameNdoe可在同1个服务器,TaskTracker和DataNode一般在同一个服务器,一个TaskTracker管理所在服务器的任务


Hadoop伪分布式:所有节点都在同1个服务器(开发用)

①:配置hadoop环境(hadoop-env.sh): export JAVA_HOME=/usr/local/java/jdk1.8.0_112 (hadoop基于Java开发,需要配置jdk)

②:Hadoop的核心配置:core-site.xml(例如:名称节点、I/O配置等)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

因是伪分布式,这里配置的名称节点的ip为localhost,实际完全分布式情况需要设置实际的服务主机的ip

③:配置hdfs文件系统 hdfs-site.xml:配置dataNode的存储位置及数据块的备份次数

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop-0.20.2/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

④:配置MapReduce mapred-site.xml:JobTracker节点服务器配置

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

⑤:格式化HDFS文件系统:bin目录自带的hadoop命令(名称节点服务器格式化): ./hadoop namenode –format

⑥:启动hadoop集群:/bin/start-all.sh :hadoop启动脚本 查看Hadoop是否成功启动:使用jdk自带的jps命令,可以查询linux中和Java相关的进程信息:

[root@localhost bin]# jps 19344 SecondaryNameNode 19152 NameNode 19249 DataNode 19511 TaskTracker 19417 JobTracker 19551 Jps

**结果:**显示Hadoop关键的守护进程的信息表明hadoop伪集群成功启动

注意:这里是使用伪分布式的hadoop,完全分布式需要配置各个节点的ssh的公钥共享,无需ssh密码登陆就可实现hadoop集群中各个节点之间的数据传输,伪分布式通过单点模拟hadoop集群,只需将自己的公钥加入authorized_keys即可。

转载于:https://my.oschina.net/yangzhiwei256/blog/3014241

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值