Ошибка отказа в подключении при попытке подключения HDFS в Linux с ноутбука Jupyter в Windows

#python #apache-spark #hadoop #pyspark

Вопрос:

Я установил Hadoop на машину Vmware Ubuntu, и он хорошо работает в Linux.

Когда я пытаюсь извлечь данные из ноутбука jupyter, он выдает ошибку отказа в подключении.

Ниже приведены свойства, заданные в файлах Hadoop.

core-site.xml:

 <property>
<name>fs.default.name</name>
<value>hdfs://localhost:50000</value>
</property>
 

hdfs-site.xml:

 <property>
<name>dfs.namenode.name.dir</name>
<value>/home/sankar/hadoop2-dir/namenode-dir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/sankar/hadoop2-dir/datanode-dir</value>
</property>
 

mapred-site.xml:

 <property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
 

добавлена запись JAVA_HOME в hadoop-env.sh , yarn-env.sh,mapred-env.sh

Ip-адрес моей машины указан ниже,

Ip-адрес компьютера

откройте-ssh-сервер также установлен и установите ключи в файле authorized_keys.

Сообщение об ошибке в записной книжке Jupyter:

Чтение файла из HDFS:

 df_hdfs = spark.read.csv("hdfs://192.168.208.129:50000/input_data/realestate.csv")

 

сообщение об ошибке

Пожалуйста, помогите мне в этом, чтобы устранить эту ошибку отказа в подключении.

Комментарии:

1. Ваша ошибка говорит о том, что HDFS не работает 192.168.208.129 . Прочтите ссылку в сообщении, чтобы провести диагностику … Однако, поскольку у вас есть XML-файл основного сайта, почему вам нужно использовать hdfs://192.168.208.129:50000 вместо spark.read.csv("/input_data) этого ??

2. @OneCricketeer Привет, потому что Hadoop работает на машине с Linux (Vmware), а ноутбук Jupyter я редактировал в машине с Windows. Так что я использую Ip-адрес компьютера Linux для указания hdfs. Но застрявший с этим подключением отказался от ошибки

3. Вы должны использовать перенаправление портов с виртуальной машины на ваш хост, а не указывать конкретный IP-адрес. Тем не менее, ссылка в ошибке сообщает вам все, что вам нужно знать

4. @OneCricketeer я в этом новичок.. Не знаю, как сделать переадресацию портов с виртуальной машины на хост