Reply
AKB
Explorer
Posts: 45
Registered: ‎04-11-2018

Re: unable to create Solr collection / index

Did not work.

 

[centos@ip-172-31-81-167 ~]$ curl -i --retry 5 -s -L -k --negotiate -u : http://ip-172-31-82-140.ec2.internal:8983/solr
curl: option --negotiate: the installed libcurl version doesn't support this
curl: try 'curl --help' or 'curl --manual' for more information

Cloudera Employee
Posts: 246
Registered: ‎01-09-2014

Re: unable to create Solr collection / index

Thats your problem, you are using a version of curl that doesn't support kerberos

you should see something like this for the curl --version command:
[root@nightly515-1 ~]# curl --version
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.21 Basic ECC zlib/1.2.7 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets

It needs to support "GSS-Negotiate". It's likely you installed a custom version of curl, or updated to a version that doesn't support it.

-pd
AKB
Explorer
Posts: 45
Registered: ‎04-11-2018

Re: unable to create Solr collection / index

I am not using Kerberos on this cluster, it is a CDH 5.15 install.

Highlighted
Cloudera Employee
Posts: 246
Registered: ‎01-09-2014

Re: unable to create Solr collection / index

The issue is not whether kerberos is used, rather that the curl command expects it to be there (since it is there by default with the standard OS distribution of curl). Since it is not there, then the curl command fails, thus the solrctl script fails.

If you run the following, what is your result:
curl --version

If you are running redhat, can you also do:
which curl
yum whatprovides curl

And provide the output?

-pd
Posts: 941
Topics: 1
Kudos: 218
Solutions: 117
Registered: ‎04-22-2014

Re: unable to create Solr collection / index

@AKB,

 

solrctl will use the --negotiate option regardless of whether the cluster enabled.  It will only be useful if kerberos is enabled in the cluster, though.

 

The problem is that your OS's version of curl does not support the "--negotiate" option which means, as Patrick said, that you have a non-standard version of curl or curl libraries installed on that host.

 

You can find out from where the files originate something like this:

 

# which curl

# rpm -qf `which curl`

# curl -V

 

Basically, you need to install a version of curl that leverages --negotiate on the host where you are running solrctl.

Announcements