HDFSのケース--shell Hadoopの定期的なデータ収集

1.mkdir /エクスポート/データ/ログ

2.vi uploadHDFS.sh

1  !/ binに/ bashの
2  
3  
4  
5  配置环境变量
6  
7輸出JAVA_HOME = /エクスポート/サーバ/ JDK
 8エクスポートJRE_HOME = $ {JAVA_HOME} / JRE
 9エクスポートCLASSPATH = .: $ {JAVA_HOME} / LIB:$ {JRE_HOME} / LIB
 10エクスポートPATH = $ {JAVA_HOME} / binに:$ PATH 
11  
12エクスポートHADOOP_HOME = /エクスポート/サーバ/ Hadoopの
 13エクスポートPATH = $ {HADOOP_HOME} / binに:$ {HADOOP_HOME} / sbinに:$ PATH 
14 
15  
16  ログファイル格納ディレクトリ
17 log_src_dir = /エクスポート/データ/ログ/ログ/
 18である 
。19  ディレクトリは、ファイルストレージにアップロードする
20である log_toupload_dir = /エクスポート/データ/ログ/ toupload /
 21で 
22である セット日付
23は日付1 = `最後の日+ -d-DATE Y _ %%% m_LowはD '
 24個の 
25  HDFSのルートパスにアップロードされたログファイル
26をされ hdfs_root_dir = /データ/ clickLog / $日付1 /
 27  
28  
29  
30  印刷環境変数情報
31があるエコーENVS: HADOOP_HOME:$ HADOOP_HOMEは" 
32  
33  #のカタログは、ファイルをアップロードするかどうかを判断するためにログファイルを読み込み、
34れるエコー" log_src_dir:" $ log_src_dir 
35の 
36 LS log_src_dirを$ | ながら読むfileNameに
 37  行う
38は、 IF [[ " $ fileNameに" == *のaccess.log。]];次に
 39日付= `%+%Y_%m_Low D_ H_%のM _ %% S '
 40の #はディレクトリにアップロードするファイルを移動し、名前の変更
41エコーを" $ log_toupload_dirに$ log_src_dir $ fileNameに移動" xxxxx_click_log_ $ fileNameに" $ DATE " 
42 MV $ log_src_dir $ fileNameに | しばらく読み取りライン

 

   
 
50  行う
51  
52  印刷情報
53エコーtouploadは、ファイル内にある:$ラインは
54  ファイルリストwillDoing名前を変更したwillDoing_COPY_アップロードされます
55のmv $ log_toupload_dir $ライン $ log_toupload_dir $ライン_COPY_ 
56  #はファイルのリストの内容を読むことをwillDoing_COPY_ (アップロードするファイルの名前)
57  #のパスラインは、ここでアップロードするファイルのリストである
58 CATの$ラインlog_toupload_dir $ _COPY_を | ながら読むライン
 59は 行う
60  #の印刷情報
61エコーを" puting ... HDFSパスに$ラインを..... $ hdfs_root_dir " 
62 HadoopのFS -mkdir -p $ hdfs_root_dir 
63のHadoop FS -put $行 $ hdfs_root_dir 
64  行なわ
 65のmv $ log_toupload_dir $ライン" _COPY_ "  $ log_toupload_dir $ライン_DONE_ 
66行って

3.mkdir /エクスポート/データ/ログ/ログ/

4.viのaccess.log access.log.1 access.log.2

5.sh uploadHDFS.sh

おすすめ

転載: www.cnblogs.com/-StarrySky-/p/11908397.html