An open API service indexing awesome lists of open source software.

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

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