Запуск двух серверов одновременно из скрипта bash

Запуск двух серверов одновременно из скрипта bash

У меня есть два сервера, которые мне нужно запустить с помощью следующих команд:

cd /home/hadoop/apache-hive-3.1.1-bin/ 
sudo hiveserver2 

и

sudo /opt/hue/build/env/bin/hue runserver 

Поэтому я поместил обе команды вскрипт.sh(вместе с другими материалами):

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
cd /home/hadoop/apache-hive-3.1.1-bin/ 
hiveserver2 & 
sudo /opt/hue/build/env/bin/hue runserver &

Так что когда я запускаю его bash script.shтолько с четырьмя первыми строками, сервер Hue никогда не включается.

Почему так? Это потому, что терминал остается зарезервированным для hiveserver? Как мне этого избежать, пожалуйста. Спасибо


ПРАВКА 1:

Итак, я отредактировал свой сценарий, как было предложено:

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
sudo gnome-terminal -- bash -c "cd /home/hadoop/apache-hive-3.1.1-bin; hiveserver2 &" 
sudo /opt/hue/build/env/bin/hue runserver &

и я выполнил с помощью bash script.sh. Теперь hueserver запущен, но не hiveserver. Второй терминал открыт, но в нем ничего нет (полностью черный экран).

решение1

Вот что вы можете сделать вместо этого:

gnome-terminal -- bash -c "$HADOOP_HOME/sbin/start-dfs.sh; $HADOOP_HOME/sbin/start-yarn.sh; cd /home/hadoop/apache-hive-3.1.1-bin; hiveserver2" &&
sudo /opt/hue/build/env/bin/hue runserver &

Связанный контент