Hadoop伪分布式模式部署

简介: 这里的准备工作可以查看Hadoop单机模式部署准备工作。

Hadoop的安装有三种运行模式:


单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置。Hadoop运行在一个Java进程中,使用本地文件系统,不使用HDFS,一般用于开发调试MapReduce程序的应用逻辑。

伪分布式模式(Pseudo-Distributed Mode):需简单配置,相当于只有一个节点的集群,Hadoop的所有守护进程运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。

完全分布式模式(Fully-Distributed Mode):根据需要进行配置。多节点,一般用于生产环境,可认为是由伪分布式模式的一个节点变为多个节点。

准备工作

这里的准备工作可以查看Hadoop单机模式部署准备工作。


总结一下就是:


Linux系统环境

JDK安装及其环境变量、ssh及ssh的免密码登录

Hadoop安装包

环境变量的配置

环境搭建

修改core-site.xml

修改$HADOOP_HOME/etc/hadoop/core-site.xml文件。在默认情况下,这个文件为空,没有任何配置,这里需要指定NameNode的ip和端口(默认端口是8020)。


<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.1.134:9000</value>
    </property>
</configuration>

192.168.1.134是我的本机地址,可以写localhost或127.0.0.1。但是如果需要Eclipse远程调用Hadoop的时候,需要些具体的ip地址,否则调不通。


修改hdfs-site.xml

HDFS是分布式文件系统,为了安全性考虑,会将上传至HDFS的文件的每个分块拷贝到N个节点上,即复制N次(这里的N成为复制因子)。这里将复制因子改为1。


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

启动最小Hadoop伪分布式模式

经过上面的最小配置后,Hadoop已经可以启动伪分布式模式了。


格式化文件系统

第一次运行Hadoop的时候需要格式化其文件系统:


$ bin/hdfs namenode -format

如果成功,会打印:


。。。
14/10/14 19:09:05 INFO common.Storage: Storage directory /tmp/hadoop-lxh/dfs/name has been successfully formatted.
。。。

启动NameNode守护进程和DataNode守护进程

直接通过Hadoop提供的脚本start-dfs.sh即可:


$ sbin/start-dfs.sh

启动日志保存在$HADOOPLOGDIR目录中(默认是$HADOOP_HOME/logs)。


查看启动的进程

可以通过jps查看已经启动的进程:


31536 SecondaryNameNode
31381 DataNode
31254 NameNode
31643 Jps

说明DataNode、NameNode、SecondaryNameNode已经启动成功。


查看NameNode的web接口

通过默认的NameNode的web接口http://localhost:50070/,可以查看NameNode收集的信息,相当于关于Hadoop提供的一个信息查询系统。


Hello World

执行官网提供的验证程序。


$ hdfs dfs -mkdir /input
$ hdfs dfs -put $HADOOP_HOME/etc/hadoop/* /input
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep /input /output 'dfs[a-z.]+'
$ hdfs dfs -cat /output/*

最后一条命令是显示最后的执行结果:


6   dfs.audit.logger
4   dfs.class
3   dfs.server.namenode.
2   dfs.period
2   dfs.audit.log.maxfilesize
2   dfs.audit.log.maxbackupindex
1   dfsmetrics.log
1   dfsadmin
1   dfs.servers
1   dfs.replication
1   dfs.file

停止进程

伪分布式模式中的第一个Hello World执行成功后,可以关闭进程了。


$ stop-dfs.sh

配置YARN

通过配置一些参数,并启动ResourceManager守护进程和NodeManager守护进程,可以在伪分布式模式中,在YARN上运行MapReduce任务。


上面的最小配置不变。


修改mapred-site.xml

在默认的Hadoop安装包中,没有mapred-site.xml文件,可以复制mapred-site.xml.template,并修改,指定在YARN中运行MapReduce任务:

<configuration>
    <property>    
        <name>mapreduce.framework.name</name>        
        <value>yarn</value>            
    </property>
</configuration>

修改yarn-site.xml

指明需要向MapReduce应用提供的Shuffle服务。


<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

运行

可以通过start-yarn.sh启动ResourceManager守护进程和NodeManager守护进程,通过stop-yarn.sh停止。


补充配置

Hadoop默认将HDFS文件系统写在/tmp/hadoop-中,因为系统重启会清理/tmp目录,所以需要保证重启系统不丢失数据,需要修改默认数据保存位置。


core-site.xml

<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/lxh/hadoop/tmp/hadoop</value>
</property>
hdfs-site.xml
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/lxh/hadoop/hdfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/lxh/hadoop/hdfs/data</value>
</property>
目录
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
174 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
70 2
|
25天前
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
|
2月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
61 2
|
4月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
221 2
|
4月前
|
存储 分布式计算 Hadoop
Hadoop 运行的三种模式
【8月更文挑战第31天】
396 0
|
4月前
|
SQL 分布式计算 Hadoop
centos7通过CDH部署Hadoop
centos7通过CDH部署Hadoop
|
4月前
|
分布式计算 Java Linux
centos7通过Ambari2.74部署Hadoop
centos7通过Ambari2.74部署Hadoop
|
4月前
|
存储 分布式计算 监控
Hadoop在云计算环境下的部署策略
【8月更文第28天】Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。随着云计算技术的发展,越来越多的企业开始利用云平台的优势来部署Hadoop集群,以实现更高的可扩展性、可用性和成本效益。本文将探讨如何在公有云、私有云及混合云环境下部署和管理Hadoop集群,并提供具体的部署策略和代码示例。
140 0
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
94 2

相关实验场景

更多