Please MASK any privacy information at the attachments.

> 2021年10月7日 下午2:02,luoc <l...@apache.org> 写道:
> 
> Hi Prabhakar,
>  Could you please post the error stack traces (in the log file) ? you can 
> also send these messages as the email attachment for better.
> 
>> 2021年10月6日 下午1:57,Prabhakar Bhosaale <bhosale....@gmail.com> 写道:
>> 
>> Hi Luoc,
>> Any pointers on the validation error mentioned in my last email?  thanks in
>> advance.
>> 
>> 
>> Regards
>> Prabhakar
>> 
>> On Tue, Oct 5, 2021 at 4:38 PM Prabhakar Bhosaale <bhosale....@gmail.com>
>> wrote:
>> 
>>> hi Luoc,
>>> I gave full permission to the UDF folder and that error is gone and
>>> drillbit started successfully. But when I query the json file I get the
>>> following error message.
>>> 
>>> 2021-10-05 16:33:18,428 [1ea3cf09-19d4-55fe-3b84-6235e7f1eae6:foreman]
>>> INFO o.a.drill.exec.work.foreman.Foreman - Query text for query with id
>>> 1ea3cf09-19d4-55fe-3b84-6235e7f1eae6 issued by anonymous: select * from
>>> archival_hdfs.`mytable`
>>> 2021-10-05 16:33:18,435 [1ea3cf09-19d4-55fe-3b84-6235e7f1eae6:foreman]
>>> INFO o.a.d.e.p.s.conversion.SqlConverter - User Error Occurred: Invalid
>>> range: [0..-1) (Invalid range: [0..-1))
>>> org.apache.drill.common.exceptions.UserException: VALIDATION ERROR:
>>> Invalid range: [0..-1)
>>> 
>>> Regards
>>> Prabhakar
>>> 
>>> On Tue, Oct 5, 2021 at 2:28 PM luoc <l...@apache.org> wrote:
>>> 
>>>> Hi Prabhakar,
>>>> If you removed the configured UDF block, can all the Drillbit start
>>>> properly?
>>>> I mean, if the host is configured but not working, we need to locate the
>>>> wrong configuration block first.
>>>> 
>>>>> 2021年10月4日 下午1:13,Prabhakar Bhosaale <bhosale....@gmail.com> 写道:
>>>>> 
>>>>> hi Luoc,
>>>>> 
>>>>> I already tried giving hdfs host name in UDF section and even then it
>>>> gives
>>>>> same error.
>>>>> My understanding of that element is that it just tell what kind of file
>>>>> system it need to use.  I checked for the documentation on understanding
>>>>> the every element of that configuration file but could not find it. If
>>>> you
>>>>> could give me some pointers for the documentation that would be great.
>>>> thx
>>>>> 
>>>>> Regards
>>>>> Prabhakar
>>>>> 
>>>>> 
>>>>> 
>>>>> On Sat, Oct 2, 2021 at 1:08 PM luoc <l...@apache.org> wrote:
>>>>> 
>>>>>> Hi Prabhakar,
>>>>>> 
>>>>>> Which configuration block is the host name you mentioned? I see that
>>>> the
>>>>>> UDF block.
>>>>>> 
>>>>>> ```
>>>>>>  # instead of default taken from Hadoop configuration
>>>>>>  fs: "hdfs:///",
>>>>>> ```
>>>>>> 
>>>>>>> 在 2021年10月2日,15:11,Prabhakar Bhosaale <bhosale....@gmail.com> 写道:
>>>>>>> 
>>>>>>> Hi Luoc,
>>>>>>> Could you please help with it?  thanks
>>>>>>> 
>>>>>>> Regards
>>>>>>> Prabhakar
>>>>>>> 
>>>>>>>> On Fri, Oct 1, 2021 at 4:55 PM Prabhakar Bhosaale <
>>>>>> bhosale....@gmail.com>
>>>>>>>> wrote:
>>>>>>>> Hi Luoc,
>>>>>>>> I have already given the host name. Below is the complete file for
>>>> your
>>>>>>>> reference. Not sure where to give the hostname.
>>>>>>>> # 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.
>>>>>>>> #
>>>>>>>> #  This file tells Drill to consider this module when class path
>>>>>> scanning.
>>>>>>>> #  This file can also include any supplementary configuration
>>>>>> information.
>>>>>>>> #  This file is in HOCON format, see
>>>>>>>> https://github.com/typesafehub/config/blob/master/HOCON.md for more
>>>>>>>> information.
>>>>>>>> drill.logical.function.packages +=
>>>> "org.apache.drill.exec.expr.fn.impl"
>>>>>>>> drill.exec: {
>>>>>>>> cluster-id: "drillcluster"
>>>>>>>> rpc: {
>>>>>>>> user: {
>>>>>>>> server: {
>>>>>>>>   port: 31010
>>>>>>>>   threads: 1
>>>>>>>> }
>>>>>>>> client: {
>>>>>>>>   threads: 1
>>>>>>>> }
>>>>>>>> },
>>>>>>>> bit: {
>>>>>>>> server: {
>>>>>>>>   port : 31011,
>>>>>>>>   retry:{
>>>>>>>>     count: 7200,
>>>>>>>>     delay: 500
>>>>>>>>   },
>>>>>>>>   threads: 1
>>>>>>>> }
>>>>>>>> },
>>>>>>>> use.ip : false
>>>>>>>> },
>>>>>>>> operator: {
>>>>>>>> packages += "org.apache.drill.exec.physical.config"
>>>>>>>> },
>>>>>>>> optimizer: {
>>>>>>>> implementation: "org.apache.drill.exec.opt.IdentityOptimizer"
>>>>>>>> },
>>>>>>>> functions: ["org.apache.drill.expr.fn.impl"],
>>>>>>>> storage: {
>>>>>>>> packages += "org.apache.drill.exec.store",
>>>>>>>> file: {
>>>>>>>> text: {
>>>>>>>>   buffer.size: 262144,
>>>>>>>>   batch.size: 4000
>>>>>>>> },
>>>>>>>> partition.column.label: "dir"
>>>>>>>> },
>>>>>>>> # The action on the storage-plugins-override.conf after it's use.
>>>>>>>> # Possible values are "none" (default), "rename", "remove"
>>>>>>>> action_on_plugins_override_file: "none"
>>>>>>>> },
>>>>>>>> zk: {
>>>>>>>> connect: "10.81.68.6:2181,10.81.68.110:2181,10.81.70.139:2181",
>>>>>>>> root: "user/pstore",
>>>>>>>> refresh: 500,
>>>>>>>> timeout: 5000,
>>>>>>>> retry: {
>>>>>>>> count: 7200,
>>>>>>>> delay: 500
>>>>>>>> }
>>>>>>>> # This option controls whether Drill specifies ACLs when it creates
>>>>>>>> znodes.
>>>>>>>> # If this is 'false', then anyone has all privileges for all Drill
>>>>>>>> znodes.
>>>>>>>> # This corresponds to ZOO_OPEN_ACL_UNSAFE.
>>>>>>>> # Setting this flag to 'true' enables the provider specified in
>>>>>>>> "acl_provider"
>>>>>>>> apply_secure_acl: false,
>>>>>>>> # This option specified the ACL provider to be used by Drill.
>>>>>>>> # Custom ACL providers can be provided in the Drillbit classpath and
>>>>>>>> Drill can be made to pick them
>>>>>>>> # by changing this option.
>>>>>>>> # Note: This option has no effect if "apply_secure_acl" is 'false'
>>>>>>>> #
>>>>>>>> # The default "creator-all" will setup ACLs such that
>>>>>>>> #    - Only the Drillbit user will have all privileges(create,
>>>> delete,
>>>>>>>> read, write, admin). Same as ZOO_CREATOR_ALL_ACL
>>>>>>>> #    - Other users will only be able to read the
>>>>>>>> cluster-discovery(list of Drillbits in the cluster) znodes.
>>>>>>>> #
>>>>>>>> acl_provider: "creator-all"
>>>>>>>> },
>>>>>>>> http: {
>>>>>>>> enabled: true,
>>>>>>>> ssl_enabled: false,
>>>>>>>> port: 8047
>>>>>>>> session_max_idle_secs: 3600, # Default value 1hr
>>>>>>>> cors: {
>>>>>>>> enabled: false,
>>>>>>>> allowedOrigins: ["null"],
>>>>>>>> allowedMethods: ["GET", "POST", "HEAD", "OPTIONS"],
>>>>>>>> allowedHeaders: ["X-Requested-With", "Content-Type", "Accept",
>>>>>>>> "Origin"],
>>>>>>>> credentials: true
>>>>>>>> },
>>>>>>>> auth: {
>>>>>>>>   # Http Auth mechanisms to configure. If not provided but
>>>> user.auth
>>>>>>>> is enabled
>>>>>>>>   # then default value is ["FORM"].
>>>>>>>>   mechanisms: ["BASIC", "FORM", "SPNEGO"],
>>>>>>>>   # Spnego principal to be used by WebServer when Spnego
>>>>>>>> authentication is enabled.
>>>>>>>>   spnego.principal: "HTTP://<localhost>"
>>>>>>>>   # Location to keytab file for above spnego principal
>>>>>>>>   spnego.keytab: "<keytab_file_location>";
>>>>>>>> },
>>>>>>>> jetty: {
>>>>>>>> server: {
>>>>>>>>   # development option which allows to log Jetty server state after
>>>>>>>> start
>>>>>>>>   dumpAfterStart: false,
>>>>>>>>   # Optional params to set on Jetty's
>>>>>>>> org.eclipse.jetty.util.ssl.SslContextFactory when
>>>>>>>> drill.exec.http.ssl_enabled
>>>>>>>>   sslContextFactory: {
>>>>>>>>     # allows to specify cert to use when multiple non-SNI
>>>>>>>> certificates are available.
>>>>>>>>     certAlias: "certAlias",
>>>>>>>>     # path to file that contains Certificate Revocation List
>>>>>>>>     crlPath: "/etc/file.crl",
>>>>>>>>     # enable Certificate Revocation List Distribution Points
>>>> Support
>>>>>>>>     enableCRLDP: false,
>>>>>>>>     # enable On-Line Certificate Status Protocol support
>>>>>>>>     enableOCSP: false,
>>>>>>>>     # when set to "HTTPS" hostname verification will be enabled
>>>>>>>>     endpointIdentificationAlgorithm: "HTTPS",
>>>>>>>>     # accepts exact cipher suite names and/or regular expressions.
>>>>>>>>     excludeCipherSuites: ["SSL_DHE_DSS_WITH_DES_CBC_SHA"],
>>>>>>>>     # list of TLS/SSL protocols to exclude
>>>>>>>>     excludeProtocols: ["TLSv1.1"],
>>>>>>>>     # accepts exact cipher suite names and/or regular expressions.
>>>>>>>>     includeCipherSuites: ["SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
>>>>>>>> "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"],
>>>>>>>>     # list of TLS/SSL protocols to include
>>>>>>>>     includeProtocols: ["TLSv1.2", "TLSv1.3"],
>>>>>>>>     # the algorithm name (default "SunX509") used by the
>>>>>>>> javax.net.ssl.KeyManagerFactory
>>>>>>>>     keyManagerFactoryAlgorithm: "SunX509",
>>>>>>>>     # classname of custom java.security.Provider implementation
>>>>>>>>     keyStoreProvider: null,
>>>>>>>>     # type of key store (default "JKS")
>>>>>>>>     keyStoreType: "JKS",
>>>>>>>>     # max number of intermediate certificates in sertificate chain
>>>>>>>>     maxCertPathLength: -1,
>>>>>>>>     # set true if ssl needs client authentication
>>>>>>>>     needClientAuth: false,
>>>>>>>>     # location of the OCSP Responder
>>>>>>>>     ocspResponderURL: "",
>>>>>>>>     # javax.net.ssl.SSLContext provider
>>>>>>>>     provider: null,
>>>>>>>>     # whether TLS renegotiation is allowed
>>>>>>>>     renegotiationAllowed: false,
>>>>>>>>     # number of renegotions allowed for this connection (-1 for
>>>>>>>> unlimited, default 5) .
>>>>>>>>     renegotiationLimit: 5,
>>>>>>>>     # algorithm name for java.security.SecurityRandom instances.
>>>>>>>>     #
>>>>>>>> 
>>>>>> 
>>>> https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#SecureRandom
>>>>>>>>     secureRandomAlgorithm: "NativePRNG",
>>>>>>>>     # set the flag to enable SSL Session caching
>>>>>>>>     sessionCachingEnabled: false,
>>>>>>>>     # set if you want to bound session cache size
>>>>>>>>     sslSessionCacheSize: -1,
>>>>>>>>     # session timeout in seconds.
>>>>>>>>     sslSessionTimeout: -1,
>>>>>>>>     # the algorithm name (default "SunX509") used by the
>>>>>>>> javax.net.ssl.TrustManagerFactory
>>>>>>>>     trustManagerFactoryAlgorithm: "SunX509",
>>>>>>>>     # provider of the trust store
>>>>>>>>     trustStoreProvider: null,
>>>>>>>>     # type of the trust store (default "JKS")
>>>>>>>>     trustStoreType: "JKS",
>>>>>>>>     # sets whether the local cipher suites preference should be
>>>>>>>> honored.
>>>>>>>>     useCipherSuiteOrder: false,
>>>>>>>>     # true if SSL certificates have to be validated
>>>>>>>>     validateCerts: false,
>>>>>>>>     # true if SSL certificates of the peer have to be validated
>>>>>>>>     validatePeerCerts: false,
>>>>>>>>     # true if SSL wants client authentication.
>>>>>>>>     wantClientAuth: false
>>>>>>>>   },
>>>>>>>>   response: {
>>>>>>>>     # any response headers with constant values may be configured
>>>>>>>> like this
>>>>>>>>     headers: {
>>>>>>>>       "X-XSS-Protection": "1; mode=block",
>>>>>>>>       "X-Content-Type-Options": "nosniff",
>>>>>>>>       "Strict-Transport-Security":
>>>>>>>> "max-age=31536000;includeSubDomains",
>>>>>>>>       # NOTE: 'unsafe-inline' is required until DRILL-7642 is
>>>>>>>> resolved
>>>>>>>>       "Content-Security-Policy": "default-src https:; script-src
>>>>>>>> 'unsafe-inline' https:; style-src 'unsafe-inline' https:; font-src
>>>> data:
>>>>>>>> https:; img-src data: https:"
>>>>>>>>     }
>>>>>>>>   }
>>>>>>>> }
>>>>>>>> }
>>>>>>>> },
>>>>>>>> # Below SSL parameters need to be set for custom transport layer
>>>>>>>> settings.
>>>>>>>> ssl: {
>>>>>>>> #If not provided then the default value is java system property
>>>>>>>> javax.net.ssl.keyStore value
>>>>>>>> keyStorePath: "/keystore.file",
>>>>>>>> #If not provided then the default value is java system property
>>>>>>>> javax.net.ssl.keyStorePassword value
>>>>>>>> keyStorePassword: "ks_passwd",
>>>>>>>> #If not provided then the default value is java system property
>>>>>>>> javax.net.ssl.trustStore value
>>>>>>>> trustStorePath: "/truststore.file",
>>>>>>>> #If not provided then the default value is java system property
>>>>>>>> javax.net.ssl.trustStorePassword value
>>>>>>>> trustStorePassword: "ts_passwd"
>>>>>>>> },
>>>>>>>> functions: ["org.apache.drill.expr.fn.impl"],
>>>>>>>> network: {
>>>>>>>> start: 35000
>>>>>>>> },
>>>>>>>> work: {
>>>>>>>> max.width.per.endpoint: 5,
>>>>>>>> global.max.width: 100,
>>>>>>>> affinity.factor: 1.2,
>>>>>>>> executor.threads: 4
>>>>>>>> },
>>>>>>>> sys.store.provider: {
>>>>>>>> class:
>>>>>>>> 
>>>>>> 
>>>> "org.apache.drill.exec.store.sys.store.provider.ZookeeperPersistentStoreProvider",
>>>>>>>> # The following section is used by ZkPStoreProvider
>>>>>>>> zk: {
>>>>>>>> blobroot: "file:///var/log/drill"
>>>>>>>> },
>>>>>>>> # The following section is only required by LocalPStoreProvider
>>>>>>>> local: {
>>>>>>>> path: "/tmp/drill",
>>>>>>>> write: true
>>>>>>>> }
>>>>>>>> },
>>>>>>>> impersonation: {
>>>>>>>> enabled: false,
>>>>>>>> max_chained_user_hops: 3
>>>>>>>> },
>>>>>>>> security.user.auth {
>>>>>>>> enabled: false,
>>>>>>>> packages += "org.apache.drill.exec.rpc.user.security",
>>>>>>>> # There are 2 implementations available out of the box with
>>>> annotation
>>>>>>>> UserAuthenticatorTemplate
>>>>>>>> # Annotation type "pam" is providing implementation using JPAM
>>>>>>>> # Annotation type "pam4j" is providing implementation using libpam4j
>>>>>>>> # Based on annotation type configured below corresponding
>>>>>>>> authenticator is used.
>>>>>>>> impl: "pam",
>>>>>>>> pam_profiles: [ "sudo", "login" ]
>>>>>>>> },
>>>>>>>> trace: {
>>>>>>>> directory: "/tmp/drill-trace",
>>>>>>>> filesystem: "file:///"
>>>>>>>> },
>>>>>>>> tmp: {
>>>>>>>> directories: ["/tmp/drill"],
>>>>>>>> filesystem: "drill-local:///"
>>>>>>>> },
>>>>>>>> buffer:{
>>>>>>>> impl: "org.apache.drill.exec.work.batch.UnlimitedRawBatchBuffer",
>>>>>>>> size: "100",
>>>>>>>> spooling: {
>>>>>>>> delete: false,
>>>>>>>> size: 100000000
>>>>>>>> }
>>>>>>>> },
>>>>>>>> cache.hazel.subnets: ["*.*.*.*"],
>>>>>>>> spill: {
>>>>>>>> # These options are common to all spilling operators.
>>>>>>>> # They can be overriden, per operator (but this is just for
>>>>>>>> # backward compatibility, and may be deprecated in the future)
>>>>>>>> directories : [ "/tmp/drill/spill" ],
>>>>>>>> fs : "file:///"
>>>>>>>> }
>>>>>>>> sort: {
>>>>>>>> purge.threshold : 100,
>>>>>>>> external: {
>>>>>>>> batch.size : 4000,
>>>>>>>> spill: {
>>>>>>>>   batch.size : 4000,
>>>>>>>>   group.size : 100,
>>>>>>>>   threshold : 200,
>>>>>>>>   # The 2 options below override the common ones
>>>>>>>>   # they should be deprecated in the future
>>>>>>>>   directories : [ "/tmp/drill/spill" ],
>>>>>>>>   fs : "file:///"
>>>>>>>> }
>>>>>>>> }
>>>>>>>> },
>>>>>>>> hashagg: {
>>>>>>>> # The partitions divide the work inside the hashagg, to ease
>>>>>>>> # handling spilling. This initial figure is tuned down when
>>>>>>>> # memory is limited.
>>>>>>>> #  Setting this option to 1 disables spilling !
>>>>>>>> num_partitions: 32,
>>>>>>>> spill: {
>>>>>>>>   # The 2 options below override the common ones
>>>>>>>>   # they should be deprecated in the future
>>>>>>>>   directories : [ "/tmp/drill/spill" ],
>>>>>>>>   fs : "file:///"
>>>>>>>> }
>>>>>>>> },
>>>>>>>> memory: {
>>>>>>>> top.max: 1000000000000,
>>>>>>>> operator: {
>>>>>>>> max: 20000000000,
>>>>>>>> initial: 10000000
>>>>>>>> },
>>>>>>>> fragment: {
>>>>>>>> max: 20000000000,
>>>>>>>> initial: 20000000
>>>>>>>> }
>>>>>>>> },
>>>>>>>> scan: {
>>>>>>>> threadpool_size: 8,
>>>>>>>> decode_threadpool_size: 1
>>>>>>>> },
>>>>>>>> debug.error_on_leak: true,
>>>>>>>> # Settings for Dynamic UDFs (see
>>>>>>>> https://issues.apache.org/jira/browse/DRILL-4726 for details).
>>>>>>>> udf: {
>>>>>>>> # number of retry attempts to update remote function registry
>>>>>>>> # if registry version was changed during update
>>>>>>>> retry-attempts: 10,
>>>>>>>> directory: {
>>>>>>>> # Override this property if custom file system should be used to
>>>>>>>> create remote directories
>>>>>>>> # instead of default taken from Hadoop configuration
>>>>>>>> fs: "hdfs:///",
>>>>>>>> # Set this property if custom absolute root should be used for
>>>>>>>> remote directories
>>>>>>>> root: "user/udf"
>>>>>>>> }
>>>>>>>> },
>>>>>>>> # Settings for Temporary Tables (see
>>>>>>>> https://issues.apache.org/jira/browse/DRILL-4956 for details).
>>>>>>>> # Temporary table can be created ONLY in default temporary workspace.
>>>>>>>> # Full workspace name should be indicated (including schema and
>>>>>>>> workspace separated by dot).
>>>>>>>> # Workspace MUST be file-based and writable. Workspace name is
>>>>>>>> case-sensitive.
>>>>>>>> default_temporary_workspace: "dfs.tmp"
>>>>>>>> 
>>>>>>>> # Enable and provide additional parameters for Client-Server
>>>>>>>> communication over SSL
>>>>>>>> # see also the javax.net.ssl parameters below
>>>>>>>> security.user.encryption.ssl: {
>>>>>>>> #Set this to true to enable all client server communication to occur
>>>>>>>> over SSL.
>>>>>>>> enabled: false,
>>>>>>>> #key password is optional if it is the same as the keystore password
>>>>>>>> keyPassword: "key_passwd",
>>>>>>>> #Optional handshakeTimeout in milliseconds. Default is 10000 ms (10
>>>>>>>> seconds)
>>>>>>>> handshakeTimeout: 10000,
>>>>>>>> #protocol is optional. Drill will default to TLSv1.2. Valid values
>>>>>>>> depend on protocol versions
>>>>>>>> # enabled for tje underlying securrity provider. For JSSE these are :
>>>>>>>> SSL, SSLV2, SSLV3,
>>>>>>>> # TLS, TLSV1, TLSv1.1, TLSv1.2
>>>>>>>> protocol: "TLSv1.2",
>>>>>>>> #ssl provider. May be "JDK" or "OPENSSL". Default is "JDK"
>>>>>>>> provider: "JDK"
>>>>>>>> }
>>>>>>>> 
>>>>>>>> # HTTP client proxy configuration
>>>>>>>> net_proxy: {
>>>>>>>> 
>>>>>>>> # HTTP URL. Omit if from a Linux env var
>>>>>>>> # See
>>>>>>>> 
>>>>>> 
>>>> https://www.shellhacks.com/linux-proxy-server-settings-set-proxy-command-line/
>>>>>>>> http_url: "",
>>>>>>>> 
>>>>>>>> # Explicit HTTP setup, used if URL is not set
>>>>>>>> http: {
>>>>>>>> type: "none", # none, http, socks. Blank same as none.
>>>>>>>> host: "",
>>>>>>>> port: 80,
>>>>>>>> user_name: "",
>>>>>>>> password: ""
>>>>>>>> },
>>>>>>>> 
>>>>>>>> # HTTPS URL. Omit if from a Linux env var
>>>>>>>> https_url: "",
>>>>>>>> 
>>>>>>>> # Explicit HTTPS setup, used if URL is not set
>>>>>>>> https: {
>>>>>>>> type: "none", # none, http, socks. Blank same as none.
>>>>>>>> host: "",
>>>>>>>> port: 80,
>>>>>>>> user_name: "",
>>>>>>>> password: ""
>>>>>>>> }
>>>>>>>> }
>>>>>>>> },
>>>>>>>> 
>>>>>>>> drill.metrics : {
>>>>>>>> context: "drillbit",
>>>>>>>> jmx: {
>>>>>>>> enabled : true
>>>>>>>> },
>>>>>>>> log: {
>>>>>>>> enabled : false,
>>>>>>>> interval : 60
>>>>>>>> }
>>>>>>>> }
>>>>>>>> 
>>>>>>>>> On Fri, Oct 1, 2021 at 3:12 PM luoc <l...@apache.org> wrote:
>>>>>>>>> 
>>>>>>>>> Hi Prabhakar,
>>>>>>>>> Check your config. The following error message shows that a valid
>>>> host
>>>>>>>>> name is missing :
>>>>>>>>> 
>>>>>>>>> "Caused by: java.io.IOException: Incomplete HDFS URI, no host:
>>>>>> hdfs:///"
>>>>>>>>> 
>>>>>>>>>> 2021年10月1日 下午5:26,Prabhakar Bhosaale <bhosale....@gmail.com> 写道:
>>>>>>>>>> 
>>>>>>>>>> Hi Team,
>>>>>>>>>> I have installed drill in distributed mode on hadoop 3 node
>>>> cluster.
>>>>>>>>>> 
>>>>>>>>>> I get following error in the drillbit.out file when try to start
>>>> the
>>>>>>>>>> drillbit
>>>>>>>>>> 
>>>>>>>>>> ----- ERROR----
>>>>>>>>>> 12:34:46.984 [main-EventThread] ERROR
>>>>>>>>> o.a.c.framework.imps.EnsembleTracker
>>>>>>>>>> - Invalid config event received:
>>>>>>>>>> {server.1=machinename1:2888:3888:participant, version=0, server.3=
>>>>>>>>>> machinename2:2888:3888:participant, server.2=
>>>>>>>>>> machinename3:2888:3888:participant}
>>>>>>>>>> Exception in thread "main"
>>>>>>>>>> org.apache.drill.exec.exception.DrillbitStartupException: Failure
>>>>>> during
>>>>>>>>>> initial startup of Drillbit.
>>>>>>>>>> at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:588)
>>>>>>>>>> at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:554)
>>>>>>>>>> at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:550)
>>>>>>>>>> Caused by:
>>>> org.apache.drill.common.exceptions.DrillRuntimeException:
>>>>>>>>> Error
>>>>>>>>>> during file system hdfs:/// setup
>>>>>>>>>> at
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>>> org.apache.drill.common.exceptions.DrillRuntimeException.create(DrillRuntimeException.java:48)
>>>>>>>>>> at
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>>> org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.prepareAreas(RemoteFunctionRegistry.java:231)
>>>>>>>>>> at
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>>> org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.init(RemoteFunctionRegistry.java:109)
>>>>>>>>>> at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:233)
>>>>>>>>>> at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:584)
>>>>>>>>>> ... 2 more
>>>>>>>>>> Caused by: java.io.IOException: Incomplete HDFS URI, no host:
>>>> hdfs:///
>>>>>>>>>> at
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>>> org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:170)
>>>>>>>>>> at
>>>>>>>>> 
>>>> org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3375)
>>>>>>>>>> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:125)
>>>>>>>>>> at
>>>>>>>>> 
>>>> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3424)
>>>>>>>>>> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3392)
>>>>>>>>>> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:485)
>>>>>>>>>> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:233)
>>>>>>>>>> at
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>>> org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.prepareAreas(RemoteFunctionRegistry.java:229)
>>>>>>>>>> ... 5 more
>>>>>>>>>> ----ERROR END----
>>>>>>>>>> 
>>>>>>>>>> THe drill version is - 1.19
>>>>>>>>>> Haddop version is - 3.3.1
>>>>>>>>>> Zookeeper version is - 3.71
>>>>>>>>>> 
>>>>>>>>>> I have following settings done
>>>>>>>>>> 
>>>>>>>>>> zoo.cfg file
>>>>>>>>>> server.1=machine1:2888:3888
>>>>>>>>>> server.2= machine2:2888:3888
>>>>>>>>>> server.3= machine3:2888:3888
>>>>>>>>>> 
>>>>>>>>>> drill-override.conf
>>>>>>>>>> zk: {
>>>>>>>>>> connect: "machine1:2181, machine2:2181, machine3:2181",
>>>>>>>>>> root: "user/pstore",
>>>>>>>>>> refresh: 500,
>>>>>>>>>> timeout: 5000,
>>>>>>>>>> retry: {
>>>>>>>>>> count: 7200,
>>>>>>>>>> delay: 500
>>>>>>>>>> }
>>>>>>>>>> 
>>>>>>>>>> udf: {
>>>>>>>>>> # number of retry attempts to update remote function registry
>>>>>>>>>> # if registry version was changed during update
>>>>>>>>>> retry-attempts: 10,
>>>>>>>>>> directory: {
>>>>>>>>>> # Override this property if custom file system should be used to
>>>>>>>>>> create remote directories
>>>>>>>>>> # instead of default taken from Hadoop configuration
>>>>>>>>>> fs: "hdfs:///",
>>>>>>>>>> # Set this property if custom absolute root should be used for
>>>>>>>>> remote
>>>>>>>>>> directories
>>>>>>>>>> root: "user/udf"
>>>>>>>>>> }
>>>>>>>>>> 
>>>>>>>>>> Any help and pointer is appreciated. thx
>>>>>>>>>> 
>>>>>>>>>> Regards
>>>>>>>>>> Prabhakar
>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 

Reply via email to