目次
配置文件
集群配置
配置Hadoop守护进程的运行环境
配置Hadoop守护进程的运行参数
Slaves
日志

Hadoop集群搭建

Jun 07, 2016 pm 04:41 PM
hadoop http 建てる 集まる

原文 ? http://blog.csdn.net/yang_best/article/details/41280553 接下来的几节描述了如何配置Hadoop集群。 配置文件 对Hadoop的配置通过 conf/ 目录下的两个重要配置文件完成: hadoop-default.xml 只读的默认配置。 hadoop-site.xml 集群特有的配置。 要

接下来的几节描述了如何配置Hadoop集群。

配置文件

对Hadoop的配置通过 conf/ 目录下的两个重要配置文件完成:

  1. hadoop-default.xml – 只读的默认配置。
  2. hadoop-site.xml – 集群特有的配置。

要了解更多关于这些配置文件如何影响Hadoop框架的细节,请看 这里 。

此外,通过设置 conf/hadoop-env.sh 中的变量为集群特有的值,你可以对 bin/ 目录下的Hadoop脚本进行控制。

集群配置

要配置Hadoop集群,你需要设置Hadoop守护进程的 运行环境 和Hadoop守护进程的 运行参数

Hadoop守护进程指 NameNode / DataNode 和 JobTracker / TaskTracker 。

配置Hadoop守护进程的运行环境

管理员可在 conf/hadoop-env.sh 脚本内对Hadoop守护进程的运行环境做特别指定。

至少,你得设定 JAVA_HOME 使之在每一远端节点上都被正确设置。

管理员可以通过配置选项 HADOOP_*_OPTS 来分别配置各个守护进程。 下表是可以配置的选项。

守护进程 配置选项
NameNode HADOOP_NAMENODE_OPTS
DataNode HADOOP_DATANODE_OPTS
SecondaryNamenode HADOOP_SECONDARYNAMENODE_OPTS
JobTracker HADOOP_JOBTRACKER_OPTS
TaskTracker HADOOP_TASKTRACKER_OPTS

例如,配置Namenode时,为了使其能够并行回收垃圾(parallelGC), 要把下面的代码加入到 hadoop-env.sh :

export HADOOP_NAMENODE_OPTS=”-XX:+UseParallelGC ${HADOOP_NAMENODE_OPTS}”

其它可定制的常用参数还包括:

  • HADOOP_LOG_DIR – 守护进程日志文件的存放目录。如果不存在会被自动创建。
  • HADOOP_HEAPSIZE – 最大可用的堆大小,单位为MB。比如, 1000MB 。 这个参数用于设置hadoop守护进程的堆大小。缺省大小是 1000MB 。

配置Hadoop守护进程的运行参数

这部分涉及Hadoop集群的重要参数,这些参数在 conf/hadoop-site.xml 中指定。

参数 取值 备注
fs.default.name NameNode 的URI。 hdfs://主机名/
mapred.job.tracker JobTracker 的主机(或者IP)和端口。 主机:端口
dfs.name.dir NameNode 持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
dfs.data.dir DataNode 存放块数据的本地文件系统路径,逗号分割的列表。 当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。
mapred.system.dir Map/Reduce框架存储系统文件的HDFS路径。比如/hadoop/mapred/system/。 这个路径是默认文件系统(HDFS)下的路径, 须从服务器和客户端上均可访问。
mapred.local.dir 本地文件系统下逗号分割的路径列表,Map/Reduce临时数据存放的地方。 多路径有助于利用磁盘i/o。
mapred.tasktracker.{map|reduce}.tasks.maximum 某一 TaskTracker 上可运行的最大Map/Reduce任务数,这些任务将同时各自运行。 默认为2(2个map和2个reduce),可依据硬件情况更改。
dfs.hosts/dfs.hosts.exclude 许可/拒绝DataNode列表。 如有必要,用这个文件控制许可的datanode列表。
mapred.hosts/mapred.hosts.exclude 许可/拒绝TaskTracker列表。 如有必要,用这个文件控制许可的TaskTracker列表。

通常,上述参数被标记为 final 以确保它们不被用户应用更改。

现实世界的集群配置

这节罗列在大规模集群上运行 sort 基准测试(benchmark)时使用到的一些非缺省配置。

  • 运行sort900的一些非缺省配置值,sort900即在900个节点的集群上对9TB的数据进行排序:
    参数 取值 备注
    dfs.block.size 134217728 针对大文件系统,HDFS的块大小取128MB。
    dfs.namenode.handler.count 40 启动更多的NameNode服务线程去处理来自大量DataNode的RPC请求。
    mapred.reduce.parallel.copies 20 reduce启动更多的并行拷贝器以获取大量map的输出。
    mapred.child.java.opts -Xmx512M 为map/reduce子虚拟机使用更大的堆。
    fs.inmemory.size.mb 200 为reduce阶段合并map输出所需的内存文件系统分配更多的内存。
    io.sort.factor 100 文件排序时更多的流将同时被归并。
    io.sort.mb 200 提高排序时的内存上限。
    io.file.buffer.size 131072 SequenceFile中用到的读/写缓存大小。
  • 运行sort1400和sort2000时需要更新的配置,即在1400个节点上对14TB的数据进行排序和在2000个节点上对20TB的数据进行排序:
    参数 取值 备注
    mapred.job.tracker.handler.count 60 启用更多的JobTracker服务线程去处理来自大量TaskTracker的RPC请求。
    mapred.reduce.parallel.copies 50
    tasktracker.http.threads 50 为TaskTracker的Http服务启用更多的工作线程。reduce通过Http服务获取map的中间输出。
    mapred.child.java.opts -Xmx1024M 使用更大的堆用于maps/reduces的子虚拟机

Slaves

通常,你选择集群中的一台机器作为 NameNode ,另外一台不同的机器作为JobTracker 。余下的机器即作为 DataNode 又作为 TaskTracker ,这些被称之为slaves

在 conf/slaves 文件中列出所有slave的主机名或者IP地址,一行一个。

日志

Hadoop使用 Apache log4j 来记录日志,它由 Apache Commons Logging 框架来实现。编辑 conf/log4j.properties 文件可以改变Hadoop守护进程的日志配置(日志格式等)。

历史日志

作业的历史文件集中存放在 hadoop.job.history.location ,这个也可以是在分布式文件系统下的路径,其默认值为 ${HADOOP_LOG_DIR}/history 。jobtracker的web UI上有历史日志的web UI链接。

历史文件在用户指定的目录 hadoop.job.history.user.location 也会记录一份,这个配置的缺省值为作业的输出目录。这些文件被存放在指定路径下的“_logs/history/”目录中。因此,默认情况下日志文件会在“mapred.output.dir/_logs/history/”下。如果将hadoop.job.history.user.location 指定为值 none ,系统将不再记录此日志。

用户可使用以下命令在指定路径下查看历史日志汇总

$ bin/hadoop job -history output-dir

这条命令会显示作业的细节信息,失败和终止的任务细节。

关于作业的更多细节,比如成功的任务,以及对每个任务的所做的尝试次数等可以用下面的命令查看

$ bin/hadoop job -history all output-dir

一但全部必要的配置完成,将这些文件分发到所有机器的 HADOOP_CONF_DIR 路径下,通常是 ${HADOOP_HOME}/conf 。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

http ステータス コード 520 は何を意味しますか? http ステータス コード 520 は何を意味しますか? Oct 13, 2023 pm 03:11 PM

HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

ノードが Proxmox VE から完全に退避し、クラスターに再参加します ノードが Proxmox VE から完全に退避し、クラスターに再参加します Feb 21, 2024 pm 12:40 PM

ノードが ProxmoxVE から完全に退避し、クラスターに再参加するためのシナリオの説明。ProxmoxVE クラスター内のノードが損傷し、すぐに修復できない場合、障害のあるノードをクラスターから完全に追い出し、残留情報をクリーンアップする必要があります。そうしないと、障害ノードが使用していた IP アドレスを使用する新しいノードが正常にクラスターに参加できなくなり、同様に、クラスターから切り離された障害ノードが修復された後、クラスターとは関係ありませんが、クラスターに参加できなくなります。この単一ノードの Web 管理にアクセスできなくなり、バックグラウンドで元の ProxmoxVE クラスター内の他のノードに関する情報が表示され、非常に迷惑になります。クラスターからノードを削除します。ProxmoxVE が Ceph ハイパーコンバージド クラスターの場合、ホスト システム Debian 上のクラスター内の任意のノード (削除するノードを除く) にログインし、コマンドを実行する必要があります。

httpリクエスト415エラーの解決策 httpリクエスト415エラーの解決策 Nov 14, 2023 am 10:49 AM

解決策: 1. リクエスト ヘッダーの Content-Type を確認する; 2. リクエスト本文のデータ形式を確認する; 3. 適切なエンコード形式を使用する; 4. 適切なリクエスト メソッドを使用する; 5. サーバー側のサポートを確認する。

HTTP 200 OK: 成功した応答の意味と目的を理解する HTTP 200 OK: 成功した応答の意味と目的を理解する Dec 26, 2023 am 10:25 AM

HTTP ステータス コード 200: 成功した応答の意味と目的を調べる HTTP ステータス コードは、サーバーの応答のステータスを示すために使用される数値コードです。このうち、ステータス コード 200 は、リクエストがサーバーによって正常に処理されたことを示します。この記事では、HTTP ステータス コード 200 の具体的な意味と使用法について説明します。まず、HTTP ステータス コードの分類を理解しましょう。ステータス コードは、1xx、2xx、3xx、4xx、5xx の 5 つのカテゴリに分類されます。このうち、2xx は成功応答を示します。 200 は 2xx で最も一般的なステータス コードです

C++ を使用して HTTP ストリーミングを実装するにはどうすればよいですか? C++ を使用して HTTP ストリーミングを実装するにはどうすればよいですか? May 31, 2024 am 11:06 AM

C++ で HTTP ストリーミングを実装するにはどうすればよいですか? Boost.Asio と asiohttps クライアント ライブラリを使用して、SSL ストリーム ソケットを作成します。サーバーに接続し、HTTP リクエストを送信します。 HTTP 応答ヘッダーを受信して​​出力します。 HTTP 応答本文を受信して​​出力します。

ミストロック王国の自然の中に建物を建てることはできますか? ミストロック王国の自然の中に建物を建てることはできますか? Mar 07, 2024 pm 08:28 PM

ミストロック王国でプレイするとき、プレイヤーはさまざまな材料を集めて建物を建てることができます。多くのプレイヤーは、野生で建物を建てるべきかどうか知りたいと考えています。ミストロック王国では、建物は野生で建てることはできません。祭壇の範囲内になければなりません。 。ミストロック王国の自然の中に建物を建てることはできますか? 答え: いいえ。 1. ミストロックキングダムの荒野には建物を建てることができません。 2. 建物は祭壇の範囲内に建てなければなりません。 3. プレイヤーは自分で精霊の火の祭壇を設置できますが、範囲を離れると建物を建設できなくなります。 4. 山に直接穴を掘って家にすることもできるので、建築資材を消費する必要がありません。 5. プレイヤー自身が建てた建物には快適性のメカニズムがあり、内装が良いほど快適性が高くなります。 6. 高い快適性により、プレイヤーに属性ボーナスがもたらされます。

HTTP リクエストのタイムアウトに対してどのようなステータス コードが返されますか? HTTP リクエストのタイムアウトに対してどのようなステータス コードが返されますか? Feb 18, 2024 pm 01:58 PM

HTTP リクエストがタイムアウトになり、サーバーから 504GatewayTimeout ステータス コードが返されることがよくあります。このステータス コードは、サーバーがリクエストを実行しても、リクエストに必要なリソースを取得できないか、一定時間が経過してもリクエストの処理を完了できないことを示します。これは 5xx シリーズのステータス コードで、サーバーに一時的な問題または過負荷が発生し、その結果クライアントのリクエストを正しく処理できなくなったことを示します。 HTTP プロトコルでは、さまざまなステータス コードに特定の意味と用途があり、504 ステータス コードはリクエストのタイムアウトの問題を示すために使用されます。顧客の中で

See all articles