HADOOP datanode странные вещи

Думаю, у меня должно быть какое-то недопонимание насчет узлов данных в Hadoop Cluster. У меня есть виртуальный кластер hadoop, состоящий из master, slave1, slave2, slave3. Ведущее устройство и ведомое устройство 1 находятся на физической машине, в то время как ведомое устройство 2 и ведомое устройство 3 находятся на одной физической машине. Когда я запускаю кластер, в веб-интерфейсе HDFS я вижу только три живых узла данных: slave1, master, slave2. Но иногда три живых узла данных - это master, slave1, slave3. Это странно. Я отправляю ssh на незапущенный узел данных, хотя я выполняю jps и не нашел узла данных, я все еще могу копировать и удалять файлы в HDFS на этом узле. Поэтому я считаю, что я не должен правильно понимать датанод. У меня есть три вопроса. 1 Есть ли один узел данных на узел? 2 Почему узел, не являющийся узлом данных, все еще может читать и писать в HDFS? 3 можем ли мы решить количество узлов данных?

Вот журнал не запущенного узла данных:


STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = slave11/192.168.111.31
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 1.0.3
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-    1.0 -r 1335192; compiled by 'hortonfo' on Tue May  8 20:31:25 UTC 2012
************************************************************/
2012-08-03 17:47:07,578 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded     properties from hadoop-metrics2.properties
2012-08-03 17:47:07,595 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean     for source MetricsSystem,sub=Stats registered.
2012-08-03 17:47:07,596 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2012-08-03 17:47:07,596 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started
2012-08-03 17:47:07,911 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2012-08-03 17:47:07,915 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!
2012-08-03 17:47:09,457 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.111.21:54310. Already tried 0 time(s).
2012-08-03 17:47:10,460 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.111.21:54310. Already tried 1 time(s).
2012-08-03 17:47:11,464 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.111.21:54310. Already tried 2 time(s).
2012-08-03 17:47:19,565 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Registered FSDatasetStatusMBean
2012-08-03 17:47:19,601 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Opened info server at 50010
2012-08-03 17:47:19,620 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Balancing bandwith is 1048576 bytes/s
2012-08-03 17:47:24,721 INFO org.mortbay.log: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
2012-08-03 17:47:24,854 INFO org.apache.hadoop.http.HttpServer: Added global filtersafety (class=org.apache.hadoop.http.HttpServer$QuotingInputFilter)
2012-08-03 17:47:24,952 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: dfs.webhdfs.enabled = false
2012-08-03 17:47:24,953 INFO org.apache.hadoop.http.HttpServer: Port returned by webServer.getConnectors()[0].getLocalPort() before open() is -1. Opening the listener on 50075
2012-08-03 17:47:24,953 INFO org.apache.hadoop.http.HttpServer: listener.getLocalPort() returned 50075 webServer.getConnectors()[0].getLocalPort() returned 50075
2012-08-03 17:47:24,953 INFO org.apache.hadoop.http.HttpServer: Jetty bound to port 50075
2012-08-03 17:47:24,953 INFO org.mortbay.log: jetty-6.1.26
2012-08-03 17:47:25,665 INFO org.mortbay.log: Started [email protected]:50075

2012-08-03 17: 47: 33,873 INFO org.mortbay.log: остановлен [email protected]: 50075 2012-08-03 17: 47: 33,980 INFO org.apache.hadoop.ipc.Server: остановка сервера на 50020 2012-08-03 17: 47: 33,981 INFO org.apache.hadoop.ipc.Server: обработчик IPC-сервера 0 на 50020: завершается 03.08.2012 17: 47: 33,981 INFO org.apache.hadoop.ipc.Server: Обработчик сервера IPC 2 на 50020: выход 2012-08-03 17: 47: 33,981 INFO org.apache.hadoop.ipc.Server: Обработчик сервера IPC 1 на 50020: выход

    at org.apache.hadoop.ipc.Client.call(Client.java:1070)
    at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
    at $Proxy5.blockReport(Unknown Source)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.offerService(DataNode.java:958)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.run(DataNode.java:1458)
    at java.lang.Thread.run(Thread.java:636)

на com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean (JmxMBeanServer.java:540) на org.apache.hadoop.metrics2.util.MBeans.unregister (MBeans.java:71) на org.apache.serdoop.hdf .datanode.FSDataset.shutdown (FSDataset.java:2067) на org.apache.hadoop.hdfs.server.datanode.DataNode.shutdown (DataNode.java:799) на org.apache.hadoop.hdfs.server.datanode.DataNode .run (DataNode.java:1471) в java.lang.Thread.run (Thread.java:636)

2012-08-03 17:47:33,981 INFO org.apache.hadoop.ipc.Server: IPC Server handler 0 on 50020: exiting
2012-08-03 17:47:33,981 INFO org.apache.hadoop.ipc.Server: IPC Server handler 2 on 50020: exiting
2012-08-03 17:47:33,981 INFO org.apache.hadoop.ipc.Server: IPC Server handler 1 on 50020: exiting
2012-08-03 17:47:33,981 INFO org.apache.hadoop.ipc.metrics.RpcInstrumentation: shut down
2012-08-03 17:47:33,982 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(192.168.111.31:50010, storageID=DS-1062340636-127.0.0.1-50010-1339803955209, infoPort=50075, ipcPort=50020):DataXceiveServer:java.nio.channels.AsynchronousCloseException
    at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:170)
    at sun.nio.ch.ServerSocketAdaptor.accept(ServerSocketAdaptor.java:102)
    at org.apache.hadoop.hdfs.server.datanode.DataXceiverServer.run(DataXceiverServer.java:131)
    at java.lang.Thread.run(Thread.java:636)

2012-08-03 17:47:33,982 INFO org.apache.hadoop.ipc.Server: Stopping IPC Server listener on 50020
2012-08-03 17:47:33,982 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting DataXceiveServer
2012-08-03 17:47:33,983 INFO org.apache.hadoop.ipc.Server: Stopping IPC Server Responder

2012-08-03 17: 47: 33,988 ПРЕДУПРЕЖДЕНИЕ org.apache.hadoop.hdfs.server.datanode.FSDatasetAsyncDiskService: AsyncDiskService уже отключен. 2012-08-03 17:47: 33,989 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: выход из Datanode

Возникают проблемы с наличием нескольких узлов данных на одно имя хоста. Вы говорите, что он виртуальный, значит, они на разных виртуальных машинах? Если так, то проблем быть не должно ...

Я бы проверил журналы DataNode для slave2 и slave3 и посмотрел, почему один из них не загружается. Там будет напечатано сообщение об ошибке. Если ошибка говорит что-то вроде взятого порта или что-то в этом роде.


person tony marbo    schedule 03.08.2012    source источник


Ответы (1)


Вам не нужно находиться на DataNode для доступа к HDFS. Клиент HDFS (например, hadoop fs -put) напрямую взаимодействует с NameNode и другими процессами DataNode, даже не обращаясь к локальному.

На самом деле довольно часто в больших кластерах имеется отдельный «узел запроса», который имеет доступ к HDFS и MapReduce, но не запускает какие-либо службы DataNode или TaskTracker.


Если у вас установлены пакеты Hadoop и файлы конфигурации правильно указывают на NameNode и JobTracker, вы можете получить доступ к своему кластеру «удаленно».

все четыре машины - разные виртуальные машины. Когда я запускаю кластер, иногда узлами данных являются master, slave1, slave2, а иногда - master, slave1, slave3. Теперь я предполагаю, что на datanode HDFS может хранить файл. Как определить количество узлов данных

2012-08-03 17: 47: 25,688 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: зарегистрирован MBean для исходного jvm. 2012-08-03 17: 47: 25,690 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: зарегистрирован MBean для исходного узла данных. 2012-08-03 17: 47: 30,717 INFO org.apache.hadoop.ipc.Server: Запуск SocketReader 03.08.2012 17: 47: 30,718 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean для источника RpcDetailedActivityForPort50020 зарегистрирован. 2012-08-03 17: 47: 30,718 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: зарегистрирован MBean для источника RpcActivityForPort50020. 2012-08-03 17:47: 30,721 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: dnRegistration = DatanodeRegistration (slave11: 50010, storageID = DS-1062340636-127.0.0.1-50010-1339803955209, infoPort = 50075 , ipcPort = 50020) 2012-08-03 17:47: 30,764 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: запуск сканирования отчета асинхронного блока. 2012-08-03 17: 47: 30,766 INFO org.apache. hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration (192.168.111.31:50010, storageID = DS-1062340636-127.0.0.1-50010-1339803955209, infoPort = 50075, ipcPort = 50020) В DataNode.run, data = FSDataset {dirpath = '/ app / hadoop / tmp / dfs / data / current'} 2012-08-03 17: 47: 30,774 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: с использованием BLOCKREPORT_INTERVAL из 3600000 мсек. Начальная задержка: 0 мс 2012 г. -08-03 17: 47: 30,778 INFO org.apache.hadoop.ipc.Server: IPC Server handler 2 на 50020: начиная с 2012-08-03 17: 47: 30,772 INFO org.apache.hadoop.ipc.Server: IPC Ответ сервера: начиная с 2012-08-03 17: 47: 30,773 INF O org.apache.hadoop.ipc.Server: прослушиватель IPC-сервера на 50020: начиная с 2012-08-03 17: 47: 30,773 INFO org.apache.hadoop.ipc.Server: обработчик IPC-сервера 0 на 50020: начиная с 2012-08 -03 17: 47: 30,773 INFO org.apache.hadoop.ipc.Server: обработчик сервера IPC 1 на 50020: начиная с 2012-08-03 17: 47: 30,795 INFO org.apache.hadoop.hdfs.server.datanode.DataNode : Запуск периодического сканирования блоков. 2012-08-03 17:47: 30,816 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: завершено сканирование отчета асинхронного блока за 52 мс. 2012-08-03 17: 47: 30,838 INFO org.apache.hadoop.hdfs .server.datanode.DataNode: сгенерирован грубый (без блокировки) отчет о блоках за 32 мс 2012-08-03 17: 47: 30,840 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: согласованный асинхронный отчет о блоках с текущим состоянием в 2 мс 2012-08-03 17:47: 31,158 ИНФОРМАЦИЯ org.apache.hadoop.hdfs.server.datanode. DataBlockScanner: проверка прошла успешно для blk_-6072482390929551157_78209 2012-08-03 17: 47: 33,775 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Согласованный отчет асинхронного блока с текущим состоянием за 1 мс 2012-08-03 17: 47: 33,793 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: DataNode выключается: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.protocol.UnregisteredDatanodeException: Data node 192.168.111.31 : 50010 пытается сообщить об идентификаторе хранилища DS-1062340636-127.0.0.1-50010-1339803955209. Ожидается, что узел 192.168.111.32:50010 будет обслуживать это хранилище. в org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getDatanode (FSNamesystem.java:4608) в org.apache.hadoop.hdfs.server.namenode.FSNamesystem.processReport (FSNamesystem.java:3460) в org.apache .hadoop.hdfs.server.namenode.NameNode.blockReport (NameNode.java:1001) на sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) на sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethod.javareflectorImpl.invoke (NativeMethod.javareflex) в sun.reflect .DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:616) в org.apache.hadoop.ipc.RPC $ Server.call (RPC.java:563) в org.apache.hadoop.ipc.Server $ Handler $ 1.run (Server.java:1388) в org.apache.hadoop.ipc.Server $ Handler $ 1.run (Server.java:1384) в java.security.AccessController. doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:416) в org.apache.hadoop.security .UserGroupInformation.doAs (UserGroupInformation.java:1121) на org.apache.hadoop.ipc.Server $ Handler.run (Server.java:1382)

person Donald Miner    schedule 04.08.2012
comment
2012-08-03 17: 47: 33,982 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Ожидание выхода группы потоков, активные потоки - 1 2012-08-03 17: 47: 33,984 INFO org.apache. hadoop.hdfs.server.datanode.DataBlockScanner: выход из потока DataBlockScanner. 2012-08-03 17: 47: 33,985 INFO org.apache.hadoop.hdfs.server.datanode.FSDatasetAsyncDiskService: Завершение всех потоков службы асинхронного диска ... 2012-08-03 17: 47: 33,985 INFO org.apache. hadoop.hdfs.server.datanode.FSDatasetAsyncDiskService: все потоки асинхронной дисковой службы отключены. 2012-08-03 17:47: 33,985 ИНФОРМАЦИЯ org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration (192.168.111.31:50010, storageID = DS-1062340636-127.0.0.1-50010-1339803955209, infoPort = 50075 , ipcPort = 50020): Завершение DataNode в: FSDataset {dirpath = '/ app / hadoop / tmp / dfs / data / current'} 2012-08-03 17: 47: 33,987 WARN org.apache.hadoop.metrics2.util. MBeans: Hadoop: service = DataNode, name = DataNodeInfo javax.management.InstanceNotFoundException: Hadoop: service = DataNode, name = DataNodeInfo в com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean (по умолчанию: MBeanServerInterceptor. jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean (DefaultMBeanServerInterceptor.java:433) при com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean (DefaultMBeanServerInterceptor.java:421) в com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean (JmxMBeanServer.java: 540) на org.apache.hadoop.metrics2.util.MBean. s.unregister (MBeans.java:71) в org.apache.hadoop.hdfs.server.datanode.DataNode.unRegisterMXBean (DataNode.java:522) в org.apache.hadoop.hdfs.server.datanode.DataNode.shutdown ( DataNode.java:737) на org.apache.hadoop.hdfs.server.datanode.DataNode.run (DataNode.java:1471) на java.lang.Thread.run (Thread.java:636) 17 марта 2012 г. : 47: 33,988 INFO org.apache.hadoop.ipc.Server: Остановка сервера на 50020 03.08.2012 17: 47: 33,988 INFO org.apache.hadoop.ipc.metrics.RpcИнструментация: завершение работы 03.08.2012 17 : 47: 33,988 ИНФОРМАЦИЯ org.apache.hadoop.hdfs.server.datanode.DataNode: Ожидание завершения группы потоков, активные потоки - 0 2012-08-03 17: 47: 33,988 ПРЕДУПРЕЖДЕНИЕ org.apache.hadoop.metrics2.util. MBeans: Hadoop: service = DataNode, name = FSDatasetState-DS-1062340636-127.0.0.1-50010-1339803955209 javax.management.InstanceNotFoundException: Hadoop: service = DataNode, name = FSDatasetState-DS-1062340636-127. 0.0.1-50010-1339803955209 в com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean (DefaultMBeanServerInterceptor.java:1118) в com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.Interceptor.DefaultMBeanServer.Interceptor.exclusive.Un jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean (DefaultMBeanServerInterceptor.java:421) - person tony marbo; 04.08.2012