Sorry, I did not follow this mailing-list close enough to detect this question. But Dmitry mailed to me privately asking for help, so here I am

Initial steps
* mkdir solr-test
* cd solr-test
* Downloaded solr-5.0.0.zip and unzipped into solr-test folder, so that I have solr-test/solr-5.0.0 folder
* cd solr-5.0.0
* export SOLR_HOME=$(pwd)
* Started new/empty ZK at localhost:2181 (sure you can do that)

Setting the VM-params
* export SOLR_ZK_PROVIDERS="-DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider -DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider" * export SOLR_ZK_CREDS_AND_ACLS="-DzkDigestUsername=admin-user -DzkDigestPassword=admin-password -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=readonly-password"

Starting solr, just to have the jar extracted into webapp folder, so that I can use the classpath you used
* cd $SOLR_HOME/server
* java -jar start.jar
* CTRL-C to stop again

Bootstrapping (essentially creating the /solr root-node in ZK)
* cd $SOLR_HOME/server
* java $SOLR_ZK_PROVIDERS $SOLR_ZK_CREDS_AND_ACLS -classpath "$SOLR_HOME/server/solr-webapp/webapp/WEB-INF/lib/*:$SOLR_HOME/server/lib/ext/*" org.apache.solr.cloud.ZkCLI -cmd bootstrap -zkhost localhost:2181/solr -solrhome $SOLR_HOME/server/solr

Uploading the config
* cd $SOLR_HOME/server
* java $SOLR_ZK_PROVIDERS $SOLR_ZK_CREDS_AND_ACLS -classpath "$SOLR_HOME/server/solr-webapp/webapp/WEB-INF/lib/*:$SOLR_HOME/server/lib/ext/*" org.apache.solr.cloud.ZkCLI -zkhost localhost:2181/solr -cmd upconfig -confdir $SOLR_HOME/server/solr/configsets/data_driven_schema_configs/conf -confname gettingstarted_shard1_replica1

Starting Solr node
* cd $SOLR_HOME/server
* java $SOLR_ZK_PROVIDERS $SOLR_ZK_CREDS_AND_ACLS -Dsolr.solr.home=$SOLR_HOME/server/solr -Dsolr.data.dir=$SOLR_HOME/server/solr/gettingstarted_shard1_replica1 -Dsolr.log=$SOLR_HOME/server/solr/logs -DzkHost=localhost:2181/solr -Djetty.port=8983 -jar start.jar

PROBLEM REPRODUCED!!!

Checking out 5.0.0 source-code to see what is wrong. Finding out that you need to set the provider-classess in solr.xml - a Solr-node seems not to be able to take the provider-classes from VM-params. When I handed over the patch for SOLR-4580, VM-parameters was the only way to set providers. The other guys added support for setting it in solr.xml, which is a good idea. It seems that at the same time VM-params is not any longer supported for Solr-nodes. Do not know it that was intentionally? Anyway. Added the following to <solrcloud>-section in $SOLR_HOME/server/solr/solr.xml <str name="zkCredentialsProvider">org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider</str> <str name="zkACLProvider">org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider</str>

Trying to start again (without the SOLR_ZK_PROVIDERS VM-params - because they are not used anyway) * java $SOLR_ZK_CREDS_AND_ACLS -Dsolr.solr.home=$SOLR_HOME/server/solr -Dsolr.data.dir=$SOLR_HOME/server/solr/gettingstarted_shard1_replica1 -Dsolr.log=$SOLR_HOME/server/solr/logs -DzkHost=localhost:2181/solr -Djetty.port=8983 -jar start.jar

Viola!!!!

Regards, Per Steffensen

On 19/03/15 15:01, Dmitry Karanfilov wrote:
Looks like it is still broken.
The fixed name of system property  zkCredentialsProvider and zkACLProvider
are only impacted on the zkcli.sh script (org.apache.solr.cloud.ZkCLI).
So using command bellow, I'm able to *bootstrap *and *upconfig *to the
Zookeeper with appropriate credentials and ACLs:

export
SOLR_ZK_PROVIDERS="-DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider
-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider"
export SOLR_ZK_CREDS_AND_ACLS="-DzkDigestUsername=admin-user
-DzkDigestPassword=admin-password -DzkDigestReadonlyUsername=readonly-user
-DzkDigestReadonlyPassword=readonly-password"

java $SOLR_ZK_PROVIDERS $SOLR_ZK_CREDS_AND_ACLS -classpath
"server/solr-webapp/webapp/WEB-INF/lib/*:server/lib/ext/*"
org.apache.solr.cloud.ZkCLI -cmd bootstrap -zkhost 10.0.1.112:2181/solr
-solrhome /opt/solr/example/cloud/node1/solr/
java $SOLR_ZK_PROVIDERS $SOLR_ZK_CREDS_AND_ACLS -classpath
"server/solr-webapp/webapp/WEB-INF/lib/*:server/lib/ext/*"
org.apache.solr.cloud.ZkCLI -zkhost 10.0.1.112:2181/solr -cmd upconfig
-confdir /opt/solr/server/solr/configsets/data_driven_schema_configs/conf
-confname gettingstarted_shard1_replica1


But when I start a Solr it is not able to connect to the Zookeeper:

java $SOLR_ZK_PROVIDERS $SOLR_ZK_CREDS_AND_ACLS
-Dsolr.solr.home=/opt/solr/example/cloud/node1/solr
-Dsolr.data.dir=/opt/solr/example/cloud/node1/solr/gettingstarted_shard1_replica1
-Dsolr.log=/opt/solr/example/cloud/node1/logs -DzkHost=10.0.1.112:2181/solr
-Djetty.port=8983 -jar start.jar

Here is logs:
0    [main] INFO  org.eclipse.jetty.server.Server  ? jetty-8.1.10.v20130312
156  [main] INFO  org.eclipse.jetty.deploy.providers.ScanningAppProvider  ?
Deployment monitor /opt/solr-5.0.0/server/contexts at interval 0
205  [main] INFO  org.eclipse.jetty.deploy.DeploymentManager  ? Deployable
added: /opt/solr-5.0.0/server/contexts/solr-jetty-context.xml
4253 [main] INFO  org.eclipse.jetty.webapp.StandardDescriptorProcessor  ?
NO JSP Support for /solr, did not find org.apache.jasper.servlet.JspServlet
4600 [main] INFO  org.apache.solr.servlet.SolrDispatchFilter  ?
SolrDispatchFilter.init()WebAppClassLoader=2048834776@7a1ebcd8
4650 [main] INFO  org.apache.solr.core.SolrResourceLoader  ? JNDI not
configured for solr (NoInitialContextEx)
4651 [main] INFO  org.apache.solr.core.SolrResourceLoader  ? using system
property solr.solr.home: /opt/solr/example/cloud/node1/solr
4657 [main] INFO  org.apache.solr.core.SolrResourceLoader  ? new
SolrResourceLoader for directory: '/opt/solr/example/cloud/node1/solr/'
5305 [main] INFO  org.apache.solr.core.ConfigSolr  ? Loading container
configuration from /opt/solr/example/cloud/node1/solr/solr.xml
5646 [main] INFO  org.apache.solr.core.CoresLocator  ? Config-defined core
root directory: /opt/solr/example/cloud/node1/solr
5677 [main] INFO  org.apache.solr.core.CoreContainer  ? New CoreContainer
510147134
5682 [main] INFO  org.apache.solr.core.CoreContainer  ? Loading cores into
CoreContainer [instanceDir=/opt/solr/example/cloud/node1/solr/]
5749 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting socketTimeout to: 600000
5750 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting urlScheme to: null
5760 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting connTimeout to: 60000
5761 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting maxConnectionsPerHost to: 20
5771 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting maxConnections to: 10000
5771 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting corePoolSize to: 0
5772 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting maximumPoolSize to: 2147483647
5772 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting maxThreadIdleTime to: 5
5778 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting sizeOfQueue to: -1
5779 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting fairnessPolicy to: false
5779 [main] INFO  org.apache.solr.handler.component.HttpShardHandlerFactory
  ? Setting useRetries to: false
6336 [main] INFO  org.apache.solr.update.UpdateShardHandler  ? Creating
UpdateShardHandler HTTP client with params:
socketTimeout=600000&connTimeout=60000&retry=true
6339 [main] INFO  org.apache.solr.logging.LogWatcher  ? SLF4J impl is
org.slf4j.impl.Log4jLoggerFactory
6340 [main] INFO  org.apache.solr.logging.LogWatcher  ? Registering Log
Listener [Log4j (org.slf4j.impl.Log4jLoggerFactory)]
6346 [main] INFO  org.apache.solr.core.CoreContainer  ? Host Name:
6347 [main] INFO  org.apache.solr.core.ZkContainer  ? Zookeeper client=
10.0.1.112:2181/solr7
6428 [main] INFO  org.apache.solr.cloud.ZkController  ? zkHost includes
chroot
*6430 [main] INFO  org.apache.solr.common.cloud.SolrZkClient  ? Using
ZkCredentialsProvider:
org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider*
6595 [main] INFO  org.apache.solr.common.cloud.ConnectionManager  ? Waiting
for client to connect to ZooKeeper
6860 [zkCallback-2-thread-1] INFO
  org.apache.solr.common.cloud.ConnectionManager  ? Watcher
org.apache.solr.common.cloud.ConnectionManager@33881d3
name:ZooKeeperConnection Watcher:10.0.1.112:2181 got event WatchedEvent
state:SyncConnected type:None path:null path:null type:None
6862 [main] INFO  org.apache.solr.common.cloud.ConnectionManager  ? Client
is connected to ZooKeeper
*6863 [main] INFO  org.apache.solr.common.cloud.SolrZkClient  ? Using
ZkACLProvider:
org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider*
6936 [main] INFO  org.apache.solr.common.cloud.ConnectionManager  ? Waiting
for client to connect to ZooKeeper
6988 [zkCallback-3-thread-1] INFO
  org.apache.solr.common.cloud.ConnectionManager  ? Watcher
org.apache.solr.common.cloud.ConnectionManager@570cafbf
name:ZooKeeperConnection Watcher:10.0.1.112:2181/solr7 got event
WatchedEvent state:SyncConnected type:None path:null path:null type:None
6989 [main] INFO  org.apache.solr.common.cloud.ConnectionManager  ? Client
is connected to ZooKeeper
7079 [main] ERROR org.apache.solr.cloud.Overseer  ? Could not create
Overseer node
*org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode =
NoAuth for /overseer*
         at
org.apache.zookeeper.KeeperException.create(KeeperException.java:113)
         at
org.apache.zookeeper.KeeperException.create(KeeperException.java:51)

    ................................



Is there someone who have it working?

Thanks,
Dmitry


On 17 March 2015 at 19:12, Dmitry Karanfilov <kdsn...@gmail.com> wrote:

Sorry, this is CORRECT:
SOLR_ZK_PROVIDERS="-DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider
\

-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider"

SOLR_ZK_CREDS_AND_ACLS="-DzkDigestUsername=admin-user
-DzkDigestPassword=admin-password \
-DzkDigestReadonlyUsername=readonly-user
-DzkDigestReadonlyPassword=readonly-password"

On 17 March 2015 at 18:32, Dmitry Karanfilov <kdsn...@gmail.com> wrote:

I found the issue - it is in documentation:

WRONG:
SOLR_ZK_PROVIDERS="-DdefaultZkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider
\

-DdefaultZkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider"

SOLR_ZK_CREDS_AND_ACLS="-DzkDigestUsername=admin-user
-DzkDigestPassword=admin-password \
-DzkDigestReadonlyUsername=readonly-user
-DzkDigestReadonlyPassword=readonly-password"

CORRECT:
SOLR_ZK_PROVIDERS="-DZkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider
\

-DZkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider"

SOLR_ZK_CREDS_AND_ACLS="-DzkDigestUsername=admin-user
-DzkDigestPassword=admin-password \
-DzkDigestReadonlyUsername=readonly-user
-DzkDigestReadonlyPassword=readonly-password"


On 17 March 2015 at 15:50, Dmitry Karanfilov <kdsn...@gmail.com> wrote:

Hi,


I'm trying to configure Solr to use  ZooKeeper ACLs as  it is described
on this wiki page
https://cwiki.apache.org/confluence/display/solr/ZooKeeper+Access+Control,
but I have no luck.
Do I understand correctly that in order to tell Solr about the
credentials required to access the content in ZooKeeper, I need to compile
(from source) the
VMParamsSingleSetCredentialsDigestZkCredentialsProvider.class and
VMParamsAllAndReadonlyDigestZkACLProvider.class and put them to classpath
when starting Solr?
Can someone please provide a step-by-step guide how to do this. I
googled a lot - there is nothing about it in Internet, the only information
is wiki page above, but it is unclear.
I'm fighting with Solr and ZooKeeper ACLs third day.
Please help!

Thank you,
Dmitry



Reply via email to