SolrCloud ZooKeeper Configuration updates - solr

How do I update an existing configuration file of SolrCloud in the Zoo Keeper?
I am using Solr4 Beta version with ZooKeeper 3.3.6. I have updated a configuration file, and restarted the Solr Instance which uploads the configuration file to the ZooKeeper. But when I check the configuration file from the SolrCloud Admin console, I don't see the updates. I am not able to understand if this is an issue with SolrCloud admin console or if I am not successful in uploading the config file to ZooKeeper.
Can someone who is familiar with ZooKeeper tell me on how to update an existing configuration file in the ZooKeeper, and how to verify the change in the ZooKeeper?

Solr 4 comes with some helpful scripts
cloud-scripts/zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -d solr/your_default_collection_with_the_config/conf/ -n config_name_userd_by_all_collections
After that you have to reload cores.

SolrCloud provides two option for uploading configuration files to ZK. If you have multiple cores while starting give option -Dbootstrap_conf=true. This will upload the index configuration files for all the cores. If you only want to upload configuration file of one core give two startup parameters -Dbootstrap_confdir and -Dcollection.configName.

I had multiple cores defined in the instance. You would have to upload each configuration by changing -Dcollection.configName argument and restart the Solr instance every time

Related

Why is Solr Cloud in Solr 7.4 still reporting our old IPs after we did a migration

We migrated our 3 Solr servers to 3 new VMs. We are still running the same setup as we were on the old VMs (Solr 7.4). I've also ran the Zookeeper upconfig command to replace our old config files so that they now use the new IPs. However, when I view the Solr Cloud UI, 2 of our old IPs are being shown on the Cloud > Graph. I verified that the Zookeeper upconfig worked because I can see that the new configset files for my collection are there in the cloud > tree > configs. They are also showing the new IPs in the files. So I'm not sure why the Cloud > Graph is showing 2 of our old IPs. Also, when I checked the logs, I see the following error:
null:org.apache.solr.common.SolrException: Error trying to proxy request for url: http://139.XX.XX.34:8983/solr/MyCollection/select
The IP that the error is mentioning is the IP for one of the old VMs. There is also another error message like that for the other old IP. Any ideas where it could be getting the IP value from? I thought that the Zookeeper upconfig would've fixed this and I've searched all of my solr and zookeeper files to see if there was a config file I missed, but didn't find any that mentioned the old IPs anywhere.
You need to remove the old servers replica from Solr cluster if they still appear in Solr UI.
You can remove them from Solr UI under collections menu. There's a red cross button for each replica.

Apache Solr - Update default log4j2.xml file without restarting solr service

I need to update the log4j2.xml file in Solr which is present in the default location "server/resources/log4j2.xml" without restarting the Solr service. Is there a way around to achieve this? This is for a Production environment.

Adding Hadoop dependencies to standalone Flink cluster

I want to create a Apache Flink standalone cluster with serveral taskmanagers. I would like to use HDFS and Hive. Therefore i have to add some Hadoop dependencies.
After reading the documentation, the recommended way is to set the HADOOP_CLASSPATH env variable. But how do i have to add the hadoop files? Should i download the source files in some directory like /opt/hadoop ont the taskmanagers and set the variable to this path?
I only know the old but deprecated way downloading a Uber-Jar with the dependencies and place it under the /lib folder.
Normally you'd do the standard Hadoop installation, since you (for HDFS) need Node Managers running on every server (with appropriate configuration), plus the NameNode running on your master server.
So then you can do something like this on the master server where you're submitting your Flink workflow:
export HADOOP_CLASSPATH=`hadoop classpath`
export HADOOP_CONF_DIR=/etc/hadoop/conf

Migration from Standalone Solar to SolrCloud in AWS

Our Developers is working in Local Standalone Solr Server and we have many cores in Local Solr. Now we are planning to migrate it to SolrCloud in AWS Infrastructure for replication purpose with numShards:3 and replicationFact:3. We don't need data to be migrated from Local Solr server to AWS SolrCloud. We only need to transfer Core from Local Solr to collection in SolrCloud. I am newbie in these can you please any help me in these.
1) In layman word we only need to transfer content in Conf folder of core to SolrCloud Collection and we don't need to transfer data(data folder).
Answering the my own question ,so any one can check it, if issue arise.
Solution:
1) Create a new collection in SolrCloud with config set name same as of core.
2) Move the conf folder of the core in Local Standalone Solr Server to SolrCloud 'Collection' Folder.
3) Run zookeeper's zkCli.sh commands from bash to upload the conf file to all SolrCloud server.
cd /opt/solr/server/scripts/cloud-scripts/
bash zkcli.sh -cmd upconfig -confdir /opt/solr-7.4.0/server/solr/collectionname/conf/ -z IP1:2181,IP2:2181,IP3:2181 -confname confname
Reference : https://lucene.apache.org/solr/guide/6_6/using-zookeeper-to-manage-configuration-files.html#UsingZooKeepertoManageConfigurationFiles-UploadingConfigurationFilesusingbin_solrorSolrJ

Where can I find my jar on Apache Flink server which I submitted using Apache Flink dashboard

I developed a Flink job and submitted my job using Apache Flink dashboard. Per my understanding, when I submit my job, my jar should be available on Flink server. I tried to figure out path of my jar but couldn't able to. Does Flink keep these jar file on server? If yes, where I can find? Any documentation? Please help. Thanks!
JAR files are renamed when they are uploaded and stored in a directory that can be configured with the web.upload.dir configuration key.
If the web.upload.dir parameter is not set, the JAR files are stored in a dynamically generated directory under the jobmanager.web.tmpdir (default is System.getProperty("java.io.tmpdir")).

Resources