Hi Luoc, Could you please help with it? thanks Regards Prabhakar
On Fri, Oct 1, 2021 at 4:55 PM Prabhakar Bhosaale <[email protected]> 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 <[email protected]> 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 <[email protected]> 写道: >> > >> > 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 >> >>
