Я использую язык программирования Scala.
Приведенный ниже код отлично работает, когда я запускаю его на листе Scala.
У меня два вопроса:
Когда я отправляю приложение Spark (с тем же кодом) в HDInsights, я получаю следующее исключение:
User class threw exception: java.net.UnknownHostException: url-Dev: Name or service not known.
Почему не находит url-Dev?
Как я могу передать учетные данные в этот почтовый запрос?
import org.apache.http.client.methods.HttpPost
import org.apache.http.impl.client.DefaultHttpClient
import org.apache.http.entity.StringEntity
import org.apache.http.util.EntityUtils
val url = "http://url-Dev";
val post = new HttpPost(url)
post.setEntity(new StringEntity("json"))
val client = new DefaultHttpClient
val response = client.execute(post)
val entity = response.getEntity()
val content = EntityUtils.toString(entity)
println(content)
url-dev - это локальный адрес в вашей сети. Кластер HDInsight работает в виртуальной сети в Azure. Оттуда у него не будет подключения к вашей локальной сети. Вам необходимо предоставить url-dev в Интернет безопасным способом, чтобы к нему можно было получить доступ из Azure, а затем использовать эту общедоступную конечную точку и механизм аутентификации. Вы также можете сделать более продвинутый вариант пиринга локальной сети с Azure VNet.