A node.js wrapper for the Solr's ZooKeeper CLI zkcli.sh to manage SolrCloud configuration parameters
npm install solr-zkcliThe docker command line tool must be installed and accessible in the path.
docker pull solr:7.2.0
npm install solr-zkcli
Then:
``js`
var solrZkcli = require('solr-zkcli');
With promise
`js
const solrZkcliOptions = new solrZkcli.SolrZkcliOptions(
/ cmd / 'upconfig',
/ currentWorkingDirectory / undefined,
/ zkhost / '127.0.0.1:2181',
/ confname / 'my_new_config',
/ confdir / 'server/solr/configsets/basic_configs/conf',
/ clusterprop/ undefined,
/ solrhome / undefined,
/ solrdockerimage / undefined,
/ machineName / 'localhost',
/ network / 'host',
);
solrZkcli.SolrZkCliCommand( options ).then( (data) => {
console.log('data = ', data);
});
//data = { ok: true }
`
With callback:
`js
solrZkcli.SolrZkCliCommand( options, function (err, data) {
console.log('data = ', data);
});
`
`js
import { SolrZkcliOptions, SolrZkCliCommand, SolrZkcliResult } from 'solr-zkcli';
const solrZkcliOptions = new SolrZkcliOptions(
/ cmd / 'upconfig',
/ currentWorkingDirectory / undefined,
/ zkhost / '127.0.0.1:2181',
/ confname / 'my_new_config',
/ confdir / 'server/solr/configsets/basic_configs/conf',
/ clusterprop/ undefined
);
SolrZkCliCommand(solrZkcliOptions).then((data: SolrZkcliResult) => {
console.log('data = ', data);
});
`
* bootstrap
`js
var options = {
zkhost: '127.0.0.1:9983/fmlogging',
cmd: 'bootstrap',
solrhome: 'server/solr/'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = { ok: true }
`
* put
`js
var options = {
zkhost: '127.0.0.1:9983',
cmd: 'put /my_zk_file.txt \'some data\''
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = { ok: true }
`
* putfile
`js
var options = {
zkhost: '127.0.0.1:9983',
cmd: 'putfile /my_zk_file.txt /tmp/my_local_file.txt'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = { ok: true }
`
* makepath
`js
var options = {
zkhost: '127.0.0.1:9983',
cmd: 'makepath /solr'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = { ok: true }
`
* clusterprop
`js
var options = {
zkhost: '127.0.0.1:' + config.zkport,
cmd: 'clusterprop',
name: 'urlScheme',
val: 'https'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = { ok: true }
`
* downconfig
`js
var options = {
zkhost: '127.0.0.1:9983',
cmd: 'downconfig',
confname: 'my_new_config',
confdir: '/var/download'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = { ok: true }
`
* get
`js
var options = {
zkhost: '127.0.0.1:' + config.zkport,
cmd: 'get /my_zk_file.txt'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = data = { ok: true, returnedData: 'some data' }
`
* getfile
`js
var options = {
zkhost: '127.0.0.1:' + config.zkport,
cmd: 'get /my_zk_file.txt /path/to/return.txt'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = data = { ok: true }
`
* list
`js
var options = {
zkhost: '127.0.0.1:' + config.zkport,
cmd: 'list'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = {
// ok: true,
// returnedData:
// ['/ (2)',
// 'DATA:',
// ' ',
// ' /my_zk_file.txt (0)',
// ' DATA: ...supressed...',
// ' /zookeeper (1)',
// ' DATA:']
//}
`
* clear
`js
var options = {
zkhost: '127.0.0.1:' + config.zkport,
cmd: 'clear /solr'
};
solrZkcli( options ).then(function (data) {
console.log('data = ', data);
});
//data = { ok: true }
``
MIT
[npm-image]: https://img.shields.io/npm/v/solr-zkcli.svg?style=flat
[npm-url]: https://npmjs.org/package/solr-zkcli
[downloads-image]: https://img.shields.io/npm/dm/solr-zkcli.svg?style=flat
[downloads-url]: https://npmjs.org/package/solr-zkcli