Hadoop入门二:本地模式及伪分布式模式使用

目录

一、本地模式

官方案例之Grep

官方案例之WordCount

总结

二、伪分布式模式

一、配置信息配好

二、格式化并启动namenode和datanode

三、浏览器输入linux机器的ip加端口号9870

四、执行一下hadoop的wordcount案例

五、启动YARN运行MapReduce

配置文件介绍:


一、本地模式

官方案例之Grep

首先在hadoop目录下创建input文件夹

然后将etc/hadoop路径下xml格式的文件复制到input文件夹下

mkdir input 

cp etc/hadoop/*.xml input/

然后执行以下命令,意思就是使用hadoop命令执行如下案例jar包,并且按照input下的规则将内容用正则表达式过滤,最后结果存入output文件夹,这是一个演示案例,大家都可以试一试感觉,对这种操作有个初步认识。

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar grep input/ output 'dfs[a-z.]+'

官方案例之WordCount

看见这个名字大概就明白这个案例是用来统计单词数量的,同样的方式,创建输入文件夹wcinput,然后在wcinput文件夹下创建wc.input文件,里面填写一些内容

mkdir wcinput


touch wc.input

内容如下:

jordan jordan
curry jordan
kobe 
kobe 
james

然后执行hadoop命令

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount wcinput/ wcoutput

得出结果在wcoutput文件夹下

总结

通过以上两个案例我们大概已经对hadoop命令有个初步的概念,我的理解暂时就是hadoop命令能够执行一个程序去处理数据,这个程序需要一个数据源---input,并且可以用一定的规则去执行程序,之后就是将结果输入到一个目标文件---ouput。

二、伪分布式模式

一、配置信息配好

(我的版本是3.3.1,所以主目录都叫这个)

~主目录hadoop-3.3.1/etc/hadoop下的core-site.xml

<configuration>
<!--指定HDFS中NameNode的地址-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>

<!--指定Hadoop运行时产生文件的存储目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.3.1/data/tmp</value>
    </property>
</configuration>

~主目录hadoop-3.3.1/etc/hadoop下的hdfs-site.xml

<configuration>
    <!--指定HDFS副本数量-->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

~主目录hadoop-3.3.1/etc/hadoop下的hadoop-env.sh添加配置jdk的主目录

export JAVA_HOME=JAVA_HOME

二、格式化并启动namenode和datanode

格式化命令在hadoop的bin目录下执行

 hdfs namenode -format

启动namenode、datanode

hdfs --daemon start namenode

hdfs --daemon start datanode

然后输入jps看是否启动正常

三、浏览器输入linux机器的ip加端口号9870

这个端口号不同版本未必相同,可以根据官方文档可以查看默认值

页面显示如下图

文件目录

可以输入以下命令创建出自己的文件夹目录,如下所示

hdfs dfs -mkdir -p /user/loong/input

页面也已经有东西了

hdfs操作文件的一般命令:

查看文件目录

hdfs dfs -ls /

每层目录都展示

hdfs dfs -lsr /

复制文件

hdfs dfs -put wcinput/wc.input /user/loong/input

文件还可以下载 

四、执行一下hadoop的wordcount案例

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /user/loong/input /user/loong/output

输出结果也有了,结果可以查看和下载

五、启动YARN运行MapReduce

配置集群

yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_301

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>LOONG002</value>
    </property>

    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>

<!-- 日志保留时间设置7天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>

</configuration>

mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_301

mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>

    <!-- 历史服务器端地址 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>LOONG002:10020</value>
    </property>

    <!-- 历史服务器web端地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>LOONG002:19888</value>
    </property>
</configuration>

启动resourcemanager

yarn --daemon start resourcemanager

启动nodemanager

yarn --daemon start nodemanager

启动历史服务器

mapred --daemon start historyserver

当前看到有这些进程

配置完可以执行一下示例:

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /user/loong/input /user/loong/output

前台页面打开LOONG101:8088可以看到mapreduce的可视化界面

查看历史

查看日志

日志也可以在$HADOOP_HOME/logs路径下查看

配置文件介绍

core-site.xml:配置namenode的主机名称和端口号,运行hadoop产生的临时文件地址

hdfs-site.xml:配置hdfs的副本数

yarn-site.xml:nodemanager和resourcemanager相关配置,以及日志相关配置

mapred-site.xml:mapreduce相关配置和历史服务器配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Hadoop分布式模式是在一台机器上模拟分布式环境,使得开发人员可以在单个机器上完成Hadoop程序的开发和测试。下面是Hadoop分布式模式的配置过程: 1. 安装Java和Hadoop:首先需要安装Java和Hadoop。Java的版本需要与Hadoop版本匹配。安装完成后,需要设置JAVA_HOME和HADOOP_HOME环境变量。 2. 修改配置文件:Hadoop分布式模式需要修改以下配置文件: - core-site.xml:配置Hadoop的核心参数,如文件系统、端口等。 - hdfs-site.xml:配置Hadoop分布式文件系统的参数,如副本数量、块大小等。 - mapred-site.xml:配置HadoopMapReduce参数,如任务最大尝试次数、任务跟踪器等。 - yarn-site.xml:配置Hadoop的YARN参数,如节点管理器、资源管理器等。 3. 创建HDFS目录:在Hadoop分布式模式中,需要手动创建HDFS目录。可以使用以下命令创建目录: ``` hdfs dfs -mkdir /user hdfs dfs -mkdir /user/<用户名> ``` 4. 启动Hadoop使用以下命令启动Hadoop: ``` start-dfs.sh start-yarn.sh ``` 5. 验证Hadoop使用以下命令验证Hadoop是否正常运行: ``` jps ``` 如果输出中包含ResourceManager、NodeManager、DataNode、NameNode等进程,则说明Hadoop已经成功启动。 6. 运行Hadoop程序:在Hadoop分布式模式下,可以使用以下命令运行程序: ``` hadoop jar <程序.jar> <输入路径> <输出路径> ``` 以上就是Hadoop分布式模式的配置过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿星_Alex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值