Docker Shell Code 메모
Memo 2021. 10. 18. 23:41denied: requested access to the resource is denied
=> 로그인을 하지 않았을 때 뜨는 메세지이다.
=> docker login 입력하여 로그인하기
datanode가 안 올라올 때
\$ rm -rf $HADOOP_HOME/data/*
\$ rm -rf $HADOOP_HOME/logs/*
\$ rm -rf /tmp/*
\$ mkdir /tmp/spark-events
commit.sh
수정한 Container를 Docker Image로 Update&Commit
docker commit $1 hadoop-spark && docker tag hadoop-spark zhwan85/hadoop-spark && docker push zhwan85/hadoop-spark |
** $1은 컨테이너의 Name이나 ID를 의미한다.
** Docker 이미지를 내려받을 때는 docker pull <이미지명>:[태그명]
go.sh
Docker 접속. --privileged로 권한 부여. $1에 Container ID 혹은 Name 입력
#!/bin/bash docker exec -it --privileged \$1 bash |
** $1은 컨테이너의 Name이나 ID를 의미한다.
make.sh
Docker Container 생성. -v 옵션으로 볼륨 바인딩
docker run -v /data/wed_storage:/data -p 8888:8888 -itd --name hadoop-master zhwan85/hadoop-spark:latest && docker run -v /data/wed_storage:/data -itd --name hadoop-slave1 zhwan85/hadoop-spark:latest && docker run -v /data/wed_storage:/data -itd --name hadoop-slave2 zhwan85/hadoop-spark:latest && docker run -v /data/wed_storage:/data -itd --name hadoop-slave3 zhwan85/hadoop-spark:latest && docker ps -a |
** -p 8888:8888 쥬피터 노트북을 외부에서 이용하기 위해 포트를 열어준다.
ready.sh
Container별 설정 실행
#!/bin/bash docker exec --privileged hadoop-master sh -c "cd ~/; ./ready.sh" && echo "Master Ready" && docker exec --privileged hadoop-slave1 sh -c "cd ~/; ./ready.sh" && echo "Slave1 Ready" && docker exec --privileged hadoop-slave2 sh -c "cd ~/; ./ready.sh" && echo "Slave2 Ready" && docker exec --privileged hadoop-slave3 sh -c "cd ~/; ./ready.sh" echo "Slave3 Ready" |
Container 내부 ready.sh
#!/bin/bash echo "172.17.0.2 master" >> /etc/hosts && echo "172.17.0.3 slave1" >> /etc/hosts && echo "172.17.0.4 slave2" >> /etc/hosts && echo "172.17.0.5 slave3" >> /etc/hosts && ufw allow 22 && service ssh start mkdir /tmp/spark-events rm -rf $HADOOP_HOME/data |
** mkdir /tmp/spark-events은 생성하지 않으면 spark history 서버 실행할 때 오류가 발생함
** \$HADOOP_HOME/data의 datanode를 남겨둔다면 hadoop 애플리케이션을 올렸을 때 datanode가 실행되지 않을 수 있다.
remove.sh
모든 Container 중단 및 삭제
docker stop hadoop-master && docker stop hadoop-slave1 && docker stop hadoop-slave2 && docker stop hadoop-slave3 && docker rm hadoop-master && docker rm hadoop-slave1 && docker rm hadoop-slave2 && docker rm hadoop-slave3 && docker ps -a |
start.sh
hadoop, spark 실행
#!/bin/bash docker exec --privileged hadoop-master sh -c "cd ~/; ./start.sh" && echo "Master Started" |
Container 내부 start.sh
#!/bin/bash $HADOOP_HOME/bin/hdfs namenode -format -force && $HADOOP_HOME/sbin/start-dfs.sh && $HADOOP_HOME/sbin/start-yarn.sh && $HADOOP_HOME/bin/mapred --daemon start historyserver && echo "HADOOP Ready" && $SPARK_HOME/sbin/start-all.sh && $SPARK_HOME/sbin/start-history-server.sh && echo "SPARK Ready" |
stop.sh
hadoop, spark 중단
#!/bin/bash docker exec --privileged hadoop-master sh -c "cd ~/; ./stop.sh" && echo "Master Stopped" |
Container 내부 stop.sh
#!/bin/bash $HADOOP_HOME/sbin/stop-dfs.sh && $HADOOP_HOME/sbin/stop-yarn.sh && $HADOOP_HOME/bin/mapred --daemon stop historyserver && rm -rf $HADOOP_HOME/data/namenode/* && echo "HADOOP Stop" && $SPARK_HOME/sbin/stop-all.sh && $SPARK_HOME/sbin/stop-history-server.sh && rm -rf $SPARK_HOME/eventLog/* && echo "SPARK Stop" |
'Memo' 카테고리의 다른 글
(작성중) Hadoop 명령어 정리 (0) | 2021.10.28 |
---|---|
리눅스 쉘 명령어 메모 (0) | 2021.10.23 |
NAT와 Bridge 구분 (0) | 2021.10.18 |
Hadoop 설치할 때 이용했던 Docker 명령어 메모 (0) | 2021.10.18 |
우분투 관련 온갖 것들 메모 (0) | 2021.09.28 |