ddps-lab / ubuntu-hadoop

3 stars 5 forks source link

update run_hadoop file #12

Closed eyeballss closed 5 years ago

eyeballss commented 5 years ago

기존의 run_hadoop을 짧게 수정하였습니다. 피드백 부탁드립니다.

sungsu7437 commented 5 years ago

script에 slaves 파일을 수정하는 것도 필요하다고 생각함 (입력하는 slave 갯수 만큼)

kmu-leeky commented 5 years ago

script에 slaves 파일을 수정하는 것도 필요하다고 생각함 (입력하는 slave 갯수 만큼)

성수 good comment. @eyeballss 같이 챙겨줘.

kmu-leeky commented 5 years ago

@eyeballss 너무 복잡한 시나리오는 만들지 말고, 메모리는 전체 서버에 같은 양을 하드코딩, 그리고 컨테니너 갯수는 각 서버당 같게끔 하자. 예를들어 6으로 하면, bd-1, bd-2, bd-3 모두 6개 컨테이너 해서 토탈은 18개로.

eyeballss commented 5 years ago

네 교수님 알겠습니다

eyeballss commented 5 years ago

이해한 게 맞는지 몰라서 run_hadoop 을 두 가지 버전으로 만들어 보았습니다 ㅠㅠ;; 피드백 부탁드립니다.. 그리고 Dockerfile에서 slaves 넣는 부분을 지웠고 대신 change_slaves 라는 shell script 를 통해 master container 내에서 workers 파일 (hadoop v3 에서의 slaves 파일) 내에 slaves 의 이름을 넣도록 했습니다.

eyeballss commented 5 years ago

git에 올라와있는 코드를 bd1, bd3 에서 clone 하여 hdfs mapreduce 돌려 본 결과 문제 없이 잘 되는 것을 확인했습니다. 명령어도 잘 만들어지고, 컨테이너도 잘 생성되고, make_workers_file 스크립트를 사용하여 workers 파일 업데이트도 제대로 됩니다.

bd1, bd3 에서 run_hadoop을 실행시킬 때는 메모리 옵션은 제외하였습니다. 포함시킨상태로 실행하니 아래 에러가 뜹니다.

leecw@bd-1:~/ubuntu-hadoop$ ./run_hadoop cwl-test-net 1 1 2 WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. 8f4eec94e16ed77b3bee74191188537becb2e8bb27a244aa4b6c7f21dcfe5783 docker: Error response from daemon: Error mounting '/dev/mapper/docker-8:16-195297289-f22d71769036d9347b07eef998dcb84c8bd6375c86193c0ddb3763a2953d5fd5-init' on '/run/docker/mnt' (fstype='xfs' options='nouuid'): invalid argument

<6>[1028909.290736] docker_gwbridge: port 2(vethef796eb) entered forwarding state <6>[1028909.290745] docker_gwbridge: port 2(vethef796eb) entered forwarding state <4>[1028909.590805] XFS (dm-5): Invalid superblock magic number. See 'docker run --help'. docker: Error response from daemon: Error mounting '/dev/mapper/docker-8:16-195297289-5e58c00da1cd414f0196c16efa61871f1009566a146df9342942dba61282e07b-init' on '/run/docker/mnt' (fstype='xfs' options='nouuid'): invalid argument <6>[1028909.290745] docker_gwbridge: port 2(vethef796eb) entered forwarding state <4>[1028909.590805] XFS (dm-5): Invalid superblock magic number <4>[1028909.863551] XFS (dm-5): Invalid superblock magic number. See 'docker run --help'. 또 bd 서버에서 clone 한 run_hadoop 이나 make_workers_file 내용을 보면 한글이 깨져있습니다.
kmu-leeky commented 5 years ago

git에 올라와있는 코드를 bd1, bd3 에서 clone 하여 hdfs mapreduce 돌려 본 결과 문제 없이 잘 되는 것을 확인했습니다. 명령어도 잘 만들어지고, 컨테이너도 잘 생성되고, make_workers_file 스크립트를 사용하여 workers 파일 업데이트도 제대로 됩니다.

bd1, bd3 에서 run_hadoop을 실행시킬 때는 메모리 옵션은 제외하였습니다. 포함시킨상태로 실행하니 아래 에러가 뜹니다.

leecw@bd-1:~/ubuntu-hadoop$ ./run_hadoop cwl-test-net 1 1 2 WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. 8f4eec94e16ed77b3bee74191188537becb2e8bb27a244aa4b6c7f21dcfe5783 docker: Error response from daemon: Error mounting '/dev/mapper/docker-8:16-195297289-f22d71769036d9347b07eef998dcb84c8bd6375c86193c0ddb3763a2953d5fd5-init' on '/run/docker/mnt' (fstype='xfs' options='nouuid'): invalid argument

<6>[1028909.290736] docker_gwbridge: port 2(vethef796eb) entered forwarding state <6>[1028909.290745] docker_gwbridge: port 2(vethef796eb) entered forwarding state <4>[1028909.590805] XFS (dm-5): Invalid superblock magic number. See 'docker run --help'. docker: Error response from daemon: Error mounting '/dev/mapper/docker-8:16-195297289-5e58c00da1cd414f0196c16efa61871f1009566a146df9342942dba61282e07b-init' on '/run/docker/mnt' (fstype='xfs' options='nouuid'): invalid argument <6>[1028909.290745] docker_gwbridge: port 2(vethef796eb) entered forwarding state <4>[1028909.590805] XFS (dm-5): Invalid superblock magic number <4>[1028909.863551] XFS (dm-5): Invalid superblock magic number. See 'docker run --help'. 또 bd 서버에서 clone 한 run_hadoop 이나 make_workers_file 내용을 보면 한글이 깨져있습니다.

이 에러는 memory 옵션이 아니라, storage option 때문일것 같은데... storage option 을 확인해줄래? @sungsu7437 랑 봤을때 storage 옵션을 주었을대 이런 에러가 발생했어. 그리고 docker 의 파일 시스템을 overlay2 로 업데이트 하는 작업을 해야 하고.

eyeballss commented 5 years ago

교수님 run_hadoop_v1 이라는 이름으로 임시 파일을 하나 만들어봤습니다.

바뀐 내용은 아래와 같습니다. 교수님께서 말씀하신 대로 run_hadoop 내에서 master를 만들 때 make_workers_file 을 실행합니다. 파라미터값($5)으로 전 서버에 걸쳐 총 slaves 개수를 받고 그걸 토대로 slave1 2.. $5 까지의 slave 이름 리스트를 master의 workers 내용으로 넣습니다. 또한, master memory size를 10으로 바꾸었습니다. 교수님께서 마스터 노드에 memory 널널하게 넣으라고 하신 게 기억나서, slaves 메모리 사이즈가 master 메모리 사이즈보다 커지지 않도록 master 메모리 사이즈로 제한을 둡니다.

eyeballss commented 5 years ago

@sungsu7437 가 이제 overlay 에 대해 처리한다고 합니다.

sungsu7437 commented 5 years ago

오늘안에 도커 관련 세팅 끝나고 다시 말씀드리겠습니다.

kmu-leeky commented 5 years ago

@KimJeongChul @sungsu7437 코드 리뷰 해줘. @eyeballss 는 코드 리뷰 통해서 approve 되면 관련있는 파일들만 남기고 master 로 push 해줘. @eyeballss 한가지더 작업해야 하는게, 리포지토리 루트에 있는 README.md 파일에 run_hadoop 실행 방법을 작성해줘. 누구라도 쉽게 사용 가능하도록.