2013-02-18 2 views
0

Я установил что-то на своем mac для установки hadoop. Но есть сообщение об ошибке, как это:Проблемы с настройкой hadoop на mac os x 10.8

13/02/18 04:05:52 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s). 
13/02/18 04:05:53 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 1 time(s). 
13/02/18 04:05:54 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 2 time(s). 
13/02/18 04:05:55 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 3 time(s). 
13/02/18 04:05:56 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 4 time(s). 
13/02/18 04:05:57 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 5 time(s). 
13/02/18 04:05:58 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 6 time(s). 
13/02/18 04:05:59 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 7 time(s). 
13/02/18 04:06:00 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 8 time(s). 
13/02/18 04:06:01 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 9 time(s). 
java.lang.RuntimeException: java.net.ConnectException: Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused 
    at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:546) 
    at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:318) 
    at org.apache.hadoop.examples.PiEstimator.estimate(PiEstimator.java:265) 
    at org.apache.hadoop.examples.PiEstimator.run(PiEstimator.java:342) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
    at org.apache.hadoop.examples.PiEstimator.main(PiEstimator.java:351) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68) 
    at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139) 
    at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 
Caused by: java.net.ConnectException: Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused 
    at org.apache.hadoop.ipc.Client.wrapException(Client.java:1099) 
    at org.apache.hadoop.ipc.Client.call(Client.java:1075) 
    at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225) 
    at $Proxy1.getProtocolVersion(Unknown Source) 
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396) 
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379) 
    at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:119) 
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:238) 
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:203) 
    at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89) 
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1386) 
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66) 
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1404) 
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:254) 
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:123) 
    at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:542) 
    ... 17 more 
Caused by: java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599) 
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:489) 
    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:434) 
    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:560) 
    at org.apache.hadoop.ipc.Client$Connection.access$2000(Client.java:184) 
    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1206) 
    at org.apache.hadoop.ipc.Client.call(Client.java:1050) 
    ... 31 more 

затем я вхожу JPS, чтобы проверить обслуживание, результат: 20635 Jps

20466 TaskTracker

20189 DataNode

20291 SecondaryNameNode

Я не знаю, как бороться с этой ошибкой. может ли кто-нибудь дать мне ответ? Thx a Lot !!!

+0

Вам нужно отредактировать файл 'salves' в каталоге' hadoop-1.x.x/conf/'? Я проверил мой, и «slave» hasoop установлен для использования по умолчанию на моем MBP - «localhost: 9090». –

ответ

2

На самом деле все процессы, которые должны выполняться (hadoop), не выполняются из-за неправильной настройки IP.I не знакомы с Mac OS, но в Linux и Windowsх нам нужно помещать hasoop enteries для подключения в файлы hosts (etc/hosts) и я чертовски уверен, что это должно быть для Mac.Now точка
Вам нужно поместить вашу запись hadoop в этот файл как локальный mnachine, такой как 127.0.0.1
На самом деле вам нужно поставить его против фактического IP-адреса вашего компьютера
Для Пример
hadoop-machine 127.0.0.1 -> (здесь помещается обратный IP-адрес, потому что hasoop попытается подключиться к этому IP-адресу).
удалите это 127.0.0.1 и поместите фактический IP-адрес вашего компьютера в начале этой записи. You can find ip of your mac machine eaisly. Есть некоторые вопросы, которые напрямую не связаны с hadoop, но я думаю, они были бы полезны для вас.
Question 1, Question 2, Question 3

0

Это может немного помочь. Но первый U должен удалить предыдущую установку с помощью команды

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

Тогда U может начинаться с новой установкой Hadoop на U're Mac.

Шаг 1: Установка Homebrew

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Шаг 2: Установка Hadoop

$ brew install hadoop

Предположим, что варку устанавливает Hadoop 1.2.1

Шаг 3: Настройка Hadoop

$ cd /usr/local/Cellar/hadoop/1.2.1/libexec

Добавьте следующую строку в Conf/hadoop-env.sh:

export HADOOP_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc="

Добавьте следующие строки в Conf/ядро-site.xml внутри тегов конфигурации:

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

Добавьте следующие строки конф/HDFS-site.xml внутри тегов конфигурации:

<property> 
<name>dfs.replication</name> 
<value>1</value> 
</property> 

Добавьте следующие строки в Conf/mapred-сайт.xml внутри тегов конфигурации:

<property> 
<name>mapred.job.tracker</name> 
<value>localhost:9001</value> 
</property> 

Перейти к Системные настройки> Обмен. Убедитесь, что установлен флажок «Удаленный вход».

$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Шаг 4: Включение SSH на локальный

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Шаг 5: Формат Hadoop файловой системы

$ bin/hadoop namenode -format

Шаг 6: Запуск Hadoop

$ bin/start-all.sh

Убедитесь, что все Процессы Hadoop запущены:

$ jps

Выполнить пример Hadoop:

еще одно! «Brew update» обновит двоичные файлы hadoop до последней версии (1.2.1 в настоящее время).

1

У меня была такая же ошибка: ConnectException: Connection refused во всех файлах журнала вторичных имен.

Но я также нашел в файле журнала NameNode в:

2015-10-25 16:35:15,720 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode. 
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /private/tmp/hadoop-admin/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. 

поэтому я сделал

hadoop namenode -format 

и проблема ушла. Таким образом, сообщение об ошибке было связано с тем, что namenode не был успешно запущен.

+0

Спасибо, Ральф. Это помогло моему делу. –