#!/bin/sh
########## HELP ###########
if [ $# -ne 0 ];then
if [ $1 == "-h" -o $1 == "-help" ];then
echo -e "
示例:
./test # 启动本地模式,不修改任何配置
./test -master master -slave slave1,slave2,slave3 ... # 启动集群模式,创建master,指定master的地址及端口,以及slave的地址
./test -master msater # 启动集群模式,创建slave,指定master的地址及端口
";
exit 0;
fi;
fi;
DOWNLOAD_PATH=""
################ 创建flink ########################
INSTALL_PATH="/usr/local/src"
FLINK_UNPACK_PATH="${INSTALL_PATH}/flink-1.3.1"
FLINK_GZIP="flink-1.3.1-bin-hadoop2-scala_2.10.tgz"
FLINK_CONF_DIR="${FLINK_UNPACK_PATH}/conf"
if [ ! -f ${FLINK_GZIP} ];then
wget https://archive.apache.org/dist/flink/flink-1.3.1/${FLINK_GZIP} # 下载flink二进制包
fi;
# flink加压之后可直接通过shell脚本启动、关闭
# /usr/local/src/flink-1.3.1/bin/start-local.sh
# /usr/local/src/flink-1.3.1/bin/stop-local.sh
tar xzf ${FLINK_GZIP} -C ${INSTALL_PATH}
# 解压文件
if [ $? -ne 0 ];then
exit 1;
fi;
# 本地模式
if [ $# -eq 0 ];then
exit 1;
fi;
# 集群创建
# 创建master,修改flink-conf.yaml、slaves
if [ $# -eq 4 ];then
sed -i 's/jobmanager.rpc.address: localhost/jobmanager.rpc.address: '${2}'/g' ${FLINK_CONF_DIR}/flink-conf.yaml # 修改rpc地址,指向master
cat /dev/null > ${FLINK_CONF_DIR}/slaves
# 将slave分割
arr=(${4//,/ })
for i in ${arr[@]}
do
echo $i >> ${FLINK_CONF_DIR}/slaves;
done
exit 1;
fi;
# 创建slave
if [ $1"a" == "-mastera" ];then
sed -i 's/jobmanager.rpc.address: localhost/jobmanager.rpc.address: '${2}'/g' ${FLINK_CONF_DIR}/flink-conf.yaml # 修改rpc地址,指向master
cat /dev/null > ${FLINK_CONF_DIR}/masters
# 将master分割
arr=(${2//,/ })
for i in ${arr[@]}
do
echo $i':8081' >> ${FLINK_CONF_DIR}/masters;
done
exit 1;
fi;
############## flink 创建完成 ########################
flink集群一键安装脚本 -- flink集群安装
最新推荐文章于 2024-07-19 14:27:39 发布