From d262b194e591a4776106f296a86da63292b114b8 Mon Sep 17 00:00:00 2001 From: v_xiangbiaowu Date: Mon, 27 Jun 2022 16:58:34 +0800 Subject: [PATCH 1/3] Remove StreamSQL development menu in DSS --- streamis-appconn/src/main/resources/init.sql | 7 ------- 1 file changed, 7 deletions(-) diff --git a/streamis-appconn/src/main/resources/init.sql b/streamis-appconn/src/main/resources/init.sql index 165729516..6e57d8314 100644 --- a/streamis-appconn/src/main/resources/init.sql +++ b/streamis-appconn/src/main/resources/init.sql @@ -1,12 +1,10 @@ select @old_dss_appconn_id:=id from `dss_appconn` where `appconn_name` = 'streamis'; -delete from `dss_workspace_menu_appconn` WHERE `appconn_id` = @old_dss_appconn_id; delete from `dss_appconn_instance` where `appconn_id` = @old_dss_appconn_id; delete from `dss_appconn` where `appconn_name`='streamis'; select @old_jobcenter_dss_appconn_id:=id from `dss_appconn` where `appconn_name` = 'realTimeJobCenter'; -delete from `dss_workspace_menu_appconn` WHERE `appconn_id` = @old_jobcenter_dss_appconn_id; delete from `dss_appconn_instance` where `appconn_id` = @old_jobcenter_dss_appconn_id; delete from `dss_appconn` where `appconn_name`='realTimeJobCenter'; @@ -20,11 +18,6 @@ VALUES('realTimeJobCenter', 0, 1, 1, 1, 'sso', '', NULL, NULL); select @dss_appconn_id:=id from `dss_appconn` where `appconn_name` = 'streamis'; select @jobcenter_dss_appconn_id:=id from `dss_appconn` where `appconn_name` = 'realTimeJobCenter'; -INSERT INTO dss_workspace_menu_appconn -(appconn_id, menu_id, title_en, title_cn, desc_en, desc_cn, labels_en, labels_cn, is_active, access_button_en, access_button_cn, manual_button_en, manual_button_cn, manual_button_url, icon, `order`, create_by, create_time, last_update_time, last_update_user, image) -VALUES(@jobcenter_dss_appconn_id, 1, 'StreamSQL development', 'StreamSQL开发', 'Real-time application development is a streaming solution jointly built by WeDataSphere, Boss big data team and China Telecom ctcloud Big data team.', '实时应用开发是微众银行微数域(WeDataSphere)、Boss直聘大数据团队 和 中国电信天翼云大数据团队 社区联合共建的流式解决方案,以 Linkis 做为内核,基于 Flink Engine 构建的批流统一的 Flink SQL,助力实时化转型。', -'streaming, realtime', '流式,实时', 0, 'under union construction', '联合共建中', 'related information', '相关资讯', 'http://127.0.0.1:8088/wiki/scriptis/manual/workspace_cn.html', 'shujukaifa-logo', NULL, NULL, NULL, NULL, NULL, 'shujukaifa-icon'); - INSERT INTO dss_appconn_instance (appconn_id, label, url, enhance_json, homepage_uri) VALUES(@dss_appconn_id, 'DEV', 'http://APPCONN_INSTALL_IP:APPCONN_INSTALL_PORT/', '', 'http://APPCONN_INSTALL_IP:APPCONN_INSTALL_PORT/#/realTimeJobCenter'); From d5d74072ab4a1117ca565132bffdde1c6ad65765 Mon Sep 17 00:00:00 2001 From: v_xiangbiaowu Date: Mon, 27 Jun 2022 21:28:51 +0800 Subject: [PATCH 2/3] Optimize install.sh --- bin/install.sh | 53 ++++++++----------- .../jobmanager/restful/api/JobRestfulApi.java | 2 +- 2 files changed, 23 insertions(+), 32 deletions(-) diff --git a/bin/install.sh b/bin/install.sh index 8dc6c6b0b..35d03c1b5 100644 --- a/bin/install.sh +++ b/bin/install.sh @@ -20,7 +20,6 @@ txt="" if [[ "$OSTYPE" == "darwin"* ]]; then txt="''" elif [[ "$OSTYPE" == "linux-gnu" ]]; then - # linux txt="" elif [[ "$OSTYPE" == "cygwin" ]]; then echo "streamis not support Windows operating system" @@ -100,48 +99,40 @@ if [[ '2' = "$MYSQL_INSTALL_MODE" ]];then fi - -###linkis Eurkea info -SERVER_IP=$EUREKA_INSTALL_IP -SERVER_PORT=$EUREKA_PORT -SERVER_HOME=$STREAMIS_INSTALL_HOME - -if test -z "$SERVER_IP" -then - SERVER_IP=$local_host -fi -EUREKA_URL=http://$SERVER_IP:$EUREKA_PORT/eureka/ +EUREKA_URL=http://$EUREKA_INSTALL_IP:$EUREKA_PORT/eureka/ ##function start function installPackage(){ echo "start to install $SERVERNAME" echo "$SERVERNAME-step1: create dir" -if test -z "$SERVER_IP" -then - SERVER_IP=$local_host -fi -if ! ssh -p $SSH_PORT $SERVER_IP test -e $SERVER_HOME; then - ssh -p $SSH_PORT $SERVER_IP "sudo mkdir -p $SERVER_HOME;sudo chown -R $deployUser:$deployUser $SERVER_HOME" +if ! test -e $SERVER_HOME; then + sudo mkdir -p $SERVER_HOME;sudo chown -R $deployUser:$deployUser $SERVER_HOME isSuccess "create the dir of $SERVERNAME" fi echo "$SERVERNAME-step2:copy install package" -scp -P $SSH_PORT ${workDir}/share/$PACKAGE_DIR/$SERVERNAME.zip $SERVER_IP:$SERVER_HOME +cp ${workDir}/share/$PACKAGE_DIR/$SERVERNAME.zip $SERVER_HOME isSuccess "copy ${SERVERNAME}.zip" -ssh -p $SSH_PORT $SERVER_IP "cd $SERVER_HOME/;rm -rf $SERVERNAME-bak; mv -f $SERVERNAME $SERVERNAME-bak" -ssh -p $SSH_PORT $SERVER_IP "cd $SERVER_HOME/;unzip $SERVERNAME.zip > /dev/null" +cd $SERVER_HOME/;rm -rf $SERVERNAME-bak; mv -f $SERVERNAME $SERVERNAME-bak +cd $SERVER_HOME/;unzip $SERVERNAME.zip > /dev/null isSuccess "unzip ${SERVERNAME}.zip" echo "$SERVERNAME-step3:subsitution conf" SERVER_CONF_PATH=$SERVER_HOME/$SERVERNAME/conf/application.yml -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#port:.*#port: $SERVER_PORT#g\" $SERVER_CONF_PATH" -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#defaultZone:.*#defaultZone: $EUREKA_URL#g\" $SERVER_CONF_PATH" -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#hostname:.*#hostname: $SERVER_IP#g\" $SERVER_CONF_PATH" +sed -i "s#port:.*#port: $SERVER_PORT#g" $SERVER_CONF_PATH +sed -i "s#defaultZone:.*#defaultZone: $EUREKA_URL#g" $SERVER_CONF_PATH +sed -i "s#hostname:.*#hostname: $SERVER_IP#g" $SERVER_CONF_PATH isSuccess "subsitution conf of $SERVERNAME" } -##function end +function setDatasourcePassword(){ + PASSWORD=$MYSQL_PASSWORD + temp=${PASSWORD//#/%tream%} + sed -i "s#wds.linkis.server.mybatis.datasource.password.*#wds.linkis.server.mybatis.datasource.password=$temp#g" $SERVER_CONF_PATH + sed -i "s/%tream%/#/g" $SERVER_CONF_PATH +} +##function end ##Streamis-Server Install @@ -155,12 +146,12 @@ installPackage ###update Streamis-Server linkis.properties echo "$SERVERNAME-step4:update linkis.properties" SERVER_CONF_PATH=$SERVER_HOME/$SERVERNAME/conf/linkis.properties -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#wds.linkis.server.mybatis.datasource.url.*#wds.linkis.server.mybatis.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DB}?characterEncoding=UTF-8#g\" $SERVER_CONF_PATH" -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#wds.linkis.server.mybatis.datasource.username.*#wds.linkis.server.mybatis.datasource.username=$MYSQL_USER#g\" $SERVER_CONF_PATH" -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#wds.linkis.server.mybatis.datasource.password.*#wds.linkis.server.mybatis.datasource.password=$MYSQL_PASSWORD#g\" $SERVER_CONF_PATH" -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#wds.linkis.gateway.ip.*#wds.linkis.gateway.ip=$GATEWAY_INSTALL_IP#g\" $SERVER_CONF_PATH" -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#wds.linkis.gateway.port.*#wds.linkis.gateway.port=$GATEWAY_PORT#g\" $SERVER_CONF_PATH" -ssh -p $SSH_PORT $SERVER_IP "sed -i \"s#wds.linkis.gateway.url.*#wds.linkis.gateway.url=http://${GATEWAY_INSTALL_IP}:${GATEWAY_PORT}#g\" $SERVER_CONF_PATH" +sed -i "s#wds.linkis.server.mybatis.datasource.url.*#wds.linkis.server.mybatis.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DB}?characterEncoding=UTF-8#g" $SERVER_CONF_PATH +sed -i "s#wds.linkis.server.mybatis.datasource.username.*#wds.linkis.server.mybatis.datasource.username=$MYSQL_USER#g" $SERVER_CONF_PATH +setDatasourcePassword +sed -i "s#wds.linkis.gateway.ip.*#wds.linkis.gateway.ip=$GATEWAY_INSTALL_IP#g" $SERVER_CONF_PATH +sed -i "s#wds.linkis.gateway.port.*#wds.linkis.gateway.port=$GATEWAY_PORT#g" $SERVER_CONF_PATH +sed -i "s#wds.linkis.gateway.url.*#wds.linkis.gateway.url=http://${GATEWAY_INSTALL_IP}:${GATEWAY_PORT}#g" $SERVER_CONF_PATH isSuccess "subsitution linkis.properties of $SERVERNAME" echo "<----------------$SERVERNAME:end------------------->" echo "" diff --git a/streamis-jobmanager/streamis-jobmanager-server/src/main/java/com/webank/wedatasphere/streamis/jobmanager/restful/api/JobRestfulApi.java b/streamis-jobmanager/streamis-jobmanager-server/src/main/java/com/webank/wedatasphere/streamis/jobmanager/restful/api/JobRestfulApi.java index 736b4cbbc..6d6591d74 100644 --- a/streamis-jobmanager/streamis-jobmanager-server/src/main/java/com/webank/wedatasphere/streamis/jobmanager/restful/api/JobRestfulApi.java +++ b/streamis-jobmanager/streamis-jobmanager-server/src/main/java/com/webank/wedatasphere/streamis/jobmanager/restful/api/JobRestfulApi.java @@ -102,7 +102,7 @@ public Message createOrUpdate(HttpServletRequest req, @Validated @RequestBody Me if (StringUtils.isBlank(projectName)){ return Message.error("Project name cannot be empty(项目名不能为空,请指定)"); } - if(!this.privilegeService.hasAccessPrivilege(req, projectName)){ + if(!this.privilegeService.hasEditPrivilege(req, projectName)){ return Message.error("Have no permission to create or update StreamJob in project [" + projectName + "]"); } StreamJobVersion job = streamJobService.createOrUpdate(username, metaJsonInfo); From f9f0b65cb25c93e64ff577a4b070a60928bf0ce6 Mon Sep 17 00:00:00 2001 From: v_xiangbiaowu Date: Tue, 28 Jun 2022 18:22:18 +0800 Subject: [PATCH 3/3] Solve the problem of no loss of Streamis Product Center --- streamis-appconn/src/main/resources/init.sql | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/streamis-appconn/src/main/resources/init.sql b/streamis-appconn/src/main/resources/init.sql index 6e57d8314..4f9234fc3 100644 --- a/streamis-appconn/src/main/resources/init.sql +++ b/streamis-appconn/src/main/resources/init.sql @@ -1,10 +1,18 @@ +delete from `dss_workspace_dictionary` WHERE `appconn_name` = 'streamis'; + +INSERT INTO `dss_workspace_dictionary` ( `workspace_id`, `parent_key`, `dic_name`, `dic_name_en`, `dic_key`, `dic_value`, `dic_value_en`, `title`, `title_en`, `url`, `url_type`,`icon`, `order_num`, `remark`, `create_user`, `create_time`, `update_user`, `update_time`, appconn_name) +VALUES ('0','p_develop_process','流式生产中心','Streamis Product Center','pdp_streamis_product_center','streamis_prod',NULL,NULL,NULL, +'http://APPCONN_INSTALL_IP:APPCONN_INSTALL_PORT/#/realtimeJobCenter?projectName=${projectName}&workspaceName=${workspaceName}','0','kaifa-icon','1','工程开发流程-流式生产中心','SYSTEM','2020-12-28 17:32:35',NULL,'2022-06-30 17:49:02','streamis'); + select @old_dss_appconn_id:=id from `dss_appconn` where `appconn_name` = 'streamis'; +delete from `dss_workspace_menu_appconn` WHERE `appconn_id` = @old_dss_appconn_id; delete from `dss_appconn_instance` where `appconn_id` = @old_dss_appconn_id; delete from `dss_appconn` where `appconn_name`='streamis'; select @old_jobcenter_dss_appconn_id:=id from `dss_appconn` where `appconn_name` = 'realTimeJobCenter'; +delete from `dss_workspace_menu_appconn` WHERE `appconn_id` = @old_jobcenter_dss_appconn_id; delete from `dss_appconn_instance` where `appconn_id` = @old_jobcenter_dss_appconn_id; delete from `dss_appconn` where `appconn_name`='realTimeJobCenter'; @@ -18,6 +26,11 @@ VALUES('realTimeJobCenter', 0, 1, 1, 1, 'sso', '', NULL, NULL); select @dss_appconn_id:=id from `dss_appconn` where `appconn_name` = 'streamis'; select @jobcenter_dss_appconn_id:=id from `dss_appconn` where `appconn_name` = 'realTimeJobCenter'; +INSERT INTO dss_workspace_menu_appconn +(appconn_id, menu_id, title_en, title_cn, desc_en, desc_cn, labels_en, labels_cn, is_active, access_button_en, access_button_cn, manual_button_en, manual_button_cn, manual_button_url, icon, `order`, create_by, create_time, last_update_time, last_update_user, image) +VALUES(@jobcenter_dss_appconn_id, 1, 'StreamSQL development', 'StreamSQL开发', 'Real-time application development is a streaming solution jointly built by WeDataSphere, Boss big data team and China Telecom ctcloud Big data team.', '实时应用开发是微众银行微数域(WeDataSphere)、Boss直聘大数据团队 和 中国电信天翼云大数据团队 社区联合共建的流式解决方案,以 Linkis 做为内核,基于 Flink Engine 构建的批流统一的 Flink SQL,助力实时化转型。', +'streaming, realtime', '流式,实时', 0, 'under union construction', '联合共建中', 'related information', '相关资讯', 'http://127.0.0.1:8088/wiki/scriptis/manual/workspace_cn.html', 'shujukaifa-logo', NULL, NULL, NULL, NULL, NULL, 'shujukaifa-icon'); + INSERT INTO dss_appconn_instance (appconn_id, label, url, enhance_json, homepage_uri) VALUES(@dss_appconn_id, 'DEV', 'http://APPCONN_INSTALL_IP:APPCONN_INSTALL_PORT/', '', 'http://APPCONN_INSTALL_IP:APPCONN_INSTALL_PORT/#/realTimeJobCenter');