
다음 명령을 사용하여 실행해야 하는 두 개의 서버가 있습니다.
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
따라서 첫 번째 네 줄만 실행하면 작동합니다. 색조 서버는 절대 켜지지 않습니다.
왜 그런 겁니까 ? 터미널이 하이브서버용으로 예약되어 있기 때문인가요? 어떻게 하면 그것을 피할 수 있습니까? 감사합니다
편집 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 &