일반 계정으로 ./arcus zookeeper init 시, 오류 발생.

252 views
Skip to first unread message

JungHun Kim

unread,
Mar 6, 2015, 3:31:17 AM3/6/15
to open...@googlegroups.com
안녕하세요.

이번에 arcus 를 알게되어 설치 후 테스트를 하려고 합니다.

그런데, root 계정으로 ./arcus zookeeper init 시에는 아무런 문제가 없는데,
일반 계정으로 ./arcus zookeeper init 을 하면 아래와 같은 오류가 발생을 합니다.
(./arcus zookeeper start 도 마찬가지)


====== Task: zk_start
[192.168.0.71] Executing task 'zk_start'
[192.168.0.71] run: bin/zkServer.sh start
[192.168.0.71] out: JMX enabled by default
[192.168.0.71] out: bin/zkServer.sh: line 53: /work/package/arcus/zookeeper/bin
[192.168.0.71] out: /work/package/arcus/zookeeper/bin/zkEnv.sh: No such file or directory
[192.168.0.71] out: dirname: missing operand
[192.168.0.71] out: Try `dirname --help' for more information.
[192.168.0.71] out: bin/zkServer.sh: line 74: cygpath: command not found
[192.168.0.71] out: Using config: 
[192.168.0.71] out: grep: : No such file or directory
[192.168.0.71] out: mkdir: cannot create directory `': No such file or directory
[192.168.0.71] out: mkdir: cannot create directory `': No such file or directory
[192.168.0.71] out: Starting zookeeper ... bin/zkServer.sh: line 113: /zookeeper_server.pid: Permission denied
[192.168.0.71] out: FAILED TO WRITE PID
[192.168.0.71] out: 


인터넷 검색하던 중, zoo.cfg 에 dataDir 을 수정해 보라고 하여, 수정을 해 보았지만 (/work/package/arcus/zookeeper/data)
그래도 여전히 안되더라구요.

혹, 제가 놓친 부분이 있거나, 원래 root 계정으로만 실행을 해야 하는걸까요?
(./arcus memcached 의 경우, 일반 계정으로 실행해야 해서, 그럴리는 없겠지만...)

해결 방법이 궁금합니다!

JunHyun Park

unread,
Mar 6, 2015, 11:01:16 PM3/6/15
to JungHun Kim, open...@googlegroups.com

일반 계정에서 정상 동작해야 합니다..
대략 보았을 때 directory/file permission 문제로 보이는 데,
일반계정의 home directory 아래에 arcus를 설치해 보시죠..

2015. 3. 6. 오후 5:31에 "JungHun Kim" <tius...@gmail.com>님이 작성:
--
이 메일은 Google 그룹스 'openarcus' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 openarcus+...@googlegroups.com에 이메일을 보내세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.

JungHun Kim

unread,
Mar 9, 2015, 1:26:31 AM3/9/15
to open...@googlegroups.com, tius...@gmail.com
답변 감사합니다.

오늘 다시 확인을 해보았는데, zkServer.sh 상에서, 환경변수? 인자? 를 못 읽어서 발생하는 듯 합니다.

====== Task: zk_start
[192.168.0.71] Executing task 'zk_start'
[192.168.0.71] run: bin/zkServer.sh start
[192.168.0.71] out: JMX enabled by default
[192.168.0.71] out: bin/zkServer.sh: line 53: /work/package/arcus/zookeeper/bin
[192.168.0.71] out: /work/package/arcus/zookeeper/bin/zkEnv.sh: No such file or directory
[192.168.0.71] out: dirname: missing operand
[192.168.0.71] out: Try `dirname --help' for more information.
[192.168.0.71] out: bin/zkServer.sh: line 74: cygpath: command not found
[192.168.0.71] out: Using config: 
[192.168.0.71] out: grep: : No such file or directory
[192.168.0.71] out: mkdir: cannot create directory `': No such file or directory
[192.168.0.71] out: mkdir: cannot create directory `': No such file or directory
[192.168.0.71] out: Starting zookeeper ... echo 0 : bin/zkServer.sh
[192.168.0.71] out: echo ZOOBIN : bin
[192.168.0.71] out: echo ZOOBIN : bin/zkServer.sh
[192.168.0.71] out: echo :
[192.168.0.71] out: echo ZOOCFGDIR :
[192.168.0.71] out: echo ZOOCFG :
[192.168.0.71] out: echo ZOO_DATADIR :
[192.168.0.71] out: echo echo : /zookeeper_server.pid
[192.168.0.71] out: bin/zkServer.sh: line 121: /zookeeper_server.pid: Permission denied
[192.168.0.71] out: FAILED TO WRITE PID

ZOOCFGDIR, ZOOCFG 등을 echo 로 찍어봤는데... 위와 같이 빈 값으로 나오네요...

별도로 손을 댄건 없고, arcus 메뉴얼에 별도 환경변수 등록이 없던데,
뭔가의 작업이 필요한걸까요??


2015년 3월 7일 토요일 오후 1시 1분 16초 UTC+9, jhpark816 님의 말:

WookHwan Choi

unread,
Mar 9, 2015, 4:09:01 AM3/9/15
to open...@googlegroups.com, tius...@gmail.com

에러 로그 위쪽에 보시면 다음과 같은 로그가 있습니다.

[192.168.0.71] out: /work/package/arcus/zookeeper/bin/zkEnv.sh: No such file or directory

arcus.sh zookeeper start 수행 시 zkServer.sh 스크립트에서 zkEnv.sh 를 통해 필요한 환경변수를 생성합니다.
위 에러를 봐서는 zkEnv.sh 가 존재하는 경로의 권한이 없어서 발생할 가능성이 큽니다.

arcus.sh zookeeper start 를 수행한 계정이
/work/package/arcus 경로(내부 경로 포함)에 읽기와 쓰기 권한이 있는지 확인 해보시기 바랍니다.
root 계정으로 실행했을 때는 문제가 없고 특정 계정으로 문제가 발생하는 것으로 보아
해당 경로(/work/package/arcus)의 권한이 root 계정으로 되어 있어서 발생하는 것으로 보입니다.




2015년 3월 9일 월요일 오후 2시 26분 31초 UTC+9, JungHun Kim 님의 말:

JungHun Kim

unread,
Mar 11, 2015, 7:49:12 AM3/11/15
to open...@googlegroups.com, tius...@gmail.com
안녕하세요. WookHwan Choi 님.

답변 감사합니다.

말씀해 주신 부분들도 확인 해 보았습니다.

아래는 해당 zkEnv.sh 의 권한 부분 입니다.

[msc@arcusadmin scripts]$ ls -al /work/package/arcus/zookeeper/bin/zkEnv.sh
-rwxrwxrwx. 1 msc msc 2599 Mar  6 16:45 /work/package/arcus/zookeeper/bin/zkEnv.sh

혹시 몰라, arcus 홈 및 하위 폴더/파일 들의 권한을 777 로 주고 해보았지만 동일합니다.
(chmod -R 777 /work/package/arcus)

도대체 뭐가 문제일까요?

일단 제가 파악을 한 것으로는, zkEnv.sh 상에서 환경변수 및 인자 값들을 읽지 못한다인듯 한데요...

참고로, VM 4대 (arcusadmin, arcus01, arcus02, arcus03) 에서 동작을 시키고 있으며,
arcusadmin 에서는 구동 명령어와 deploy 만 담당하고 있습니다.

zookeeper 와 memcached 는 arcus01 ~ 03 서버에서 동작합니다.



2015년 3월 9일 월요일 오후 5시 9분 1초 UTC+9, WookHwan Choi 님의 말:

WookHwan Choi

unread,
Mar 11, 2015, 10:18:48 PM3/11/15
to open...@googlegroups.com, tius...@gmail.com
안녕하세요. JungHun Kim 님.
arcus.sh zookeeper init 시에 해당 문제가 발생한다고 하셨는데 arcus.sh zookeeper deploy 시에는 다른 문제가 발생하진 않았는지 확인해 보시기 바랍니다.

말씀하신 장비 구성으로 보아 arcusadmin 장비에서 arcus deploy 와 기동을 하는 것으로 보입니다
arcus01~03 장비 중 192.168.0.71 ip 에 해당하는 장비에 deploy 가 정상적으로 되지 않았거나 권한 문제가 발생하는 것으로 보입니다)
Deploy & Zookeeper Init 에 있는 절차와 내용에 링크되어 있는 SSH public key 배포를 함께 확인해 보시기 바랍니다.
다른 장비도 함께 확인하시기 바랍니다.


2015년 3월 11일 수요일 오후 8시 49분 12초 UTC+9, JungHun Kim 님의 말:

JungHun Kim

unread,
Mar 13, 2015, 8:06:41 AM3/13/15
to open...@googlegroups.com, tius...@gmail.com
안녕하세요. 항상 답변 감사 드립니다.

일단, deploy 시에는 별다른 문제가 생기지는 않습니다.

아래 블로그에 제가 설치했던 과정을 처음부터 적었습니다.


그리고, deploy 시에 발생한 로그들은 아래와 같습니다.
(별다른 오류 로그는 발생하지 않았습니다.)

[msc@arcusadmin scripts]$ ./arcus.sh deploy conf/test.json
Server Roles
        {'zookeeper': ['192.168.0.71', '192.168.0.72', '192.168.0.73'], 'memcached': [u'192.168.0.71', u'192.168.0.71', u'192.168.0.72', u'192.168.0.72', u'192.168.0.73', u'192.168.0.73']}

[192.168.0.71] Executing task 'deploy'
[192.168.0.72] Executing task 'deploy'
[192.168.0.73] Executing task 'deploy'
[192.168.0.73] run: mkdir -p /work/package
[192.168.0.71] run: mkdir -p /work/package
[192.168.0.72] run: mkdir -p /work/package
[localhost] local: tar -czf /tmp/tmpXi4GbI/arcus.tar.gz -C /work/package arcus
[localhost] local: tar -czf /tmp/tmpGUAv5P/arcus.tar.gz -C /work/package arcus
[localhost] local: tar -czf /tmp/tmpQYVwIC/arcus.tar.gz -C /work/package arcus
[192.168.0.72] put: /tmp/tmpXi4GbI/arcus.tar.gz -> /work/package/arcus.tar.gz
[192.168.0.73] put: /tmp/tmpGUAv5P/arcus.tar.gz -> /work/package/arcus.tar.gz
[192.168.0.71] put: /tmp/tmpQYVwIC/arcus.tar.gz -> /work/package/arcus.tar.gz
[192.168.0.72] run: tar -xzf arcus.tar.gz
[192.168.0.73] run: tar -xzf arcus.tar.gz
[192.168.0.71] run: tar -xzf arcus.tar.gz
[192.168.0.73] run: rm -f arcus.tar.gz
[192.168.0.72] run: rm -f arcus.tar.gz
[localhost] local: rm -rf /tmp/tmpGUAv5P
[localhost] local: rm -rf /tmp/tmpXi4GbI
[192.168.0.71] run: rm -f arcus.tar.gz
[localhost] local: rm -rf /tmp/tmpQYVwIC

Done.
[msc@arcusadmin scripts]$ 


위와 같이 deploy 한 후, zookeeper init 을 하면, 아래와 같은 오류가 발생합니다.


[msc@arcusadmin scripts]$ ./arcus.sh zookeeper init
Server Roles
        {'zookeeper': ['192.168.0.71', '192.168.0.72', '192.168.0.73'], 'memcached': []}

====== Task: zk_config
[192.168.0.71] Executing task 'zk_config_id'
[192.168.0.71] run: mkdir -p data
[192.168.0.71] run: echo 1 > data/myid
[192.168.0.71] put: <file obj> -> /work/package/arcus/zookeeper/conf/zoo.cfg
[192.168.0.72] Executing task 'zk_config_id'
[192.168.0.72] run: mkdir -p data
[192.168.0.72] run: echo 2 > data/myid
[192.168.0.72] put: <file obj> -> /work/package/arcus/zookeeper/conf/zoo.cfg
[192.168.0.73] Executing task 'zk_config_id'
[192.168.0.73] run: mkdir -p data
[192.168.0.73] run: echo 3 > data/myid
[192.168.0.73] put: <file obj> -> /work/package/arcus/zookeeper/conf/zoo.cfg
====== Task: zk_start
[192.168.0.71] Executing task 'zk_start'
[192.168.0.71] run: bin/zkServer.sh start
[192.168.0.71] out: JMX enabled by default
[192.168.0.71] out: bin/zkServer.sh: line 53: /work/package/arcus/zookeeper/bin
[192.168.0.71] out: /work/package/arcus/zookeeper/bin/zkEnv.sh: No such file or directory
[192.168.0.71] out: dirname: missing operand
[192.168.0.71] out: Try `dirname --help' for more information.
[192.168.0.71] out: bin/zkServer.sh: line 74: cygpath: command not found
[192.168.0.71] out: Using config: 
[192.168.0.71] out: grep: : No such file or directory
[192.168.0.71] out: mkdir: cannot create directory `': No such file or directory
[192.168.0.71] out: mkdir: cannot create directory `': No such file or directory
[192.168.0.71] out: Starting zookeeper ... bin/zkServer.sh: line 113: /zookeeper_server.pid: Permission denied
[192.168.0.71] out: FAILED TO WRITE PID
[192.168.0.71] out: 


Fatal error: run() received nonzero return code 1 while executing!

Requested: bin/zkServer.sh start
Executed: /bin/bash -l -c "cd /work/package/arcus/zookeeper && bin/zkServer.sh start"

Aborting.
Disconnecting from 192.168.0.72... done.
Disconnecting from 192.168.0.71... done.
Disconnecting from 192.168.0.73... done.
[msc@arcusadmin scripts]$


간단히 테스트 후 적용 해보려고 시작을 한건데... 이거 테스트 부터 쉽지가 않네요 ^^;;

위 붉은색 로그 중에, cygpath 는 또 왜 발생하는 지 모르겠습니다.
centos 를 virtualbox 에 설치 후, 사용하는 것 인데... ㅠㅠ


2015년 3월 12일 목요일 오전 11시 18분 48초 UTC+9, WookHwan Choi 님의 말:

jhpark816

unread,
Mar 14, 2015, 7:45:08 AM3/14/15
to open...@googlegroups.com, tius...@gmail.com
안녕하세요...

ARCUS 설치에 대해 블로그에 잘 정리해 주셨네요...

두 가지 부탁 드릴 사항이 있는 데, 도움 주시면 고맙겠습니다..

첫째, arcus clone 받은 후에, build.sh 스크립트를 수행하면
arcus-memcached와 arcus-zookeeper를 함께 download받아 빌드하도록 되어 있는 데요..
아래와 같이 수행하여, build.log를 한번 보내주실 수 있는 지요 ??

"./build.sh >& build.log" 

둘째, 일반 계정으로 "./arcus.sh zookeeper init" 수행한 상태에서,
arcus01, arcus02, arcus03 vm에 저희가 접근하여,
arcus 관련 directories와 files를 저희가 접근해 볼 수 있는 지요 ??

둘째 사항을 제공하기 어려운 환경이라면,
저희가 동일하게 root 디렉토리 아래에
/work/package 디렉토리를 만들어 시험해 보도록 하겠습니다..

감사합니다.

JungHun Kim

unread,
Mar 16, 2015, 2:15:23 AM3/16/15
to open...@googlegroups.com, tius...@gmail.com
안녕하세요. 답변 감사 드립니다 ^^

말씀 해주신 1번 사항은 파일로 첨부 하였습니다. (build.log)

2번 사항의 경우, 직접 접근하시는건 어려워 아래 명령어를 통해 하위 디렉토리 전체의 권한 정보를 파일로 첨부 했습니다.
(zookeeper init 까지만 진행한 후의 정보)

ls -alR /work/package/arcus >& arcus01.log

이상입니다.

그럼 오늘도 좋은 하루 되세요 ^^


2015년 3월 14일 토요일 오후 8시 45분 8초 UTC+9, jhpark816 님의 말:
build.log
arcus01.log
arcus02.log
arcus03.log
arcusadmin.log

jhpark816

unread,
Mar 17, 2015, 11:09:43 PM3/17/15
to open...@googlegroups.com
안녕하세요..

보내주신 내용 검토해 보았습니다...

# build.log 검토 결과
 
  - 보내 주신 build.log를 보면, build는 정상적으로 수행된 상태입니다.

  - build.log에도 zookeeper와 server 또한 자동으로 clone 받아 함께 build가 정상적으로 수행된 상태입니다.
    블로그에 기재된 arcus-zookeeper와 arcus-memcached를 따로 다운로드 받아 설치하지 않아도 됩니다.
    혹, 어떤 이슈를 봐서 따로 다운로드해야 겠다고 판단하셨는 지요 ??

# zookeeper init 과정의 오류

  - 동일하게 일반 계정으로 /work/package 디렉토리를 만들어 deploy하고 zookeeper init을 해 보았는 데,
    저희 환경에서는 정상 수행되었습니다.

  - 본 이슈에 올려준 실패 로그의 첫번째 라인을 보면, 아래와 같은 데요..
    먼저, build 시에 디폴트로 build한 zookeeper 디렉토리를 사용하고 있습니다.
    그리고, /work/package/arcus/zookeeper/bin 디렉토리에 zkEnv.sh 파일이 없다는 의미입니다.
    zkEnv.sh 파일을 수행해야 해당 환경 변수들을 설정하게 되는 데, 이게 없어 수행하지 못한 것입니다.

    [192.168.0.71] out: /work/package/arcus/zookeeper/bin/zkEnv.sh: No such file or directory

  - 저희가 의도적으로 zkEnv.sh 파일의 이름을 zkEnv.sh.ORG로 변경해서 수행해 보았습니다.
    이 경우, 보내주신 오류 메세지와 동일한 오류 메세지를 볼 수 있었습니다..

  - 따라서, deploy 후에 /work/package/arcus/zookeeper/bin 디렉토리에 zkEnv.sh 파일이 있는 지를 확인해 보시면 될 것 같습니다.
    이상한 부분은 그 디렉토리에 zkServer.sh 파일은 있는 데, zkEnv.sh 파일만 없다는 것입니다.
    참고로, 보내주신 arcus01의 디렉토리 구조에는 zkEnv.sh 파일이 있는 상태였습니다.

이상 검토 결과입니다.
다른 문의 사항이 있으면, 알려주세요...


Reply all
Reply to author
Forward
0 new messages