github-actions[bot] commented on issue #8436:
URL: 
https://github.com/apache/dolphinscheduler/issues/8436#issuecomment-1045456399


   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/dolphinscheduler/issues?q=is%3Aissue) and 
found no similar issues.
   
   
   ### What happened
   
   After I installed the distributed cluster without any errors, all nodes and 
processes can be normal, when I created a shell script as a test but found that 
the task always fails, it has been determined that it is not a permission 
problem, because the deployment user used ( dolphinscheduler) as a tenant, has 
all permissions under the dolphinscheduler path, and has created a task execute 
path: ./jobs/exec/process/4577755613088/4577887155744_2/2/28 ,
   Execute the file 
./jobs/exec/process/4577755613088/4577887155744_2/2/28/2_28.command but don't 
see it
   See the log for the reproduction steps (ps. file upload always fails)
   The installation configuration is as follows:
   #
   # Licensed to the Apache Software Foundation (ASF) under one or more
   # contributor license agreements. See the NOTICE file distributed with
   # this work for additional information regarding copyright ownership.
   # The ASF licenses this file to You under the Apache License, Version 2.0
   # (the "License"); you may not use this file except in compliance with
   # the License. You may obtain a copy of the License at
   #
   # http://www.apache.org/licenses/LICENSE-2.0
   #
   # Unless required by applicable law or agreed to in writing, software
   # distributed under the License is distributed on an "AS IS" BASIS,
   # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   # See the License for the specific language governing permissions and
   # limitations under the License.
   #
   
   # ------------------------------------------------- --------
   # INSTALL MACHINE
   # ------------------------------------------------- --------
   # A comma separated list of machine hostname or IP would be installed 
DolphinScheduler,
   # including master, worker, api, alert. If you want to deploy in 
pseudo-distributed
   # mode, just write a pseudo-distributed hostname
   # Example for hostnames: ips="ds1,ds2,ds3,ds4,ds5", Example for IPs: 
ips="192.168.8.1,192.168.8.2,192.168.8.3,192.168.8.4,192.168.8.5"
   ips="data01,data02,data03"
   
   # Port of SSH protocol, default value is 22. For now we only support same 
port in all `ips` machine
   # modify it if you use different ssh port
   sshPort="22"
   
   # A comma separated list of machine hostname or IP would be installed Master 
server, it
   # must be a subset of configuration `ips`.
   # Example for hostnames: masters="ds1,ds2", Example for IPs: 
masters="192.168.8.1,192.168.8.2"
   masters="data01"
   
   # A comma separated list of machine <hostname>:<workerGroup> or 
<IP>:<workerGroup>.All hostname or IP must be a
   # subset of configuration `ips`, And workerGroup have default value as 
`default`, but we recommend you declare behind the hosts
   # Example for hostnames: workers="ds1:default,ds2:default,ds3:default", 
Example for IPs: 
workers="192.168.8.1:default,192.168.8.2:default,192.168.8.3:default"
   workers="data01:default,data02:default,data03:default"
   
   # A comma separated list of machine hostname or IP would be installed Alert 
server, it
   # must be a subset of configuration `ips`.
   # Example for hostname: alertServer="ds3", Example for IP: 
alertServer="192.168.8.3"
   alertServer="data03"
   
   # A comma separated list of machine hostname or IP would be installed API 
server, it
   # must be a subset of configuration `ips`.
   # Example for hostname: apiServers="ds1", Example for IP: 
apiServers="192.168.8.1"
   apiServers="data01"
   
   # A comma separated list of machine hostname or IP would be installed Python 
gateway server, it
   # must be a subset of configuration `ips`.
   # Example for hostname: pythonGatewayServers="ds1", Example for IP: 
pythonGatewayServers="192.168.8.1"
   pythonGatewayServers="data01"
   
   # The directory to install DolphinScheduler for all machine we config above. 
It will automatically be created by `install.sh` script if not exists.
   # Do not set this configuration same as the current path (pwd)
   installPath="/data1_1T/dolphinscheduler"
   
   # The user to deploy DolphinScheduler for all machine we config above. For 
now user must create by yourself before running `install.sh`
   # script. The user needs to have sudo privileges and permissions to operate 
hdfs. If hdfs is enabled than the root directory needs
   # to be created by this user
   deployUser="dolphinscheduler"
   
   # The directory to store local data for all machine we config above. Make 
sure user `deployUser` have permissions to read and write this directory.
   dataBasedirPath="~/dolphinscheduler"
   
   # ------------------------------------------------- --------
   #DolphinScheduler ENV
   # ------------------------------------------------- --------
   # JAVA_HOME, we recommend use same JAVA_HOME in all machine you going to 
install DolphinScheduler
   # and this configuration only support one parameter so far.
   javaHome="/opt/dev/jdk1.8.0_212"
   
   # DolphinScheduler API service port, also this is your DolphinScheduler UI 
component's URL port, default value is 12345
   apiServerPort="12345"
   
   # ------------------------------------------------- --------
   # Database
   # NOTICE: If database value has special characters, such as 
`.*[]^${}\+?|()@#&`, Please add prefix `\` for escaping.
   # ------------------------------------------------- --------
   # The type for the metadata database
   # Supported values: ``postgresql``, ``mysql`, `h2``.
   # DATABASE_TYPE=${DATABASE_TYPE:-"h2"}
   DATABASE_TYPE="mysql"
   
SPRING_DATASOURCE_URL="jdbc:mysql://os7:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8"
   
   # Spring datasource url, following <HOST>:<PORT>/<database>?<parameter> 
format, If you using mysql, you could use jdbc
   # string 
jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8
 as example
   
SPRING_DATASOURCE_URL=${SPRING_DATASOURCE_URL:-"jdbc:h2:mem:dolphinscheduler;MODE=MySQL;DB_CLOSE_DELAY=-1;DATABASE_TO_LOWER=true"}
   
   # Spring datasource username
   SPRING_DATASOURCE_USERNAME="op"
   
   # Spring datasource password
   SPRING_DATASOURCE_PASSWORD="123456"
   
   # ------------------------------------------------- --------
   # Registry Server
   # ------------------------------------------------- --------
   # Registry Server plugin name, should be a substring of `registryPluginDir`, 
DolphinScheduler use this for verifying configuration consistency
   registryPluginName="zookeeper"
   
   # Registry Server address.
   registryServers="data01:2181,data02:2181,data03:2181"
   
   # The root of zookeeper, for now DolphinScheduler default registry server is 
zookeeper.
   zkRoot="/dolphinscheduler"
   
   # ------------------------------------------------- --------
   # Worker Task Server
   # ------------------------------------------------- --------
   # Worker Task Server plugin dir. DolphinScheduler will find and load the 
worker task plugin jar package from this dir.
   taskPluginDir="lib/plugin/task"
   
   # resource storage type: HDFS, S3, NONE
   resourceStorageType="NONE"
   
   # resource store on HDFS/S3 path, resource file will store to this hdfs 
path, self configuration, please make sure the directory exists on hdfs and has 
read write permissions. "/dolphinscheduler" is recommended
   resourceUploadPath="/dolphinscheduler"
   
   # if resourceStorageType is HDFS, defaultFS write namenode address, HA, you 
need to put core-site.xml and hdfs-site.xml in the conf directory.
   # if S3, write S3 address, HA, for example: s3a://dolphinscheduler,
   # Note, S3 be sure to create the root directory /dolphinscheduler
   defaultFS="hdfs://mycluster:8020"
   
   # if resourceStorageType is S3, the following three configuration is 
required, otherwise please ignore
   s3Endpoint="http://192.168.xx.xx:9010";
   s3AccessKey="xxxxxxxxxx"
   s3SecretKey="xxxxxxxxxx"
   
   # resourcemanager port, the default value is 8088 if not specified
   resourceManagerHttpAddressPort="8088"
   
   # if resourcemanager HA is enabled, please set the HA IPs; if 
resourcemanager is single node, keep this value empty
   yarnHaIps="192.168.xx.xx,192.168.xx.xx"
   
   # if resourcemanager HA is enabled or not use resourcemanager, please keep 
the default value; If resourcemanager is single node, you only need to replace 
'yarnIp1' to actual resourcemanager hostname
   singleYarnIp="yarnIp1"
   
   # who has permission to create directory under HDFS/S3 root path
   # Note: if kerberos is enabled, please config hdfsRootUser=
   hdfsRootUser="hdfs"
   
   # kerberos config
   # whether kerberos starts, if kerberos starts, following four items need to 
config, otherwise please ignore
   kerberosStartUp="false"
   # kdc krb5 config file path
   krb5ConfPath="$installPath/conf/krb5.conf"
   # keytab username, watch out the @ sign should be followed by \\
   keytabUserName="hdfs-mycluster\\@ESZ.COM"
   # username keytab path
   keytabPath="$installPath/conf/hdfs.headless.keytab"
   # kerberos expire time, the unit is hour
   kerberosExpireTime="2"
   
   # use sudo or not
   sudoEnable="true"
   
   # tenant worker auto create
   workerTenantAutoCreate="false"
   
   
   
   ### What you expected to happen
   
   Can perform tasks such as shell normally
   
   ### How to reproduce
   
   After deploying the cluster, make sure that all processes can start normally,
   Use the login ds web management page,
   Create a normal test user, use the dolphinscheduler added by default 
(deployment user), create a token for test, submit the token, confirm the 
validity period,
   Use the test user to log in to ds web,
   Create a shell workflow, only need one node, script content: echo 'hello 
dolphin' ,
   Save the workflow, go online, run it manually, and you can get the running 
log as follows:
   [LOG-PATH]: /data1_1T/dolphinscheduler/logs/4577887155744_2/2/28.log, 
[HOST]: 192.168.100.102
   [INFO] 2022-02-19 00:29:00.378 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[83] - shell task 
params {"resourceList":[],"localParams":[ ],"rawScript":"echo 'hello 
dolphin'","dependence":{},"conditionResult":{"successNode":[],"failedNode":[]},"waitStartTimeout":{},"switchResult
 ":{}}
   [INFO] 2022-02-19 00:29:00.424 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[137] - raw script : 
echo 'hello dolphin'
   [INFO] 2022-02-19 00:29:00.425 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[138] - task execute 
path : ./jobs/exec/process/4577755613088/4577887155744_2/ 2/28
   [INFO] 2022-02-19 00:29:00.596 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[86] - tenantCode 
user:dolphinscheduler, task dir:2_28
   [INFO] 2022-02-19 00:29:00.596 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[91] - create command 
file:./jobs/exec/process/4577755613088/4577887155744_2/ 2/28/2_28.command
   [INFO] 2022-02-19 00:29:00.597 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[117] - command : 
#!/bin/sh
   BASEDIR=$(cd `dirname $0`; pwd)
   cd $BASEDIR
   source /data1_1T/dolphinscheduler/conf/env/dolphinscheduler_env.sh
   ./jobs/exec/process/4577755613088/4577887155744_2/2/28/2_28_node.sh
   [INFO] 2022-02-19 00:29:00.622 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[285] - task run 
command: sudo -u dolphinscheduler sh ./jobs/exec/process 
/4577755613088/4577887155744_2/2/28/2_28.command
   [INFO] 2022-02-19 00:29:00.625 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[176] - process start, 
process id is: 101187
   [INFO] 2022-02-19 00:29:00.647 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[200] - process has 
exited, execute path:./jobs/exec/process/4577755613088 /4577887155744_2/2/28, 
processId:101187 ,exitStatusCode:127 ,processWaitForStatus:true 
,processExitValue:127
   [INFO] 2022-02-19 00:29:01.627 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[66] - -> welcome to 
use bigdata scheduling system...
       sh: ./jobs/exec/process/4577755613088/4577887155744_2/2/28/2_28.command: 
No such file or directory
   [INFO] 2022-02-19 00:29:01.628 TaskLogLogger-class 
org.apache.dolphinscheduler.plugin.task.shell.ShellTask:[60] - FINALIZE_SESSION
   
   
   ### Anything else
   
   Reproduces every time, restarting all processes is still the same
   
   ### Version
   
   2.0.2
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to