Я изо всех сил пытался заставить это работать, но в конечном счете заставил скрипт выполнить команду (выполнение скрипта sh) на удаленном сервере Unix.Я пытаюсь выполнить вторую команду и постоянно получаю сообщение об ошибке либо при создании нового канала, либо при его использовании.
try {
((ChannelExec) channel).setCommand(command);
PrintStream out= new PrintStream(channel.getOutputStream());
InputStream in = channel.getInputStream();
channel.connect();
BufferedReader scriptReader= new BufferedReader(new InputStreamReader(in));
scriptOutput = scriptReader.readLine();
sb = new StringBuilder();
while ((scriptOutput = scriptReader.readLine())!= null) {
sb.append(scriptOutput + "\n");
Это первый фрагмент выполнения канала, который работает нормально.Теперь следующий фрагмент кода метода вызывается сразу после использования указанного входного потока:
try {
StringBuilder sb = new StringBuilder();
command = new_command;
((ChannelExec) channel).setCommand(command);
InputStream in = channel.getInputStream();
channel.connect();
BufferedReader scriptReader= new BufferedReader(new InputStreamReader(in));
scriptOutput = scriptReader.readLine();
//StringBuilder sb = new StringBuilder();
for(int c=0; c < consumerList.size(); c++){
....
Теперь возвращается следующая ошибка:
com.jcraft.jsch.JSchException: channel is not opened.
Теперь, если я создаю новый канал с тем же сеансомЯ получил нулевой ответ от возвращенного потока.Я протестировал команду в удаленной оболочке, и она отлично работает:
int counter = 0;
Channel channelII = session.openChannel("exec");
try {
StringBuilder sb = new StringBuilder();
command = new_command;
((ChannelExec) channelII).setCommand(command);
InputStream in = channelII.getInputStream();
channelII.connect();
BufferedReader scriptReader= new BufferedReader(
new InputStreamReader(in));
scriptOutput = scriptReader.readLine();
вторая команда следующая, и я хочу иметь возможность многократно выполнять ее для разных групп потребителей:
/usr/kafka/bin/kafka-consumer-groups.sh --bootstrap-server
192.xxx.xx.xxx:9092 --describe -group consumergroup1
РЕДАКТИРОВАТЬ:
ответ второй команды:
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET
LAG CONSUMER-ID HOST
CLIENT-ID
output.influxDB 1 94919 2781796
2686877 - -
-
output.influxDB 0 94919 2781798
2686879 - -
-
output.influxDB 2 94918 2781795
2686877 - -
-