ファイルシステムとHadoop:Twitterエクスペリエンス(部2)

私たちの仕事の主な原則は、IT分野に出会ったことのない人でもIaaSをシンプルで理解できるようにすることです。 そのため、すべてのシステムの継続的な最適化を実施し、Habréのブログで何ができたかについて話します。



いくつかの例:





本日、Hadoopクラスターを操作するためのファイルシステムの作成に関するTwitterエンジニアリングチームのメモの簡単な分析を続けることにしました。





/写真メルカドヴィアジェンス / CC



Twitterエンジニアによる追加のテーマ開発は、 Nflyプロジェクトです。 そのタスクは、複数のクラスターに対して単一のリンクViewFが作成されるようにすることです。



その核となるのは、単調で、異なるデータセンターでの作業を簡素化する仮想ファイルシステムを作成するようなものです。 単一の論理パスに加えて、/ DC1 / Cが利用できない場合に、サービスが/ DC2 / Cクラスターからデータを読み取ることができる状況になる可能性があります。



エンジニアはChRootedFileSystemを使用します。 このアプローチにより、パスのルート部分を置き換え、hdfs:// dc1-A-user / user / lohitの形式のパスを使用できます。これにより、異なるデータセンターにある複数のファイルシステムを操作できます。



これで、リンクはChRootedFileSystemの「ラッパー」を使用して同期的に呼び出される多くのファイルシステムを表します。 ここでは、Nflyが関係しています。これは、多数の物理パスに対して1つの論理パスを設定します。



この場合、Nflyは一時ファイルを作成し、その後、mtimeスタンプが提供され、トランザクション全体のエラーがチェックされます。 一時的なスタンプで並べ替えることができます。 このアプローチでは追加のコンピューティングリソースを使用しますが、この段階では非常に難しいと思われるシステムでの作業を許可します。ViewFs設定を理解し、Nflyを使用する必要があります。



データを扱うという観点から、エンジニアはプロセスをより理解しやすくする、より柔軟なツールを手に入れます。 たとえば、すべてのデータセンターの特定のユーザーのクラスターXを取得するには、-Dfs.nfly.mount = Xのみを指定する必要があります。



このシステムの最適化に関するその後の作業は、マウントテーブルの数を減らし、Merge FileSystemを使用して、追加の設定を追加せずにネームスペースを分割できるようにすることです。



PS仮想インフラストラクチャプロバイダーの作業について少し説明します。






All Articles