
У меня есть два сервера, которые мне нужно запустить с помощью следующих команд:
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 &