2015년 3월 27일 금요일

FIX::cloudera manager 설치중 DNS 설정 안해서 생기는 오류

아래와 같은 에러가 나면 에러가 발생한 호스트에서 /etc/hosts 파일에 호스트를 추가해 준다.

ex)

vi /etc/hosts

아래와 같이 IP, hostname 순서대로 추가
192.168.100.10 HOSTNAME

에러 메시지

###CLOUDERA_SCM### AGENT_START
BEGIN /sbin/service cloudera-scm-agent status | grep running
END (1)
BEGIN /sbin/service cloudera-scm-agent start
Starting cloudera-scm-agent: ESC[60G[ESC[0;31mFAILEDESC[0;39m]
END (1)
agent logs:
BEGIN  tail -n 50 /var/log/cloudera-scm-agent//cloudera-scm-agent.out | sed 's/^/>>/'
>>/usr/lib64/cmf/agent/src/cmf/parcel.py:15: DeprecationWarning: the sets module is deprecated
>>  from sets import Set
>>[27/Mar/2015 08:39:27 +0000] 10369 MainThread agent        INFO     SCM Agent Version: 5.3.2
>>[27/Mar/2015 08:39:28 +0000] 10369 MainThread agent        ERROR    Could not determine hostname or ip address; proceeding.
>>Traceback (most recent call last):
>>  File "/usr/lib64/cmf/agent/src/cmf/agent.py", line 2028, in parse_arguments
>>    ip_address = socket.gethostbyname(fqdn)
>>gaierror: [Errno -2] Name or service not known
>>usage: agent.py [-h] [--agent_dir AGENT_DIR] [--lib_dir LIB_DIR]
>>                [--orphan_process_directory_staleness_threshold ORPHAN_PROCESS_DIRECTORY_STALENESS_THRESHOLD]
>>                [--orphan_process_directory_refresh_interval ORPHAN_PROCESS_DIRECTORY_REFRESH_INTERVAL]
>>                [--agent_httpd_port AGENT_HTTPD_PORT] --package_dir
>>                PACKAGE_DIR [--parcel_dir PARCEL_DIR]
>>                [--supervisord_path SUPERVISORD_PATH]
>>                [--supervisord_httpd_port SUPERVISORD_HTTPD_PORT]
>>                [--standalone STANDALONE] [--master MASTER]
>>                [--environment ENVIRONMENT] [--host_id HOST_ID]
>>                [--disable_supervisord_events] --hostname HOSTNAME
>>                --ip_address IP_ADDRESS [--use_tls]
>>                [--client_key_file CLIENT_KEY_FILE]
>>                [--client_cert_file CLIENT_CERT_FILE]
>>                [--verify_cert_file VERIFY_CERT_FILE]
>>                [--verify_cert_dir VERIFY_CERT_DIR]
>>                [--client_keypw_file CLIENT_KEYPW_FILE]
>>                [--max_cert_depth MAX_CERT_DEPTH] [--logfile LOGFILE]
>>                [--logdir LOGDIR] [--optional_token] [--clear_agent_dir]
>>                [--sudo_command SUDO_COMMAND]
>>agent.py: error: argument --hostname is required
>>[27/Mar/2015 08:39:28 +0000] 10369 Dummy-1 agent        INFO     Stopping agent...
>>/usr/lib64/cmf/agent/src/cmf/parcel.py:15: DeprecationWarning: the sets module is deprecated
>>  from sets import Set
>>[27/Mar/2015 08:39:27 +0000] 10369 MainThread agent        INFO     SCM Agent Version: 5.3.2
>>[27/Mar/2015 08:39:28 +0000] 10369 MainThread agent        ERROR    Could not determine hostname or ip address; proceeding.
>>Traceback (most recent call last):
>>  File "/usr/lib64/cmf/agent/src/cmf/agent.py", line 2028, in parse_arguments
>>    ip_address = socket.gethostbyname(fqdn)
>>gaierror: [Errno -2] Name or service not known
>>usage: agent.py [-h] [--agent_dir AGENT_DIR] [--lib_dir LIB_DIR]
>>                [--orphan_process_directory_staleness_threshold ORPHAN_PROCESS_DIRECTORY_STALENESS_THRESHOLD]
>>                [--orphan_process_directory_refresh_interval ORPHAN_PROCESS_DIRECTORY_REFRESH_INTERVAL]
>>                [--agent_httpd_port AGENT_HTTPD_PORT] --package_dir
>>                PACKAGE_DIR [--parcel_dir PARCEL_DIR]
>>                [--supervisord_path SUPERVISORD_PATH]
>>                [--supervisord_httpd_port SUPERVISORD_HTTPD_PORT]
>>                [--standalone STANDALONE] [--master MASTER]
>>                [--environment ENVIRONMENT] [--host_id HOST_ID]
>>                [--disable_supervisord_events] --hostname HOSTNAME
>>                --ip_address IP_ADDRESS [--use_tls]
>>                [--client_key_file CLIENT_KEY_FILE]
>>                [--client_cert_file CLIENT_CERT_FILE]
>>                [--verify_cert_file VERIFY_CERT_FILE]
>>                [--verify_cert_dir VERIFY_CERT_DIR]
>>                [--client_keypw_file CLIENT_KEYPW_FILE]
>>                [--max_cert_depth MAX_CERT_DEPTH] [--logfile LOGFILE]
>>                [--logdir LOGDIR] [--optional_token] [--clear_agent_dir]
>>                [--sudo_command SUDO_COMMAND]
>>agent.py: error: argument --hostname is required
>>[27/Mar/2015 08:39:28 +0000] 10369 Dummy-1 agent        INFO     Stopping agent...
END (0)
BEGIN  tail -n 50 /var/log/cloudera-scm-agent//cloudera-scm-agent.log | sed 's/^/>>/'
tail: tail: cannot open `/var/log/cloudera-scm-agent//cloudera-scm-agent.log' for reading: No such file or directory
END (0)
end of agent logs.
scm agent could not be started, giving up
waiting for rollback request
###CLOUDERA_SCM### WAITING_FOR_ROLLBACK
cannot open `/var/log/cloudera-scm-agent//cloudera-scm-agent.log' for reading: No such file or directory
detected rollback request
rolling back installation
###CLOUDERA_SCM### ROLLBACK
rollback started
###CLOUDERA_SCM### AGENT_STOP
BEGIN /sbin/service cloudera-scm-agent stop
cloudera-scm-agent is already stopped
END (0)
scm agent stopped

2015년 3월 20일 금요일

Tip::Microsoft File Checksum Integrity Verifier

인터넷 웹페이지나 mirror 사이트에서 파일을 받았는데 제대로 받아졌는지 궁금할 때 md5 나 SHA 같은 값으로 파일의 무결성을 검증할 수 있다. Windows의 경우 MS에서 File Checksum Tool을 제공한다.

아래에서 다운로드
http://www.microsoft.com/en-us/download/details.aspx?id=11533

위 파일을 받아 실행하면 라이센스 동의를 묻고, 동의하면 실행파일을 풀어놓을 폴더 위치를 물어본다.


적당한 위치를 선택하고 OK를 누르면 해당 위치에서 2개의 파일을 확인할 수 있다.

1. fciv.exe
2. ReadMe.txt

파일 탐색기에서 실행하면 소용없다. cmd에서 해야 한다.
윈도우즈키 + R 누르고, cmd 입력 후 "확인"

위에서 선택한 폴더로 이동해서 아래와 같이 실행하면 기본으로 md5 값이 출력된다. 출력된 값을 다운로드 페이지나 mirror에서 제공하는 값과 비교해서 동일한지 확인한다.

>fciv.exe FILE_PATH


sha1값을 확인하고 싶으면 -sha1 옵션을 사용하고, 둘다 확인하고 싶으면 -both 옵션을 사용한다.

자세한 내용은 같은 폴더에 위치한 ReadMe.txt 파일을 참고한다.

FIX::안드로이드 롤리팝 업그레이드 후 느려지는 현상

NEXUS 5에서 롤리팝(5.01)으로 올렸더니 어플 몇 개 실행하면 엄청 느려지고, 가끔 벽돌이 되기도 한다. 구글이 이럴리가 ㅠㅠ 하면서 구글을 뒤져보니 시스템 캐시(System cache)를 지우라고 하는데 방법이 좀 까다롭다. 휴대폰을 껐다가 볼륨버튼 누르고... 하지만 설정으로 들어가서 쉽게 캐시를 지울 수 있는 방법이 있다고 해서...

설정>저장소>캐시된 데이터를 누르면 "캐시된 데이터를 지우시겠습니까?"라고 물어본다. "확인" 누르면 끝.

자 이제 롤리팝을 누리자!

2015년 3월 16일 월요일

FIX::장치가 더 이상 응답하지않거나 연결이 끊어졌습니다.

USB를 통해서 스마트폰이나 저장장치에 파일을 복사할 때 "장치가 더 이상 응답하지않거나 연결이 끊어졌습니다."라는 문구와 함께 에러가 날 경우.

1. PC의 USB포트에서 장치를 뺐다가 다시 연결한다.

2. PC의 USB 포트를 변경해서 끼워본다.

3. USB 허브를 사용할 경우 허브가 아닌 PC의 다른 포트에 직접 연결한다.

4. Android폰의 경우 "미디어 기기(MTP)"로 연결 후 위 방법으로 시도한다.

5. USB 컴퓨터 연결 옵션에서 PTP로 변경 후 다시 MTP로 설정한다. - 무슨 이유인지 모르겠으나 롤리팝(5.01)이 설치된 NEXUS 5에서 처음 USB 케이블을 연결하면 위 에러가 발생하면서 파일 복사가 제대로 되지 않는다. 5번 방법으로 PTP설정으로 변경 후 다시 MTP로 설정하면 이후에 복사가 잘 된다. ;;

MTP PTP 설정방법

아래와 같이 알림에서 "미디어 기기로 연결됨"을 누른다.


USB 컴퓨터 연결 화면에서 목적에 맞는 연결방식을 선택하면 끝



FIX::VirtualBox E_FAIL (0x80004005) error

출근해서 VirtualBox VM 실행 했는데 아래와 같은 에러가 난다면...

Result Code: E_FAIL (0x80004005)
Component: Machine
Interface: IMachine {XXXXXXXXXXXXXXXXXXXXXXXXXX}

해결방법은 아래와 같다.

1. 해당 VM의 네트워크 인터페이스를 비활성화 시켰다가 다시 활성화 시키고 시작한다. (2010년 버전)

2. 레지스트리를 수정한다. (비추천, Windows 7 버전, http://superuser.com/questions/785072/e-fail-0x80004005-when-running-linux-through-windows-8-virtualbox)

3. VirtualBox를 업데이트 한다. (지금 내가 해결한 버전)
도움말 -> 업데이트 찾기 클릭하면 최신버전을 알아서 받는다. 설치도중 실행중인 프로세스가 있다고 하면 기존에 실행시킨 VirtualBox를 종료시키고, 계속 retry 버튼을 클릭한다.

혹시 다른 방법이 새로 발견되면 알려주세욤. 굽신굽신

2015년 3월 5일 목요일

aws에 설치한 bitnami mediawiki의 email설정

aws에 bitnami mediawiki를 설치하고, 이메일 설정하면서 정리한 내용이다.

sendmail 설치

>apt-get install sendmail

LocalSetting.php 파일에 아래 내용 추가

$wgSMTP = array(
 "host" => "localhost",
 "IDHost" => "localhost",
 "port" => "25",
 "auth" => false
);

net_smtp와 auth_sasl 설치

>pear install net_smtp
>pear install auth_sasl

sendmail 재시작

>sudo /opt/bitnami/ctlscript.sh restart

mediawiki 재시작

>sudo /etc/init.d/sendmail restart
또는
>sudo service sendmail restart

net_smtp와 auth_sasl을 설치하지 않으면 발생할 수 있는 에러들

. authentication failure [SMTP: No supported authentication methods (code: 250, response

. authentication failure [SMTP: Invalid response code received from server (code: 535, response: 5.7.0 authentication failed)]

2015년 3월 4일 수요일

git diff 색깔로 구분하기

CentOS 6.6에서 git의 버전은 1.7.1이다. 1.7.1에서 diff 했을 때 색깔로 구분해서 표시해서 보기좋게 하는 방법을 소개한다.

~/.gitconfig 파일에 아래 내용을 추가한다.

[color]
    diff = auto

다른 버전의 git에서는 diff-highlight를 쓰는 것이 좋을 것 같다. 1.7.1에서 diff-highlight를 적용하면 아래와 같은 에러가 난다.

fatal: bad config value for 'pager.diff' in /home/USER/.gitconfig

2015년 3월 2일 월요일

Fix:Sinatra 응답속도가 매우 느린 문제

ruby로 뭔가 해보려고 sinatra를 사용해봤다. 예제를 돌리는데 응답하는데까지 대략 10초 이상이 걸린다. ㅡ,.ㅡ;;;

아래 검색결과로 해결되었다.

DNS lookup은 가끔 어플리케이션이 느린것 처럼 보이게 한다. 예를 들어 DNS설정이 제대로 되어있지 않은 서버 또는 private network에서 sendmail은 부팅 시간을 오래 걸리게 하고, ssh는 응답속도가 매우 느린데 이유는 DNS lookup을 하는데 timeout이 걸릴때까지 시간이 걸리기 때문이다. sinatra도 마찬가지.

sinatra가 사용하는 webrick의 config.rb 파일을 찾아 수정해 줘야 한다.

>find RUBY_INSTALLED_DIR/ -name config.rb
/opt/rubies/ruby-1.9.3-p551/lib/ruby/gems/1.9.1/gems/rack-1.6.0/lib/rack/config.rb
/opt/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/openssl/config.rb
/opt/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/xmlrpc/config.rb
/opt/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/webrick/config.rb

ruby-install을 이용해서 1.9.3버전을 설치하면 위와 같이 나온다. RUBY_INSTALLED_DIR에 ruby가 설치된 디렉토리를 넣어준다. 모르겠으면 그냥 '/'.. :)
위에서는 /opt/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/webrick/config.rb 파일을 열어서 아래와 같이 고친다.

:DoNotReverseLookup => nil,

위 라인을

:DoNotReverseLookup => true,

로 변경

다시 실행하면 LTE급 속도로 응답한다.

FIX :: ssh 접속이 느리고, /var/log/messages에 systemd-logind.service failed. 메시지가 남을 때

ssh 접속이 느릴 때가 있습니다. 보통은DNS가 제대로 설정되지 않았는데 /etc/ssh/sshd_config에 UseDNS가 yes로 되어 있을 때 발생합니다. 위와 같을 경우 /etc/ssh/sshd_config파일에서 아래와 같이 수정 후 ...