日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop配置文件详解

發布時間:2023/12/20 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop配置文件详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hadoop配置文件詳解

概述

Hadoop默認配置文件

配置文件描述位置
core-default.xml默認的核心hadoop屬性文件位于:Hadoop-common-2.10.1.jar
hdfs-default.xml默認的HDFS屬性配置文件位于:hadoop-hdfs-2.10.1.jar
mapred-default.xml默認mapreduce屬性配置文件位于:mapreduce-client-core-2.10.1.jar
yarn-default.xml默認的YARN屬性配置文件位于:yarn-common-2.10.1.jar

Hadoop自定義配置文件

存放在$HADOOP_HOME/etc/hadoop這個路徑里,用戶可以根據項目需求重新進行修改配置

配置文件功能描述
hadoop-env.sh配置 Hadoop 運行所需的環境變量
core-site.xmlHadoop 核心全局配置文件,可在其他配置文件中引用該文件
hdfs-site.xmlHDFS 配置文件,繼承 core-site.xml 配置文件
mapred-site.xmlMapReduce 配置文件,繼承 core-site.xml 配置文件
yarn-site.xmlYARN 配置文件,繼承 core-site.xml 配置文件

當然還有slaves文件,記錄集群的主機名。

hadoop-env.sh

文件中設置的是Hadoop運行時需要的環境變量。JAVA_HOME是必須設置的,即使我們當前的系統中設置了JAVA_HOME,它也是不認識的,因為Hadoop即使是在本機上執行,它也是把當前的執行環境當成遠程服務器。

# 修改前 # The java implementation to use. export JAVA_HOME=${JAVA_HOME}# 修改后 # The java implementation to use. export JAVA_HOME=/app/java/jdk1.8.0_181

core-site.xml

核心全局配置文件

<!-- Put site-specific property overrides in this file. --><configuration><!-- 用于設置Hadoop的文件系統,由URI指定默認協議file:///屬于本地路徑,由于之后要用HDFS,因此需要修改為hdfs://主機名(ip):端口(內部的一個通訊)--><property><name>fs.defaultFS</name><value>hdfs://node1:9000</value></property><!-- 配置Hadoop存儲數據目錄,默認/tmp/hadoop-${user.name} --><property><name>hadoop.tmp.dir</name><value>file:/app/hadoop-2.10.1/tmp</value></property><!-- 緩沖區大小,實際工作中根據服務器性能動態調整 --><property><name>io.file.buffer.size</name><value>131072</value></property><!-- 開啟hdfs的垃圾桶機制,刪除掉的數據可以從垃圾桶中回收,單位分鐘 --><property><name>fs.trash.interval</name><value>10080</value></property> </configuration>

hdfs-sit.xml

Hadoop的底層存儲配置文件,主要配置HDFS相關參數

<!-- Put site-specific property overrides in this file. --><configuration><!-- namenode存儲hdfs名字的空間的元數據文件目錄 --><property><name>dfs.namenode.name.dir</name><value>file:/app/hadoop-2.10.1/dfs/name</value></property><!-- datanode上的一個數據塊的物理的存儲位置文件 --><property><name>dfs.datanode.data.dir</name><value>file:/app/hadoop-2.10.1/dfs/data</value></property><!-- 指定HDFS保存數據副本的數量 --><property><name>dfs.replication</name><value>3</value></property><!-- 設置一個block的大小:128M--><property><name>dfs.blocksize</name><value>134217728</value></property><!-- 定義namenode界面的訪問地址 --><property><name>dfs.http.address</name><value>node1:50070</value></property><!-- 定義secondarynamenode的通信地址 --><property><name>dfs.namenode.secondary.http-address</name><value>node2:50071</value></property><!-- 設置HDFS的文件權限--><property><name>dfs.permissions</name><value>false</value></property><!-- 指定DataNode的節點配置文件 --><property><name>dfs.hosts</name><value>/app/hadoop-2.10.1/etc/hadoop/slaves</value></property> </configuration>

mapred-site.xml

Hadoop默認只有個模板文件mapred-site.xml.template,需要使用該文件復制出來一份mapred-site.xml文件

yarn 的 web 地址 和 history 的 web 地址以及指定我們的 mapreduce 運行在 yarn 集群上

<!-- Put site-specific property overrides in this file. --><configuration><!-- 指定 MapReduce 程序運行在 Yarn 上,表示MapReduce使用yarn框架 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><!-- 開啟MapReduce小任務模式 --><property><name>mapreduce.job.ubertask.enable</name><value>true</value></property><!-- 設置歷史任務的主機和端口 --><property><name>mapreduce.jobhistory.address</name><value>node1:10020</value></property><!-- 設置網頁訪問歷史任務的主機和端口 --><property><name>mapreduce.jobhistory.webapp.address</name><value>node1:19888</value></property> </configuration>

yarn-site.xml

<configuration><!-- Site specific YARN configuration properties --><!-- NodeManager獲取數據的方式shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>node1</value></property><!-- yarn的web訪問地址 --><property><description>The http address of the RM web application.If only a host is provided as the value,the webapp will be served on a random port.</description><name>yarn.resourcemanager.webapp.address</name><value>${yarn.resourcemanager.hostname}:8088</value></property><property><description>The https address of the RM web application.If only a host is provided as the value,the webapp will be served on a random port.</description><name>yarn.resourcemanager.webapp.https.address</name><value>${yarn.resourcemanager.hostname}:8090</value></property><!-- 開啟日志聚合功能,方便我們查看任務執行完成之后的日志記錄 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 設置聚合日志在hdfs上的保存時間 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property> </configuration>

slaves

slaves文件里面記錄的是集群主機名。一般有以下兩種作用:

  • 配合一鍵啟動腳本如start-dfs.sh、stop-yarn.sh用來進行集群啟動。這時候slaves文件里面的主機標記的就是從節點角色所在的機器。

  • 配合hdfs-site.xml里面dfs.hosts屬性形成一種白名單機制。

  • dfs.hosts指定一個文件,其中包含允許連接到NameNode的主機列表。必須指定文件的完整路徑名,那么所有在slaves中的主機才可以加入的集群中。如果值為空,則允許所有主機。

    cd /app/hadoop-2.10.1/etc/hadoop vi slaves # 刪除slaves中的localhost,然后添加以下內容 node1 node2 node3

    總結

    以上是生活随笔為你收集整理的Hadoop配置文件详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。