HDFS에 케이스 --shell 하둡 일반 데이터 수집

1.mkdir / 내보내기 / 데이터 / 로그

2.vi uploadHDFS.sh

1  # ! / 빈 / 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} / 빈 : $ PATH 
(11)  
(12) 수출 HADOOP_HOME = / 수출 / 서버 / 하둡
 (13) 수출 PATH = $ {HADOOP_HOME} / 빈 : $ {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 DATE 날짜 = '% + % Y_ % m_Low D_ H_의 %의 M은 _ %% S '
 40  #은 디렉토리에 업로드 할 파일을 이동 바꾸 
41 에코 " $ log_toupload_dir에 $ log_src_dir $ 파일명 이동 " 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) 에코" 퍼 팅 ... HDFS 경로 $ 선 ..... $ hdfs_root_dir는 " 
62 하둡 FS -mkdir -p $ hdfs_root_dir 
63 하둡 FS 저것 집어 넣어 $ 라인  $ 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