https://github.com/quobject/solr-zkcli
node.js wrapper for the Solr's ZooKeeper CLI zkcli.sh to manage SolrCloud configuration parameters
https://github.com/quobject/solr-zkcli
Last synced: about 1 year ago
JSON representation
node.js wrapper for the Solr's ZooKeeper CLI zkcli.sh to manage SolrCloud configuration parameters
- Host: GitHub
- URL: https://github.com/quobject/solr-zkcli
- Owner: Quobject
- License: mit
- Created: 2016-01-08T18:29:05.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T04:23:15.000Z (over 3 years ago)
- Last Synced: 2024-04-14T12:16:29.692Z (almost 2 years ago)
- Language: TypeScript
- Homepage:
- Size: 753 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# solr-zkcli
A node.js wrapper for the Solr's ZooKeeper CLI zkcli.sh to manage [SolrCloud configuration parameters](https://cwiki.apache.org/confluence/display/solr/Command+Line+Utilities)
## Installation
### Step 1: Prerequisites
The [docker](https://docs.docker.com/engine/installation/) command line tool must be installed and accessible in the path.
### Step 2: Get solr image
docker pull solr:7.2.0
### Step 3: Installation
npm install solr-zkcli
Then:
```js
var solrZkcli = require('solr-zkcli');
```
## Usage
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);
});
```
## typescript
```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 }
```
## License
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