36
© Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 1 Linux勉強会 Hadoopと高可用性~ Hadoop入門 日本ヒューレット・パッカード株式会社 ESSNプリセールス統括本部 エンタープライズサーバー・ストレージ技術第1本部 Linuxソリューション部 Cloudera Certified Administrator for Apache HadoopCCAH(認定技術者 古賀 政純 Twitter@masazumi_koga 2012421'土(

Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

  • Upload
    voquynh

  • View
    222

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

© Copyright 2011 Hewlett-Packard Development Company, L.P. The information

contained herein is subject to change without notice.

1

Linux勉強会 ~Hadoopと高可用性~

Hadoop入門

日本ヒューレット・パッカード株式会社 ESSNプリセールス統括本部 エンタープライズサーバー・ストレージ技術第1本部 Linuxソリューション部 Cloudera Certified Administrator for Apache Hadoop'CCAH(認定技術者 古賀 政純 Twitter: @masazumi_koga 2012年4月21'土(

Page 2: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

2

Hadoop とは

Page 3: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

3

背景:データ処理のニーズの変化

定型処理 非定型処理

• 人間が介在しない完全な自動化が可

• 厳密さが求められる

• トランザクション管理

• データ量は多くてもGbytesオーダー

• 給与計算、売上集計、伝票処理など

•人間の介在が必要

•厳密さよりカバレッジ重視(データ量が

重要)

•データ量はTbytes~Pbytesオーダーにな

り得る

•スケールアウトによる性能向上

•統計データ作成、検索、データ・マイ

ニングなど

RDBMSが得意とする領域 RDBMSが苦手とする領域

従来からの定型処理に加え近年では、非定形処理が必要になってきた。

Page 4: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

4

Hadoopが必要か?

• ペタ級のデータ処理

–テラ級ならRDBMSで処理可能

項目 RDBMS Hadoop

データサイズ ~テラ ペタ

想定データ操

小さなデータ

参照/更新

大きなデータ

挿入/参照

レスポンス 速い 遅い

スケールアッ

プ・アウト

せいぜい1ケタ

台のサーバ

数十台~数千

データ構造 構造化データ 準構造化デー

データサイズ大

データサイズ小

レスポンス長い

レスポンス短い

DWH アプライアンス

RDBMS

Page 5: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

5

Hadoop開発の歴史的経緯 GoogleFileSystemやMapReduceなどと呼ばれる分散処理技術を独自に開発。ソースコードではなく、その仕組みを論文として発表'2004年(

膨大なデータに対する検索処理で課題を抱えていたYahoo Inc.は、著名なエンジニアであるDoug Cutting氏を中心に上記論文を元に、Hadoopを開発。 Apache Hadoopプロジェクトとして公開され、オープンソースソフトウェアとして開発が進む。

米国を中心に利用が進み、Hadoop自体も様々な改良が加えられる。

日本でも導入事例が増えつつある。

Page 6: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

6

なにをHadoopに期待するか

–過去できない/できなかったことの実現

−ペタ級のデータ処理

従来方式との差がなにか実感できるようなことがで

きないか

やっぱり、データ検索/集計だよね

レポートのたびにJavaで開発する

のは…

Page 7: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

7

業務系ITにおける、RDBMS、DWH および Hadoopの位置づけ

RDBMS Oracle / MySQL MS SQL Server など

データウェアハウス RDBMS/DWH専用機

トランザクション処理

Hadoopクラスタ

データ分析

BI

データ蓄積

非構造型データ 膨大な過去データ

複雑かつ大量のデータを高速に分析

Page 8: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

8

結局、Hadoopとは?

既存のRDBMSと置き換わるものではない

Page 9: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

9

Hadoopの分散ファイルシステム'HDFS(を知る

Page 10: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

10

HDFSのデータ保持、管理概要

Name Node

Master Node

1 2 3 4

ブロック

1 4

クライアント

データ

4 1 1 4

2 2 2 3

3 3

問い合わせ

メタデータ管理 DataNode 状態監視

ブロック管理

1 2 3

4

DataNodes

Name Nodeを利用して、

データをブロックに分割し、DataNodeに配置

1つのブロックを複数の、DataNodeに複製'複製数:3(

Page 11: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

11

HDFSを体験しよう: 例1(巨大なファイルをHDFSにコピー&様子を見る

•HDFSに置きたいファイルを生成する。今回はファイルサイズが10GBのファイルを生成する。 # dd if=/dev/zero of=/tmp/file10GB bs=1024M count=10

# ls -lh /tmp/file10GB

-rw-r--r-- 1 root root 10G 3月 1 02:41 /tmp/file10GB

コピー元の巨大ファイル: /tmp/file10GB

分散FS HDFS

Page 12: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

12

HDFSを体験しよう: 例1(巨大なファイルをHDFSにコピー&様子を見る

HDFS上に保存用のディレクトリを生成する。Cloudera版Hadoopにおいて、 HDFSの操作は、アカウントhdfsで行う。 # su – hdfs

$ whoami

hdfs

$ hadoop fs –mkdir /user/hdfs/BIGFILEDIR/

Name Nodeの/tmpに作成した10GBのファイルfile10GBをHDFSにコピーする。 $ hadoop fs -put /tmp/file10GB /user/hdfs/BIGFILEDIR/

上記コマンドを実行することで、データノードで構成されているHDFSに、目的のファイル file10GBがコピーされる。

Page 13: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

13

HDFSを体験しよう: 例1(巨大なファイルをHDFSにコピー&様子を見る •WebブラウザでHDFSの使用量を確認する。Webブラウザで、Name NodeのIPアドレスまたはホスト名に50070ポートでアクセスする。

Webブラウザをリロードすると、「DFS Used」の値が変化することがわかる。 上記例は、10GBのファイルのコピー途中での様子 '4GBあたりまでコピーした状態で画面ダンプを取得した(

10GBのファイルのコピー操作を 行う前の段階。 「DFS Usedは1.41MB」である。

HDFS上にファイルfile10GBがコピーされていることを確認する。 $ hadoop fs -ls /user/hdfs/BIGFILEDIR/

Found 1 items

-rw-r--r-- 2 hdfs supergroup 10737418240 2011-03-01 02:51 /user/hdfs/BIGFILEDIR/file10GB

Page 14: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

14

HDFSの基礎

•前提となる考え •構成されるノードは障害率が高いという前提で進める。 •安価なサーバーはいつダウンしてもおかしくないという考え。

•ファイルサイズ •HDFSで取り扱うファイルは 数TB~PBクラス •一つのファイルサイズが巨大

•アクセス •ファイルはライトワンス。 •大規模なストリーミングリード。 •ランダムアクセスはしない。

•性能、特徴 •安定したスループットを目的とする。 •低レイテンシではない。

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

HDFSのブロック書き込み例

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

ブロック'128MB(

HP ProLiant DL2000

Page 15: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

15

Hadoopが提供するMap Reduceを知る

Page 16: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

16

Map処理とReduce処理の例: 文字例のカウントを行う

<Hello, 1回出現> <World, 1回出現> <Bye, 1回出現> <World, 1回出現>

<Hello, 2個> <World, 2個> <Bye, 1個> <Bob, 1個>

出力 Bob 1 Bye 1 Hello 2 World 2

Map

Reduce

<Hello, 1回出現> <Bob, 1回出現>

入力

Hello World Bye World

Hello Bob

Hello World Bye

World

Hello Bob

Map

テキストの1行目

テキストの2行目

処理対象となるログデータ等を入力にする。 Map処理: ログデータを行毎に処理して、検索結果をキーと値の組にする Reduce処理: 同じキー'文字列(を集計し、結果を出す。

Page 17: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

17

Map Reduceを体験しよう: 例2(テキストファイルの単語数をカウントする

•対象のテキストファイル例: /usr/share/doc/glibc-2.5/以下のテキストファイル「NEWS」

調査対象となる

入力ファイル:/usr/share/doc/glibc-2.5/NEWSファイル Map Reduce the 315

* 314

NEW: 313

and 192

C 173

to 152

ISO 149

for 147

9x 141

of 135

The 127

by 115

得たい結果: 単語数のリスト

GNU C Library NEWS -- history of user-visible changes.

2006-09-29

Copyright (C) 1992-2002,2003,2004,2005,2006 Free

Software Foundation, Inc.

See the end for copying conditions.

Please send GNU C library bug reports via

<http://sources.redhat.com/bugzilla/>

using `glibc' in the "product" field.

^L

Version 2.5

* For Linux, the sorting of addresses returned by

getaddrinfo now also

handles rules 3, 4, and 7 from RFC 3484. I.e., all

rules are handled.

Implemented by Ulrich Drepper.…

Page 18: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

18

HDFSに配置したINDIR/NEWSファイルをHadoopのMap Reduceで分散処理を行う $ cd $HOME; pwd

/usr/lib/hadoop-0.20

$ whoami

hdfs

$ hadoop jar contrib/streaming/hadoop-streaming-0.20.2-CDH3B4.jar ¥

-file bin/map.py -mapper bin/map.py -file bin/red.py -reducer bin/red.py ¥

-input INDIR -output OUTDIR1

...

11/03/01 01:48:08 INFO streaming.StreamJob: map 0% reduce 0%

11/03/01 01:48:10 INFO streaming.StreamJob: map 50% reduce 0%

11/03/01 01:48:11 INFO streaming.StreamJob: map 100% reduce 0%

11/03/01 01:48:17 INFO streaming.StreamJob: map 100% reduce 33%

11/03/01 01:48:19 INFO streaming.StreamJob: map 100% reduce 100%

11/03/01 01:48:20 INFO streaming.StreamJob: Job complete: job_201102281749_0005

11/03/01 01:48:20 INFO streaming.StreamJob: Output: OUTDIR1

$ hadoop dfs -ls

Found 2 items

drwxr-xr-x - hdfs supergroup 0 2011-03-01 01:10 /user/hdfs/INDIR

drwxr-xr-x - hdfs supergroup 0 2011-03-01 01:48 /user/hdfs/OUTDIR1

•出力するディレクトリにOUTDIR1を指定したので HDFS上にOUTDIR1が生成されていることがわかる

Hadoop Streamingを利用することで、Javaで記述しなくても、PythonやPerlなどの スクリプトでMapReduceを実現できる。

Map Reduceを体験しよう: 例2(テキストファイルの単語数をカウントする

Page 19: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

19

Hadoop Hive

Page 20: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

20

データウェアハウスとしてHive

– Facebookのジョブの95%は、Hive –非常に早く書くことができ、普通は約10分しかかからない – HiPalというwebベースのツール

•Hiveを使うビジネスアナリストが、簡単にクエリを書ける

•データウェアハウスにロードされている20000のテーブルを調べることができる

•'HiPalは、公開されていない(

–日に1回のバッチ処理からリアルタイムなクエリにずっと近いものに変化

–最も速いクエリを1分以内で返すことができるシステムを開発

することが、全く新しい領域のアプリケーションを切り開くキーとなる

Page 21: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

21

FacebookのHadoopの現状

–Facebookは、引き続きHadoop技術に投資

–彼らが使っているHive (彼らが始めた) や HBase のよ

うなオープンソース プロジェクトに貢献

–コンピューティング クラスタで、大規模なデータを処理

–Hadoopとのデータベースの統合

–高可用性、低遅延なアプリケーションをサポートする

アーキテクチャを有している。

Page 22: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

22

Hadoopのシステム構成例

Page 23: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

23

Hadoopのシステム構成考慮点: 小規模から大規模クラスタ構成'1000ノード(へ

Hadoop管理ノード: •Hadoop Name Node •Hadoop Job Tracker

Lights

-Out1

00

HP ProLiant SL170s G6

ラック

HP ProLiant SL170s G6 x1 CPU: 2x QC Xeon Mem: 18GB Disk : 500GB x 4 SAS

Lights

-Out1

00

ラック

コアスイッチ 'アグリゲーション(

コアスイッチ 'アグリゲーション(

ネームノード'HA( セカンダリ・ネームノード

ジョブ・トラッカー

ジョブ・トラッカーの フェールバック先

ジョブ・トラッカーの フェールバック先

HP CMU/HP SIM Nagios/Ganglia

10GbE 10GbE 10GbE

管理ノード・ラック

•Name Nodeは大容量メモリで構成: データノードのデータ量が大きくなると、ネームノードのメモリ中のメタデータが大きくなるため。 •Name NodeはHA化 •Heartbeat + DRBD

Page 24: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

24

HadoopにおけるRack Awareness構成例

Rack2 Rack3

– エンクロージャ障害、ラック障害に対応させるためのHadoopの機能

– レプリカはラックを跨いでHDFSに保存される

– NameNodeはラックを跨いでHA化

Rack1

Client Client

Block 1

BLock 2

Block 3

ファイル

処理

ファイルは、

ブロックに分割される

Block 1

BLock 2

Block 3

Block 1

BLock 2

Block 3

レプリカ:3

Rack Awareness:

ブロックはラックをまたいでレプリケーションさせる。

所属するラックまたはエンクロージャをIPアドレス

の範囲などで区分けし、Hadoopに設定。

Page 25: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

25

Hadoopのシステム構成考慮点: Nagiosを使ったHadoopクラスタの監視

Data nodeのtasktrackerのポート監視を行う NagiosプラグインをNagiosにインストール

Data nodeのポート監視を行う NagiosプラグインをNagiosにインストール

HDFSのディスク使用量を監視する Nagiosプラグインcheck_hadoop_metrics をインストール

Page 26: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

26

Hadoopのシステム構成考慮点: Gangliaを使ったHadoopクラスタの監視

Name NodeとData Nodeのマルチキャスト アドレスは異なる値にすることが望ましい /etc/sysconfig/network-scripts/route-ethXの値

/etc/hadoop/conf.XXXにあるhadoo-metrics.properties ファイルにDFSに関する マルチキャストアドレスを記述

Page 27: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

27

Hadoopのシステムインテグレーション

Page 28: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

28

Hadoopのサイジング: コモディティハードウェアはローエンドという意味ではない

The Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware.

Cloudera社のサイトにあるData nodeとTask Trackerのハードウェア例: http://www.cloudera.com/blog/2010/03/clouderas-support-team-shares-some-basic-hardware-recommendations/ 抜粋: There are four types of nodes in a basic Hadoop cluster. We refer here to a node as a machine performing a particular task. Most of the machines will function as both datanodes and tasktrackers. As we described, these nodes both store data and perform processing functions. We recommend the following specifications for datanodes/tasktrackers in a balanced Hadoop cluster:

•4 1TB hard disks in a JBOD (Just a Bunch Of Disks) configuration •2 quad core CPUs, running at least 2-2.5GHz •16-24GBs of RAM (24-32GBs if you’re considering HBase) •Gigabit Ethernet

出典: http://hadoop.apache.org/common/docs/r0.18.0/hdfs_design.pdf

Page 29: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

29

Hadoopのサイジング: コモディティハードウェアはローエンドという意味ではない

出典:http://hadoopblog.blogspot.com/2010/05/facebook-has-worlds-largest-hadoop.html

FacebookにおけるHadoop Data Node1台あたりのスペック: CPU: 16コア Mem: 32GB Disk: 12~24TB

Page 30: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

30

Hadoopのサイジング: コモディティハードウェアはローエンドという意味ではない

出典: http://developer.yahoo.com/blogs/ hadoop/posts/2010/05/scalability_of_the_hadoop_dist/

1億個のファイル'2億ブロックを参照(を格納するために、Name Node は最低でも60GB のRAM を持つべきである。

Yahooが提案するHadoopの性能に関する考察 •1億ファイルではName Nodeのメモリ60GB以上必要 •1PBの物理ストレージ容量確保には、メタデータ用のRAMが約1GB必要 •1億ファイルに必要なHDFSクラスタは、10000ノードで、1ノードあたり8TBのディスクが必要

Page 31: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

31

• 2011年下半期以降

米国HPにおけるHadoop/OSSの取り組み・最新情報

米国本社HPのOSS取り組み・最新情報

Page 32: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

32

Hadoop in a Data Warehouse

Apache Hadoop

Flume Connector

SQOOP Connector

MySQL

H D F S Log Files

Relational Data

Extract, Transform & Load

海外OSS最新情報

Page 33: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

33

eBay 海外Hadoop情報

•使用しているコンポーネント •Java MapReduce •Pig •Hive •HBase

•用途: •検索 •研究

•監視 •Ganglia •Nagios

出典: http://vimeo.com/24541769 '2011年時点(

Page 34: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

34

Hadoop at Macy’s 海外Hadoop情報

出展:http://www.basas.com/newsletters/20110705/Presentation/Kerem%20Tomak.ppt

Page 35: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

35

HP POD

コンテナ型データセンター HP PODに搭載されている

HP ProLiant SLシリーズ

HP POD内のHP ProLiantサーバー 米国本社HP最新情報

データセンターの耐荷重を気

にせず空き倉庫に設置

OSSを駆使した大規模分散

システムを導入されるお客様

向けに適

Page 36: Linux勉強会 ~Hadoopと高可用性~ Hadoop入門 · PDF fileHadoop が必要か? ... using `glibc' in the "product" field. ^L Version 2.5 * For Linux, the sorting of addresses

36

Thank you!!