diff --git a/docker/Dockerfile b/Dockerfile similarity index 55% rename from docker/Dockerfile rename to Dockerfile index 9c9b466f..8f1321b7 100644 --- a/docker/Dockerfile +++ b/Dockerfile @@ -1,10 +1,10 @@ FROM openjdk:11 -COPY ../dataset ./dataset +COPY ./dataset ./dataset WORKDIR /release -COPY ../release/config ./config -COPY ../release/bin ./bin -COPY ../release/adapter ./adapter -ADD ../release/*.sh ./ +COPY ./release/config ./config +COPY ./release/bin ./bin +COPY ./release/adapter ./adapter +ADD ./release/*.sh ./ ENTRYPOINT sh -c 'chmod 777 ./owner.sh' &&\ sh -c './owner.sh start ./config/owner1.json' &&\ sh -c 'tail -f /dev/null' \ No newline at end of file diff --git a/owner/pom.xml b/owner/pom.xml index 29407e80..1dbb8357 100644 --- a/owner/pom.xml +++ b/owner/pom.xml @@ -71,6 +71,11 @@ commons-cli commons-cli + + redis.clients + jedis + 2.9.3 + diff --git a/owner/src/main/java/com/hufudb/openhufu/owner/OwnerService.java b/owner/src/main/java/com/hufudb/openhufu/owner/OwnerService.java index 0febcbe9..dbca6472 100644 --- a/owner/src/main/java/com/hufudb/openhufu/owner/OwnerService.java +++ b/owner/src/main/java/com/hufudb/openhufu/owner/OwnerService.java @@ -33,6 +33,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import redis.clients.jedis.Jedis; public class OwnerService extends ServiceGrpc.ServiceImplBase { private static final Logger LOG = LoggerFactory.getLogger(OwnerService.class); @@ -41,6 +42,7 @@ public class OwnerService extends ServiceGrpc.ServiceImplBase { protected final OpenHuFuRpc ownerSideRpc; protected final OwnerSideImplementor implementor; protected final Adapter adapter; + protected final Jedis jedis; protected final Map libraries; protected final SchemaManager schemaManager; @@ -52,6 +54,9 @@ public OwnerService(OwnerConfig config) { this.implementor = new OwnerSideImplementor(ownerSideRpc, adapter, threadPool); this.schemaManager = this.adapter.getSchemaManager(); this.libraries = config.librarys; + this.jedis = config.jedis; + System.out.println(jedis.ping()); + System.out.println(jedis.get("blockHeight")); ImplementorConfig.initImplementorConfig(config.implementorConfigPath); initPublishedTable(config.tables); } diff --git a/owner/src/main/java/com/hufudb/openhufu/owner/adapter/RedisConfig.java b/owner/src/main/java/com/hufudb/openhufu/owner/adapter/RedisConfig.java new file mode 100644 index 00000000..ca9654de --- /dev/null +++ b/owner/src/main/java/com/hufudb/openhufu/owner/adapter/RedisConfig.java @@ -0,0 +1,10 @@ +package com.hufudb.openhufu.owner.adapter; + +public class RedisConfig { + public String host; + public int port; + public String pwd; + public int database; + + public RedisConfig() {} +} diff --git a/owner/src/main/java/com/hufudb/openhufu/owner/config/OwnerConfig.java b/owner/src/main/java/com/hufudb/openhufu/owner/config/OwnerConfig.java index baafbcd5..594b92c7 100644 --- a/owner/src/main/java/com/hufudb/openhufu/owner/config/OwnerConfig.java +++ b/owner/src/main/java/com/hufudb/openhufu/owner/config/OwnerConfig.java @@ -11,6 +11,7 @@ import com.hufudb.openhufu.rpc.grpc.OpenHuFuRpc; import io.grpc.ChannelCredentials; import io.grpc.ServerCredentials; +import redis.clients.jedis.Jedis; public class OwnerConfig { public Party party; @@ -25,6 +26,8 @@ public class OwnerConfig { public List tables; public Map librarys; public String implementorConfigPath; + + public Jedis jedis; public OwnerConfig() {} public OwnerConfig(Party party, int port, String hostname, ExecutorService threadPool, diff --git a/owner/src/main/java/com/hufudb/openhufu/owner/config/OwnerConfigFile.java b/owner/src/main/java/com/hufudb/openhufu/owner/config/OwnerConfigFile.java index 32c7fbde..37cbd1e5 100644 --- a/owner/src/main/java/com/hufudb/openhufu/owner/config/OwnerConfigFile.java +++ b/owner/src/main/java/com/hufudb/openhufu/owner/config/OwnerConfigFile.java @@ -16,10 +16,7 @@ import com.hufudb.openhufu.mpc.ProtocolType; import com.hufudb.openhufu.mpc.lib.LibraryConfig; import com.hufudb.openhufu.mpc.lib.LibraryLoader; -import com.hufudb.openhufu.owner.adapter.Adapter; -import com.hufudb.openhufu.owner.adapter.AdapterConfig; -import com.hufudb.openhufu.owner.adapter.AdapterFactory; -import com.hufudb.openhufu.owner.adapter.AdapterLoader; +import com.hufudb.openhufu.owner.adapter.*; import com.hufudb.openhufu.proto.OpenHuFuService.OwnerInfo; import com.hufudb.openhufu.rpc.grpc.OpenHuFuOwnerInfo; import com.hufudb.openhufu.rpc.grpc.OpenHuFuRpc; @@ -27,6 +24,7 @@ import io.grpc.TlsServerCredentials; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import redis.clients.jedis.Jedis; public class OwnerConfigFile { private static final int THREAD_NUM = 8; @@ -41,6 +39,7 @@ public class OwnerConfigFile { public String trustcertpath; public List tables; public AdapterConfig adapterconfig; + public RedisConfig redisconfig; public List libraryconfigs; public String implementorconfigpath; public OwnerConfigFile(int id, int port, int threadnum, String hostname, String privatekeypath, @@ -148,6 +147,9 @@ public OwnerConfig generateConfig() { throw new OpenHuFuException(ErrorCode.IMPLEMENTOR_CONFIG_FILE_PATH_NOT_SET); } config.implementorConfigPath = implementorconfigpath; + config.jedis = new Jedis(redisconfig.host, redisconfig.port); + config.jedis.auth(redisconfig.pwd); + config.jedis.select(redisconfig.database); return config; } } diff --git a/release/config/owner1.json b/release/config/owner1.json index 985feb44..0d983bc6 100644 --- a/release/config/owner1.json +++ b/release/config/owner1.json @@ -8,6 +8,12 @@ "url": "../dataset/sample/tpc-h/database0", "delimiter": "|" }, + "redisconfig": { + "host" : "192.168.40.230", + "port": 31012, + "pwd": "Wlty*Ny1b!", + "database": 0 + }, "tables": [ { "actualName": "customer", diff --git a/scripts/build/image.sh b/scripts/build/image.sh index 9c56f9eb..749229a2 100644 --- a/scripts/build/image.sh +++ b/scripts/build/image.sh @@ -3,4 +3,5 @@ set -ex ./scripts/build/package.sh -docker build -f ./docker/Dockerfile -t openhufu-server:1.0 . \ No newline at end of file +docker pull openjdk:11 +docker build -f ./Dockerfile -t docker.oa.com:5000/mpc/openhufu-server:1.0 . \ No newline at end of file diff --git a/scripts/build/setup_docker.sh b/scripts/build/setup_docker.sh index c6bee4c4..893063e1 100644 --- a/scripts/build/setup_docker.sh +++ b/scripts/build/setup_docker.sh @@ -2,4 +2,4 @@ #set -ex -docker run -d -t --name=openhufu-server openhufu-server:1.0 \ No newline at end of file +docker run -d -t --name=openhufu-server docker.oa.com:5000/mpc/openhufu-server:1.0 \ No newline at end of file diff --git a/scripts/build/stop_docker.sh b/scripts/build/stop_docker.sh index bd19a931..e4144178 100644 --- a/scripts/build/stop_docker.sh +++ b/scripts/build/stop_docker.sh @@ -2,4 +2,4 @@ #set -ex -docker stop openhufu-server \ No newline at end of file +docker stop docker.oa.com:5000/mpc/openhufu-server:1.0 \ No newline at end of file