블로그 이미지
개발 블로그였지만 맛집을 더 많이 올리고있어서 잡동사니로 재 명명함ㅋㅋ 꽃현주

카테고리

분류 전체보기 (24)
Essay (1)
Development (12)
Python (1)
Cascading (3)
Java (0)
Linux (7)
Tip/Info (8)
Book (1)
Item (2)
Total
Today
Yesterday

hive beeline을 사용하는데, background job이 실행되지 않을 때 해결 방법

(방법이라 쓰고 꼼수라고 읽는다.) 


shell script에서 beeline을 호출해서 background 작업을 돌리려 했다. 

늘 그렇듯 그냥 돌리면 잘 돌아감 ㅠㅠ


하지만 background job으로 실행하니 hive 쿼리 날리는 부분에서 한참동안 어떠한 메시지도 뜨지 않고 실행도 되지 않았다. 

한참 후에 오류 메시지를 보니 JLine 부분에서 오류가 난 것이었다. 


알고보니 JLine에서는 콘솔에 값을 리턴해주려하는데, 

background job을 돌리니 콘솔에 출력하기 위한 정보를 읽어 올 수 없어 오류가 났던 것!!


그래서 screen을 사용해서 session이 끊어 지지 않도록 하고, 그 곳에서 script를 실행 시켰다. 


해결방법: screen을 사용해라!! 

스크린이 무엇인지 모르겠따면??

요 링크 참조 (알기 쉽게 설명해둠) >> http://forum.falinux.com/zbxe/index.php?document_srl=530766&mid=lecture_tip

Posted by 꽃현주
, |

 

내 블로그를 이용한 댄싱킹 JH님 덕분에 힘이 솟아서 간단한 원격 명령 팁을 적도록 하겠음 ㅎㅎㅎㅎ 헤헤헷

 

 #ssh id@remote_server "command"
ssh hadoop@server2 "java -jar /app/sms/sms-client.jar -f 01022220000 -t 01022223333 \"message\""

너무 간단해서 적을 게 없네 ㅠㅠ 리눅스 카테고리에 적는건 전부 개발이아니라 사실 팁이네요 하하하하

 

자매품인 SSH 자동 접속은 이 포스팅 참고하쎄요~!>> http://joodev.tistory.com/7

 

Posted by 꽃현주
, |

디렉토리의 용량 유지를 위한 스크립트

파일명을 오름차순으로 정렬하여 위에 있는 파일 삭제!!!! 

파일명에 시간이 들어있어서 파일명으로 정렬하도록 했음. 

(생성시간으로 정렬하면 재실행할 경우 순서가 뒤바뀔 수 있는 상황) 

#!/bin/bash

#파일 리스트의 위치를 지정하고 maxSize(G) 를 지정!

backup="/data/targz" # backup 변수에 위치를 변경 시켜주면 됨 
maxSize=70
backDirSize=`/usr/bin/du $backup | /bin/awk '{printf "%.lf",$1/1024/1024}'`
oldFile=`/bin/ls -ll $backup | grep ^- | /bin/awk -F' ' '{print $NF}' | head -1`

echo "backDirSize: $backDirSize"
echo "backDirSize: `/usr/bin/du $backup | /bin/awk '{printf "%.3lf",$1/1024/1024}'`"
echo "oldFile: $oldFile"

while [[ $maxSize -lt $backDirSize ]]; do
    rm -f $backup/$oldFile
    echo "delete file $backup/$oldFile"
    backDirSize=`/usr/bin/du $backup | /bin/awk '{printf "%.lf",$1/1024/1024}'`
    oldFile=`/bin/ls -ll $backup | grep ^- | /bin/awk -F' ' '{print $NF}' | head -1`

    echo "backDirSize: $backDirSize"
    echo "backDirSize: `/usr/bin/du $backup | /bin/awk '{printf "%.3lf",$1/1024/1024}'`"
    echo "oldFile: $oldFile"

done 


Posted by 꽃현주
, |

나중에 내가 또 보려고 정리 ㅋㅋㅋ ㅎㅎㅎㅎ내머릿속에 지우개 ㅋㅋ


증상

(1) vi에서 문서를 열고 닫았는데 터미널에 Text가 그대로 보일 때 

(2) source .vimrc 를 했는데 'syntax on' 이 적용 되지 않을 때

set autoindent
set cindent
set smartindent
set wrap
set nobackup
set ts=4 et
set nowrap
set hls
set sm
set sw=4 sts=4
syntax on

(3) 위의 명령어를 .vimrc에 적용 했는데도, vi에서 코드의 색이 변경 되지 않고 이쁘지 않을 때

(4) vi/vim에서 텍스트가 잘 써지지 않을 때

(5) 터미널에서 동작이 매끄럽지 못할 때  

아무튼 쩔게 이래저래 구릴때 ㅠㅠ



해결책

> echo $TERM 

vt100    

이라면,

.bashrc 파일에

export TERM='xterm' 를 추가 해줌!

그리고

reboot

or

source .bashrc!!

출처: ㅎㅂㅈㅎ 님

Posted by 꽃현주
, |

********************************

Python - BeautifulSoup

********************************

Python에서 BeautifulSoup라이브러리를 사용한 Script 실행시 (크론에서)


(1) 그냥 실행하면 -> 잘 돌아간다.

(2) cron에 넣은 명령을 command line에 그대로 복사해서 붙여 넣어도 -> 잘 돌아간다.

(3) 그런데!! cron에 지정한 시간대에 자동 실행시 -> 라이브러리를 찾지 못하는 오류 발생!!  

Traceback (most recent call last):
  File "/home/script.py", line 4, in <module>
    from bs4 import BeautifulSoup
ImportError: No module named bs4 


solution
cron에 site-packages path추가! 

0 11 * * * PYTHONPATH=/app/python/lib/python2.7/site-packages/ python /home/script.py &> /home/script.py/cron_logs/`/bin/date +\%Y\%m\%d\%H\%M`.log


http://stackoverflow.com/questions/2388087/how-to-get-cron-to-call-in-the-correct-paths << 이 링크의 방법을 참고해도 됨



********************************

Bash Script - Hive

********************************

cron으로 돌릴 때 bash script에서 hive 조회가 안됐다..!! - - 

cron은 이래저래 테스트를 많이 해야되는구나.ㅠ.ㅠㅠㅠㅠㅠ

source ~/.bash_profile 을 추가해줌!! 

 28 * * * *  source ~/.bash_profile && /app/tstorefds/tstoreaipds/run_tstoreaipds_di.sh



출처: 우리팀 python프린세스 

Posted by 꽃현주
, |

간단히 리눅스에서 데이터 다루기!! 


 이름    학과        번호    국어    영어    수학    평균 

홍길동   컴공         1        100      90       95       95 

홍진이   경영         2         100     100     100   100

철수      컴공         2         90       90       90      90

홍민수   산디         1        100       60       80      80           

구분자: tab     File: test.txt


* 성이 '홍' 씨이고 평균이 85점 이상인 학생의 이름과 번호과 평균을 출력하고, 평균으로 정렬하여라.

 (단, 평균은 내림차순이고 출력 구분자는 tab 이다.)

$ cat text.txt | grep '^홍' | awk -F'\t' '{if($7>=85) print $1"\t"$3"\t"$7}' | sort -r -k 3

간단히 위의 명령어로 데이터를 정렬하고 뽑고, 원하는 형태로 데이터를 정제 할 수 있다.


결과

홍진이          2        100
홍길동          1         95

File: result.txt



유용한사이트(ggang9님이 공유해주신ㅎㅎ): http://explainshell.com /explain?cmd=cat+text.txt+%7C+grep+%27%5E홍%27+%7C+awk+-F+%27%5Ct%27+%27 %7Bif%28%247%3E%3D85%29+print+%241%22%5Ct%22%243%22%5Ct%22%247%7D%27+%7C+plan9-sort.1+-r+-k+3


 



Posted by 꽃현주
, |
  1. RSA알고리즘의 SSH Key 쌍을 생성 
    • ssh-keygen -t rsa
  2. 공개키를 연결 할 서버에 전송 
    • ssh-copy-id id@remote_host
  3. 접속 해보기 
    • ssh id@remote_host


만약 키를 만들고 자동 로그인을 시도했는데, 비밀번호를 또 물어 본다면?!

(1)접속 할 서버 계정 홈의 .ssh 디렉토리의 authorized_keys파일 권한을 600으로 변경! 

(2) .ssh디렉토리 & 자신의 홈디렉토리 권한 700으로 변경!!

 (어제 이 것 때매 한참 삽질함 ㅠㅠ 하지만 우리팀 에이스님이 자비롭게 알려줌ㄱㅅ )

> cd ~

> chmod 700 ~

> ls -la

> chmod 700 .ssh

> cd .ssh 

> chmod 600 authorized_keys


 ' '나름 콘솔같지 않음? 사실 표임 ㅋㅋㅋ


Posted by 꽃현주
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함