У меня есть кластер, который состоит из 4 узлов
- nn1
- nn2
- dn1
- dn2
- nn1 имя узла nn2.
node-01
- это имя хоста nn1
, node-02
- это имя хоста nn2
. Когда nn1
активен, nn2
находится в режиме ожидания. Я могу успешно запустить программу на искре, например:
bin/spark-submit \
--class test.Test1 \
--master spark://node-01:7077 \
--deploy-mode cluster \
--total-executor-cores 2 \
--executor-memory 1G \
--total-executor-cores 2 \
hdfs://node-01:9000/jar/a.jar
Но когда nn1
находится в режиме ожидания и nn2
активен, возникает исключение:
{"RemoteException":{"message":"Operation category READ is not supported in state standby","exception":"RemoteException","javaClassName":"org.apache.hadoop.ipc.RemoteException"}}
Как я могу продолжать использовать одну и ту же командную строку, когда nn1
и nn2
меняют свой статус?
Большое спасибо.