У меня есть два сервера, которые мне нужно запустить с этими командами:
cd /home/hadoop/apache-hive-3.1.1-bin/
sudo hiveserver2
и
sudo /opt/hue/build/env/bin/hue runserver
Поэтому я поместил обе команды в скрипт script.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
, работают только четыре первые строки. Сервер оттенков никогда не будет активирован.
Почему это? Это потому, что терминал остается зарезервированным для сервера 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. Второй терминал открыт, но в нем ничего нет (полный черный экран).
вот что вы можете сделать вместо этого:
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 &