diff --git a/Dockerfile.server b/Dockerfile.server new file mode 100644 index 0000000000000000000000000000000000000000..ccc2e8b9f617856b82c7075ffec0c734bc38e712 --- /dev/null +++ b/Dockerfile.server @@ -0,0 +1,41 @@ +FROM python:3.9 + +WORKDIR / + +# 필요한 패키지 설치 +RUN apt-get update && apt-get install -y wget default-jdk iputils-ping +RUN pip install grpcio grpcio-tools protobuf mysql-connector-python pandas pyarrow requests + +# Hadoop 다운로드 및 설치 +RUN wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz && \ + tar -xzf hadoop-3.3.1.tar.gz -C /opt/ && \ + rm hadoop-3.3.1.tar.gz + +# 환경 변수 설정 +ENV JAVA_HOME=/usr/lib/jvm/default-java +ENV HADOOP_HOME=/opt/hadoop-3.3.1 +ENV PATH=$PATH:$HADOOP_HOME/bin + +# HDFS 설정을 추가하여 명확하게 호스트 지정 +RUN mkdir -p /opt/hadoop-3.3.1/etc/hadoop/ +RUN echo '<?xml version="1.0" encoding="UTF-8"?>\n\ +<configuration>\n\ + <property>\n\ + <name>fs.defaultFS</name>\n\ + <value>hdfs://boss:9000</value>\n\ + </property>\n\ +</configuration>' > /opt/hadoop-3.3.1/etc/hadoop/core-site.xml + +# 서버 코드 복사 +COPY server.py / +COPY lender.proto / +COPY client.py / + +# gRPC 생성 +RUN python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. lender.proto + +# 파티션 디렉토리 생성 +RUN mkdir -p /partitions + +# 서버 실행 (CLASSPATH를 설정한 후 실행) +CMD ["/bin/bash", "-c", "export CLASSPATH=$(hadoop classpath --glob) && python server.py"] \ No newline at end of file diff --git a/p4/Dockerfile.server b/p4/Dockerfile.server new file mode 100644 index 0000000000000000000000000000000000000000..ccc2e8b9f617856b82c7075ffec0c734bc38e712 --- /dev/null +++ b/p4/Dockerfile.server @@ -0,0 +1,41 @@ +FROM python:3.9 + +WORKDIR / + +# 필요한 패키지 설치 +RUN apt-get update && apt-get install -y wget default-jdk iputils-ping +RUN pip install grpcio grpcio-tools protobuf mysql-connector-python pandas pyarrow requests + +# Hadoop 다운로드 및 설치 +RUN wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz && \ + tar -xzf hadoop-3.3.1.tar.gz -C /opt/ && \ + rm hadoop-3.3.1.tar.gz + +# 환경 변수 설정 +ENV JAVA_HOME=/usr/lib/jvm/default-java +ENV HADOOP_HOME=/opt/hadoop-3.3.1 +ENV PATH=$PATH:$HADOOP_HOME/bin + +# HDFS 설정을 추가하여 명확하게 호스트 지정 +RUN mkdir -p /opt/hadoop-3.3.1/etc/hadoop/ +RUN echo '<?xml version="1.0" encoding="UTF-8"?>\n\ +<configuration>\n\ + <property>\n\ + <name>fs.defaultFS</name>\n\ + <value>hdfs://boss:9000</value>\n\ + </property>\n\ +</configuration>' > /opt/hadoop-3.3.1/etc/hadoop/core-site.xml + +# 서버 코드 복사 +COPY server.py / +COPY lender.proto / +COPY client.py / + +# gRPC 생성 +RUN python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. lender.proto + +# 파티션 디렉토리 생성 +RUN mkdir -p /partitions + +# 서버 실행 (CLASSPATH를 설정한 후 실행) +CMD ["/bin/bash", "-c", "export CLASSPATH=$(hadoop classpath --glob) && python server.py"] \ No newline at end of file