occlum/demos/cluster_serving/start-flink-taskmanager.sh
2021-08-16 21:04:22 +08:00

72 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
set -e
BLUE='\033[1;34m'
NC='\033[0m'
conf_dir=conf
id=$([ -f "$pid" ] && echo $(wc -l < "$pid") || echo "0")
FLINK_LOG_PREFIX="/host/flink--$postfix-${id}"
log="${FLINK_LOG_PREFIX}.log"
out="./flink--$postfix-${id}.out"
core_num=1
job_manager_host=127.0.0.1
job_manager_rest_port=8081
job_manager_rpc_port=6123
task_manager_host=127.0.0.1
task_manager_data_port=6124
task_manager_rpc_port=6125
task_manager_taskslots_num=1
flink_home=$FLINK_HOME
flink_version=$FLINK_VERSION
run_taskmanager() {
# enter occlum image
cd flink
#if conf_dir exists, use the new configurations.
if [[ -d $conf_dir && "$(ls -A $conf_dir)" ]]; then
cp -r $conf_dir/* image/opt/conf/
occlum build
fi
echo -e "${BLUE}occlum run JVM taskmanager${NC}"
echo -e "${BLUE}logfile=$log${NC}"
# start task manager in occlum
occlum run /usr/lib/jvm/java-11-openjdk-amd64/bin/java \
-XX:+UseG1GC -Xmx1152m -Xms1152m -XX:MaxDirectMemorySize=512m -XX:MaxMetaspaceSize=256m \
-Dos.name=Linux \
-XX:ActiveProcessorCount=${core_num} \
-Dlog.file=$log \
-Dlog4j.configuration=file:/opt/conf/log4j.properties \
-Dlogback.configurationFile=file:/opt/conf/logback.xml \
-classpath /bin/lib/* org.apache.flink.runtime.taskexecutor.TaskManagerRunner \
-Dorg.apache.flink.shaded.netty4.io.netty.tryReflectionSetAccessible=true \
-Dorg.apache.flink.shaded.netty4.io.netty.eventLoopThreads=${core_num} \
-Dcom.intel.analytics.zoo.shaded.io.netty.tryReflectionSetAccessible=true \
--configDir /opt/conf \
-D rest.bind-address=${job_manager_host} \
-D rest.bind-port=${job_manager_rest_port} \
-D jobmanager.rpc.address=${job_manager_host} \
-D jobmanager.rpc.port=${job_manager_rpc_port} \
-D jobmanager.heap.size=5g \
-D taskmanager.host=${task_manager_host} \
-D taskmanager.data.port=${task_manager_data_port} \
-D taskmanager.rpc.port=${task_manager_rpc_port} \
-D taskmanager.numberOfTaskSlots=${task_manager_taskslots_num} \
-D taskmanager.cpu.cores=${core_num} \
-D taskmanager.memory.framework.off-heap.size=256mb \
-D taskmanager.memory.network.max=256mb \
-D taskmanager.memory.network.min=256mb \
-D taskmanager.memory.framework.heap.size=128mb \
-D taskmanager.memory.managed.size=800mb \
-D taskmanager.cpu.cores=1.0 \
-D taskmanager.memory.task.heap.size=1024mb \
-D taskmanager.memory.task.off-heap.size=0mb 2>&1 | tee $out &
}
run_taskmanager