https://github.com/bendemott/solr-zkutil
Solr Cloud and ZooKeeper CLI
https://github.com/bendemott/solr-zkutil
cli solr solrcloud zookeeper
Last synced: 6 months ago
JSON representation
Solr Cloud and ZooKeeper CLI
- Host: GitHub
- URL: https://github.com/bendemott/solr-zkutil
- Owner: bendemott
- License: mit
- Created: 2017-02-08T03:42:54.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-06-01T19:01:50.000Z (about 8 years ago)
- Last Synced: 2025-12-07T09:32:13.661Z (7 months ago)
- Topics: cli, solr, solrcloud, zookeeper
- Language: Python
- Homepage:
- Size: 112 KB
- Stars: 15
- Watchers: 4
- Forks: 1
- Open Issues: 18
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
=======================
solr-zkutil CLI Utility
=======================
About
-----
``solr-zkutil`` is an easy to use tool written in ``Python`` that allows you to quickly understand
information about your **Solr** ZooKeeper cluster.
If you live in an ethereal environment in which solr-hosts are frequently changing, or you have
many different solr environments to keep track of, this tool is for you!
The program is designed to work with **Windows** or **Linux** hosts, and is easy to install.
Runs on **python3** or **python2**!
Features
--------
|livenodesgif|
Supports environment aliases for ZooKeeper Connections
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|environmentconf|
Add your ZooKeeper connection string to the program and an environment alias
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
::
solr-zkutil config --add 'DEV=zk01.host.com:2181,zk02.host.com:2181,zk03.host.com:2181'
| `Or replace the configuration entirely using valid json`
::
solr-zkutil config --configuration '{\"DEV\":\"zk01.dev.host.com:2181,zk02.dev.host.com:2181,zk03.dev.host.com:2181\", \"QA\": \"zk01.qa.host.com:2181,zk02.qa.host.com:2181,zk03.qa.host.com:2181\"}'
|environmentadd|
Query ZooKeeper for Solr Hosts, and Open the administration web-interface automatically
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ``solr-zkutil live-nodes --env DEV --browser``
| `or`
| ``solr-zkutil live-nodes -z zk01.dev.host.com:2181 --browser``
|livenodes|
Watch any ZooKeeper file/node for changes, during deployments, etc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ``solr-zkutil watch /live_nodes --env DEV``
| `or`
| ``solr-zkutil watch /clusterstate.json --env PROD``
|watchnode|
Issue Administrative Commands Easily
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ``solr-zkutil admin RUOK --env DEV``
|admincmd|
| ``solr-zkutil ls /live_nodes -z zk01.dev.host.com:2181,zk02.dev.host.com:2181,zk03.dev.host.com:2181``
| `or.. note that ls can also be used to view the contents of node`
| ``solr-zkutil ls /clusterstate.json --env PROD --all-hosts``
View the contents/children of a node across all ensemble (cluster) members quickly
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|lsnodesall|
View all nodes, with stats info
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|lsnodesdebug|
Execute admin commands across all nodes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|adminall|
Installation
------------
Windows
^^^^^^^
On windows install ``Python 2.7`` or ``Python 3.3+``, and ensure Python ``exe`` and ``Scripts`` paths are configured
to be on your Windows Path environment, and the program should be accessible through ``PowerShell``
or ``cmd.exe``.
Setting up Python Paths is an option during the installation of the Python Package on Windows, I highly suggest you check the box, or mark the feature **add Python to system path** so this step is accomplished for you.
`Note: I will try to add a bundled exe installer soon for Windows`
**Python Include Paths**
- ``C:\Python27``
- ``C:\Python27\Scripts``
The ``pip`` command is bundled with the Python Windows installation.
Once you have this configured you should be able to also execute ``pip`` without specifying its path.
Linux
^^^^^
A recent version of Python ships with most linux distributions, if you don't have pip
install it with (ubuntu/debian)::
sudo apt-get install python-pip
(Fedora)::
sudo dnf install python-pip
There are no additional special instructions on Linux.
Installing from PyPi (recommended)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
::
pip install solr-zkutil
Or to update your solr-zkutil to the latest version::
pip install solr-zkutil --upgrade
Install Manually
^^^^^^^^^^^^^^^^
Simply download, clone the repository, open a console and execute:
``python setup.py install``
On windows if you have not configured your Python environment you can install with::
C:\Python27\python.exe setup.py install
Install from pip/github
^^^^^^^^^^^^^^^^^^^^^^^
::
pip install git+https://github.com/bendemott/solr-zkutil.git
Program Commands
----------------
Once installed the program is executable using the command::
solr-zkutil
For help with the command type::
solr-zkutil --help
If you are having trouble configuring paths the program can also be ran using::
python -m solrzkutil
or for `Windows`::
C:\Python27\python.exe -m solrzkutil
Usage
^^^^^
::
usage: solr-zkutil [-h]
{live-nodes,clusterstate,watch,ls,stat,admin,config} ...
positional arguments:
{live-nodes,clusterstate,watch,ls,stat,admin,config}
--- available sub-commands ---
live-nodes List Solr Live Nodes from ZooKeeper
clusterstate List Solr Collections and Nodes
watch Watch a ZooKeeper Node for Changes
ls List a ZooKeeper Node
stat Check ZooKeeper ensemble status
admin Execute a ZooKeeper administrative command
config Show connection strings, or set environment
configuration
optional arguments:
-h, --help show this help message and exit
.. |livenodesgif| image:: http://i.imgur.com/uTROF7Z.gif
.. |environmentconf| image:: http://i.imgur.com/v1df7K9.png
.. |environmentadd| image:: http://i.imgur.com/UL1peUD.png
.. |livenodes| image:: http://i.imgur.com/QpQt1Xs.png
.. |watchnode| image:: http://i.imgur.com/9S9x9wb.png
.. |admincmd| image:: http://i.imgur.com/Wm1DpmL.png
.. |lsnodesall| image:: http://i.imgur.com/Lk1yVtB.png
.. |lsnodesdebug| image:: http://i.imgur.com/mcl54I5.png
.. |adminall| image:: http://i.imgur.com/aDqCdzE.png