Hadoop(四)

145 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

  1. 集群基本测试

(1)上传文件到集群

  • 上传小文件

#创建目录 hadoop fs -mkdir /mydir ​ #往目录中上传文件 hadoop fs -put wcinput/word.txt /mydir/ ​ #从网页上查看 http://hadoop101:9870/explorer.html#/ ​ 文件实际存放的位置: $ cat /usr/local/hadoop/data/dfs/data/current/BP-1053634806-192.168.10.101-1638611681892/current/finalized/subdir0/subdir0/blk_1073741825 hadoop yarn hadoop mapreduce atguigu atguigu ​

  • 上传大文件

hadoopfsput/zlp/packages/jdk8u212linuxx64.tar.gz/mydir​查看HDFS在磁盘存储文件的内容hadoop fs -put /zlp/packages/jdk-8u212-linux-x64.tar.gz /mydir ​ 查看HDFS在磁盘存储文件的内容 cat blk_1073741826 >> a.tar.gz catblk1073741827>>a.tar.gzcat blk_1073741827 >> a.tar.gz tar xf a.tar.gz

  • 下载文件

$ hadoop fs -get /mydir/jdk-8u212-linux-x64.tar.gz ./

  • 删除文件

$ hadoop fs -rm -r /output

  • 执行wordcount程序

$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /mydir/word.txt /output

1.5.3 配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的 具体配置步骤如下:

(1)配置文件

$ cat etc/hadoop/mapred-site.xml

<configuration>    
    <!-- 指定MapReduce程序运行在Yarn上 -->    
    <property>       
        <name>mapreduce.framework.name</name>      
        <value>yarn</value>   
    </property><!-- 历史服务器端地址 -->   
<property>       
    <name>mapreduce.jobhistory.address</name>       
    <value>hadoop101:10020</value>    
</property>       
<!-- 历史服务器web端地址 -->   
<property>        
    <name>mapreduce.jobhistory.webapp.address</name>       
    <value>hadoop101:19888</value>    
</property> 
</configuration>

(2)启动历史服务器

注意:将配置文件同步分发到其他节点 ./sbin/mrjobhistorydaemon.shstarthistoryserver./sbin/mr-jobhistory-daemon.sh start historyserver jps ​ Hadoop3 启动历史服务器 $ mapred --daemon start historyserver ​ 访问链接: http://hadoop101:19888/jobhistory

1.5.4 配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。注意:开启日志聚集功能,需要重新启动 NodeManager 、ResourceManager 和 HistoryServer。开启日志聚集功能具体步骤如下:

$ vim etc/hadoop/yarn-site.xml

<property>    
    <name>yarn.log-aggregation-enable</name>   
    <value>true</value> 
</property>
<!-- 设置日志聚集服务器地址 --> 
<property>     
    <name>yarn.log.server.url</name>     
    <value>http://hadoop101:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 --> <property>   
    <name>yarn.log-aggregation.retain-seconds</name>    
    <value>604800</value> 
</property>