Hi,

Now, the zkcli.bat error may in fact be a real bug, perhaps caused by SOLR-7887.
I think you should file that one in a JIRA.

As a workaround you may attempt using the equivalent (from memory):

bin/solr zk upconfig -c collection1 -d /path/to/conf -z localhost:2181

--
Jan Høydahl, search solution architect
Cominvent AS - www.cominvent.com

> 21. aug. 2018 kl. 05:57 skrev Zheng Lin Edwin Yeo <edwinye...@gmail.com>:
> 
> Hi,
> 
> The default configurations is working for this, so I will try to change the
> things step by step first to find out this issue.
> 
> However, I found that I can't load the configurations into ZooKeeper even
> in a new cluster with default configurations in Solr 7.4.0 (it also can't
> load previously and I use the zkcli.bat for Solr 7.3.1 to load the
> configurations). The same method and command is working for Solr 7.3.1.
> This is done by using zkcli.bat under server\scripts\cloud-scripts, with
> the following command:
> zkcli.bat -zkhost localhost:2181 \ -cmd upconfig -confname collection1
> -confdir
> C:\Users\edwin\Desktop\edwin\solr-7.4.0\configuration\collection1\conf
> 
> This is the error that I get:
> ERROR StatusLogger Unable to access file:/C:/Users/edwin/Desktop/edwin/solr-
> 7.4.0/server/scripts/cloud-scripts/file:C:/Users/edwin/Desktop/edwin/solr-7.
> 4.0/server/scripts/cloud-scripts/log4j2.xml
> java.io.FileNotFoundException: C:\Users\edwin\Desktop\edwin\solr-7.4.0\serv
> er\scripts\cloud-scripts\file:C:\Users\edwin\Desktop\edwin\solr-7.4.0\server
> \scripts\cloud-scripts\log4j2.xml (The filename, directory name, or volume
> label
> syntax is incorrect)
>        at java.io.FileInputStream.open0(Native Method)
>        at java.io.FileInputStream.open(Unknown Source)
>        at java.io.FileInputStream.<init>(Unknown Source)
>        at java.io.FileInputStream.<init>(Unknown Source)
>        at sun.net.www.protocol.file.FileURLConnection.connect(Unknown
> Source)
>        at
> sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown So
> urce)
>        at java.net.URL.openStream(Unknown Source)
>        at
> org.apache.logging.log4j.core.config.ConfigurationSource.fromUri(Conf
> igurationSource.java:247)
>        at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.get
> Configuration(ConfigurationFactory.java:404)
>        at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.get
> Configuration(ConfigurationFactory.java:346)
>        at
> org.apache.logging.log4j.core.config.ConfigurationFactory.getConfigur
> ation(ConfigurationFactory.java:260)
>        at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext
> .java:615)
>        at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext
> .java:636)
>        at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:
> 231)
>        at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log
> 4jContextFactory.java:153)
>        at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log
> 4jContextFactory.java:45)
>        at
> org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
>        at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(Abstrac
> tLoggerAdapter.java:121)
>        at
> org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFac
> tory.java:43)
>        at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(Abstract
> LoggerAdapter.java:46)
>        at
> org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFact
> ory.java:29)
>        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
>        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
>        at
> org.apache.solr.common.cloud.SolrZkClient.<clinit>(SolrZkClient.java:
> 74)
>        at org.apache.solr.cloud.ZkCLI.main(ZkCLI.java:197)
> 
> 
> Regards,
> Edwin
> 
> 
> On Mon, 20 Aug 2018 at 21:11, Jan Høydahl <jan....@cominvent.com> wrote:
> 
>> Hi,
>> 
>> Can you please try to reproduce your issue on a completely empty cluster,
>> and a single node Solr instance, following the refguide instructions at
>> https://lucene.apache.org/solr/guide/7_4/enabling-ssl.html <
>> https://lucene.apache.org/solr/guide/7_4/enabling-ssl.html> with all
>> default configurations, just to sort out any custom changes you may have
>> introduced? If that works, then you can try to change things step by step
>> until you find the difference in config causing your issue.
>> 
>> --
>> Jan Høydahl, search solution architect
>> Cominvent AS - www.cominvent.com
>> 
>>> 20. aug. 2018 kl. 11:04 skrev Zheng Lin Edwin Yeo <edwinye...@gmail.com
>>> :
>>> 
>>> Hi,
>>> 
>>> So far it is still not able to work with the files from Solr 7.4.0. I
>> found
>>> that the jetty-ssl.xml is the file with the difference that causes the
>>> issue.
>>> 
>>> This is the jetty-ssl.xml from Solr 7.3.1:
>>> <Set name="KeyStorePath"><Property name="solr.jetty.keystore"
>>> default="./etc/solr-ssl.keystore.jks"/></Set>
>>> <Set name="KeyStorePassword"><Env name="SOLR_SSL_KEY_STORE_PASSWORD"
>>> default="secret"/></Set>
>>> <Set name="TrustStorePath"><Property name="solr.jetty.truststore"
>>> default="./etc/solr-ssl.keystore.jks"/></Set>
>>> <Set name="TrustStorePassword"><Env name="SOLR_SSL_TRUST_STORE_PASSWORD"
>>> default="secret"/></Set>
>>> <Set name="NeedClientAuth"><Property
>> name="solr.jetty.ssl.needClientAuth"
>>> default="false"/></Set>
>>> <Set name="WantClientAuth"><Property
>> name="solr.jetty.ssl.wantClientAuth"
>>> default="false"/></Set>
>>> <Set name="KeyStoreType"><Property name="solr.jetty.keystore.type"
>>> default="JKS"/></Set>
>>> 
>>> This is the jetty-ssl.xml from Solr 7.4.0:
>>> <Call
>> class="org.apache.solr.util.configuration.SSLConfigurationsFactory"
>>> name="current">
>>>   <Get name="keyStorePassword" id="keyStorePassword"/>
>>>   <Get name="trustStorePassword" id="trustStorePassword"/>
>>> </Call>
>>> <Set name="KeyStorePath"><Property name="solr.jetty.keystore"
>>> default="./etc/solr-ssl.keystore.jks"/></Set>
>>> <Set name="KeyStorePassword"><Ref refid="keyStorePassword"/></Set>
>>> <Set name="TrustStorePath"><Property name="solr.jetty.truststore"
>>> default="./etc/solr-ssl.keystore.jks"/></Set>
>>> <Set name="TrustStorePassword"><Ref refid="trustStorePassword"/></Set>
>>> <Set name="NeedClientAuth"><Property
>> name="solr.jetty.ssl.needClientAuth"
>>> default="false"/></Set>
>>> <Set name="WantClientAuth"><Property
>> name="solr.jetty.ssl.wantClientAuth"
>>> default="false"/></Set>
>>> <Set name="KeyStoreType"><Property name="solr.jetty.keystore.type"
>>> default="JKS"/></Set>
>>> 
>>> 
>>> I have set up Solr from downloading the package from
>>> http://www-eu.apache.org/dist/lucene/solr/7.4.0/.
>>> 
>>> I started Solr with the following command:
>>> bin\solr.cmd start -cloud -p 8983 -s solrMain\node1 -m 8g -z
>>> "localhost:2181,localhost:2182,localhost:2183" -Dsolr.ltr.enabled=true
>>> pause
>>> bin\solr.cmd start -cloud -p 8984 -s solrMain\node2 -m 8g -z
>>> "localhost:2181,localhost:2182,localhost:2183" -Dsolr.ltr.enabled=true
>>> pause
>>> 
>>> Below is the portion of the solr.in that is enabled:
>>> REM Enables HTTPS. It is implictly true if you set SOLR_SSL_KEY_STORE.
>> Use
>>> this config
>>> REM to enable https module with custom jetty configuration.
>>> set SOLR_SSL_ENABLED=false
>>> REM Uncomment to set SSL-related system properties
>>> REM Be sure to update the paths to the correct keystore for your
>> environment
>>> set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
>>> set SOLR_SSL_KEY_STORE_PASSWORD=secret
>>> set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
>>> set SOLR_SSL_TRUST_STORE_PASSWORD=secret
>>> REM Require clients to authenticate
>>> set SOLR_SSL_NEED_CLIENT_AUTH=false
>>> REM Enable clients to authenticate (but not require)
>>> set SOLR_SSL_WANT_CLIENT_AUTH=false
>>> REM SSL Certificates contain host/ip "peer name" information that is
>>> validated by default. Setting
>>> REM this to false can be useful to disable these checks when re-using a
>>> certificate on many hosts
>>> set SOLR_SSL_CHECK_PEER_NAME=true
>>> REM Override Key/Trust Store types if necessary
>>> set SOLR_SSL_KEY_STORE_TYPE=JKS
>>> set SOLR_SSL_TRUST_STORE_TYPE=JKS
>>> 
>>> Regards,
>>> Edwin
>>> 
>>> On Fri, 10 Aug 2018 at 23:04, Jan Høydahl <jan....@cominvent.com> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> Did you solve your issue? SSL should work ootb in 7.4, the class that
>> your
>>>> error says is not found exists, so there must be some setup issues.
>>>> How did you install Solr, how do you start it, what is the content of
>> your
>>>> solr.in <http://solr.in/>.sh etc
>>>> 
>>>> --
>>>> Jan Høydahl, search solution architect
>>>> Cominvent AS - www.cominvent.com
>>>> 
>>>>> 11. jul. 2018 kl. 17:23 skrev Zheng Lin Edwin Yeo <
>> edwinye...@gmail.com
>>>>> :
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> I found that if we replace the following files with the copy from Solr
>>>>> 7.3.1, the SSL can work
>>>>> - jetty.xml
>>>>> - jetty-http.xml
>>>>> - jetty-https.xml
>>>>> - jetty-ssl.xml
>>>>> 
>>>>> But the copies that comes with Solr 7.4.0 are not working.
>>>>> 
>>>>> I found there are some differences in the file, but not sure if there
>> are
>>>>> other changes required, or if there are bugs in the copies in Solr
>> 7.4.0?
>>>>> 
>>>>> Regards,
>>>>> Edwin
>>>>> 
>>>>> On 4 July 2018 at 11:20, Zheng Lin Edwin Yeo <edwinye...@gmail.com>
>>>> wrote:
>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> Would like to check, if there are any major changes in the way the SSL
>>>>>> works for Solr 7.4.0?
>>>>>> 
>>>>>> I have tried to set up with the same method that I used for Solr
>> 7.3.1,
>>>>>> but after setting it up, the Solr is unable to load.
>>>>>> 
>>>>>> Below is the error message that I get.
>>>>>> 
>>>>>> Caused by: java.security.PrivilegedActionException:
>>>>>> java.lang.ClassNotFoundExcep
>>>>>> tion: org.apache.solr.util.configuration.SSLConfigurationsFactory
>>>>>>      at java.security.AccessController.doPrivileged(Native Method)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration.main(
>>>>>> XmlConfiguration.java:150
>>>>>> 8)
>>>>>>      ... 7 more
>>>>>> Caused by: java.lang.ClassNotFoundException: org.apache.solr.util.
>>>>>> configuration.
>>>>>> SSLConfigurationsFactory
>>>>>>      at java.net.URLClassLoader.findClass(Unknown Source)
>>>>>>      at java.lang.ClassLoader.loadClass(Unknown Source)
>>>>>>      at java.lang.ClassLoader.loadClass(Unknown Source)
>>>>>>      at org.eclipse.jetty.util.Loader.loadClass(Loader.java:65)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$
>>>>>> JettyXmlConfiguration.call(Xml
>>>>>> Configuration.java:784)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$
>>>>>> JettyXmlConfiguration.configur
>>>>>> e(XmlConfiguration.java:469)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$
>>>>>> JettyXmlConfiguration.configur
>>>>>> e(XmlConfiguration.java:410)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration.configure(
>>>>>> XmlConfiguration.jav
>>>>>> a:308)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$1.run(
>>>>>> XmlConfiguration.java:15
>>>>>> 55)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$1.run(
>>>>>> XmlConfiguration.java:15
>>>>>> 09)
>>>>>>      ... 9 more
>>>>>> java.lang.reflect.InvocationTargetException
>>>>>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>>>>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>>>> Source)
>>>>>>      at java.lang.reflect.Method.invoke(Unknown Source)
>>>>>>      at org.eclipse.jetty.start.Main.invokeMain(Main.java:220)
>>>>>>      at org.eclipse.jetty.start.Main.start(Main.java:486)
>>>>>>      at org.eclipse.jetty.start.Main.main(Main.java:77)
>>>>>> Caused by: java.security.PrivilegedActionException:
>>>>>> java.lang.ClassNotFoundExcep
>>>>>> tion: org.apache.solr.util.configuration.SSLConfigurationsFactory
>>>>>>      at java.security.AccessController.doPrivileged(Native Method)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration.main(
>>>>>> XmlConfiguration.java:150
>>>>>> 8)
>>>>>>      ... 7 more
>>>>>> Caused by: java.lang.ClassNotFoundException: org.apache.solr.util.
>>>>>> configuration.
>>>>>> SSLConfigurationsFactory
>>>>>>      at java.net.URLClassLoader.findClass(Unknown Source)
>>>>>>      at java.lang.ClassLoader.loadClass(Unknown Source)
>>>>>>      at java.lang.ClassLoader.loadClass(Unknown Source)
>>>>>>      at org.eclipse.jetty.util.Loader.loadClass(Loader.java:65)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$
>>>>>> JettyXmlConfiguration.call(Xml
>>>>>> Configuration.java:784)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$
>>>>>> JettyXmlConfiguration.configur
>>>>>> e(XmlConfiguration.java:469)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$
>>>>>> JettyXmlConfiguration.configur
>>>>>> e(XmlConfiguration.java:410)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration.configure(
>>>>>> XmlConfiguration.jav
>>>>>> a:308)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$1.run(
>>>>>> XmlConfiguration.java:15
>>>>>> 55)
>>>>>>      at org.eclipse.jetty.xml.XmlConfiguration$1.run(
>>>>>> XmlConfiguration.java:15
>>>>>> 09)
>>>>>>      ... 9 more
>>>>>> 
>>>>>> Usage: java -jar $JETTY_HOME/start.jar [options] [properties]
>> [configs]
>>>>>>     java -jar $JETTY_HOME/start.jar --help  # for more information
>>>>>> 
>>>>>> 
>>>>>> Regards,
>>>>>> Edwin
>>>>>> 
>>>> 
>>>> 
>> 
>> 

Reply via email to