From 29065c0bff8ef8400601e8322fae746cb1b218b3 Mon Sep 17 00:00:00 2001 From: JIHONG MIN <jmin39@wisc.edu> Date: Mon, 10 Mar 2025 00:27:11 -0500 Subject: [PATCH 1/2] Upload New File --- Dockerfile.server | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Dockerfile.server diff --git a/Dockerfile.server b/Dockerfile.server new file mode 100644 index 0000000..ccc2e8b --- /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 -- GitLab From 7c8a642f8787eedee34b8f659d544bce9d7eca6c Mon Sep 17 00:00:00 2001 From: JIHONG MIN <jmin39@wisc.edu> Date: Mon, 10 Mar 2025 00:28:19 -0500 Subject: [PATCH 2/2] Upload New File --- p4/Dockerfile.server | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 p4/Dockerfile.server diff --git a/p4/Dockerfile.server b/p4/Dockerfile.server new file mode 100644 index 0000000..ccc2e8b --- /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 -- GitLab