[HADOOP] "hadoop namenode -format"명령으로 수행 할 작업
HADOOP"hadoop namenode -format"명령으로 수행 할 작업
튜토리얼을 따라하고 내 컴퓨터에서 의사 배포 모드를 시도하여 Hadoop을 배우려고합니다.
내 core-site.xml은 다음과 같습니다.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation.
</description>
</property>
</configuration>
내 hdfs-site.xml 파일은 다음과 같습니다.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>The actual number of replications can be specified when the
file is created.
</description>
</property>
</configuration>
내 mapred-site.xml 파일은 다음과 같습니다.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
<description>The host and port that the MapReduce job tracker runs
at.
</description>
</property>
</configuration>
명령을 실행할 때 성공적으로 실행되었지만 실제로 수행 한 작업은 다음과 같습니다.
hadoop-1.2.1$ bin/hadoop namenode -format
14/11/26 12:37:16 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = myhost/127.0.0.8
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 1.2.1
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG: java = 1.6.0_45
************************************************************/
14/11/26 12:37:17 INFO util.GSet: Computing capacity for map BlocksMap
14/11/26 12:37:17 INFO util.GSet: VM type = 64-bit
14/11/26 12:37:17 INFO util.GSet: 2.0% max memory = 932118528
14/11/26 12:37:17 INFO util.GSet: capacity = 2^21 = 2097152 entries
14/11/26 12:37:17 INFO util.GSet: recommended=2097152, actual=2097152
14/11/26 12:37:17 INFO namenode.FSNamesystem: fsOwner=myuser
14/11/26 12:37:17 INFO namenode.FSNamesystem: supergroup=supergroup
14/11/26 12:37:17 INFO namenode.FSNamesystem: isPermissionEnabled=true
14/11/26 12:37:17 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
14/11/26 12:37:17 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
14/11/26 12:37:17 INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0
14/11/26 12:37:17 INFO namenode.NameNode: Caching file names occuring more than 10 times
14/11/26 12:37:17 INFO common.Storage: Image file /tmp/hadoop-myuser/dfs/name/current/fsimage of size 115 bytes saved in 0 seconds.
14/11/26 12:37:18 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/tmp/hadoop-myuser/dfs/name/current/edits
14/11/26 12:37:18 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/tmp/hadoop-myuser/dfs/name/current/edits
14/11/26 12:37:18 INFO common.Storage: Storage directory /tmp/hadoop-myuser/dfs/name has been successfully formatted.
14/11/26 12:37:18 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at chaitanya-OptiPlex-3010/127.0.0.8
************************************************************/
누군가가 내부적으로 무엇을하는지 알려주실 수 있습니까?
나는이 게시물을 살펴 보았지만 정확한 설명은 없습니다.
hadoop namenode 형식이 정확히 무엇입니까?
hadoop namenode가 형식화되지 않았습니다.
명령을 실행하기 전후에 차이점을 확인할 수 있도록 내 컴퓨터에서 이것을 어떻게 실제로 확인할 수 있습니까? 저는 하둡 (Hadoop)을 처음 사용하기 때문에 사소한 질문이 될 수 있습니다.
해결법
-
==============================
1.Hadoop 목적 포맷
Hadoop 목적 포맷
-
==============================
2.hadoop namenode -format이 명령은 hdfs의 모든 파일을 삭제합니다.
hadoop namenode -format이 명령은 hdfs의 모든 파일을 삭제합니다.
tmp 디렉토리는 로컬 파일 시스템에있는 두 개의 폴더 datanode, namenode를 포함합니다. 네임 노드를 포맷하면이 두 폴더는 비게됩니다.
주의 : namenode를 포맷하고 싶다면 먼저 모든 hadoop 서비스를 중지하고 로컬 파일 시스템에있는 tmp (namenode와 datanode 포함) 폴더를 삭제하고 hadoop 서비스를 시작하십시오.
Hadoop namenode의 이유 - 형식 :
Hadoop NameNode는 파일 시스템의 모든 파일에 대한 디렉토리 트리를 유지하고 파일 데이터가 보관되는 클러스터 전체의 위치를 추적하는 HDFS 파일 시스템의 중앙 집중식 위치입니다. 즉, 메타 데이터는 데이터 노드와 관련이 있습니다. namenode를 형식화 할 때 데이터 노드와 관련된 메타 데이터를 형식화합니다. 이렇게하면 데이터 노드의 모든 정보가 손실되고 새로운 데이터에 다시 사용할 수 있습니다.
기본적으로 namenode 위치는 "/ tmp / hadoop-myuser / dfs / name"입니다.
namenode를 포맷하는 동안이 파일 위치가 지워졌습니다.
namenode 위치를 변경하려면 다음과 같은 등록 정보를 추가하십시오. hdfs-site.xml
<property> <name>dfs.namenode.name.dir</name> <value>file:/search/data/dfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/search/data/dfs/datanode</value> </property>
나는 이것이 당신을 .. ..- 도움이되기를 바랍니다.
-
==============================
3.네임 노드는 Hadoop 파일 시스템에 대한 메타 데이터를 포함합니다.
네임 노드는 Hadoop 파일 시스템에 대한 메타 데이터를 포함합니다.
이 명령 (hadoop-1.2.1 $ bin / hadoop namenode -format)은 전체 Hadoop 분산 파일 시스템 (HDFS)을 포맷합니다. 따라서 기존 파일 시스템에서이 명령을 실행하면 모든 데이터가 손실됩니다.
-
==============================
4.실제로 네임 노드를 포맷하면 데이터 노드의 형식이 지정되지 않습니다.
실제로 네임 노드를 포맷하면 데이터 노드의 형식이 지정되지 않습니다.
namenode (데이터 노드의 세부 사항 포함)의 내용을 형식화합니다. 네임 노드는 더 이상 데이터가 어디에 있는지 알지 못합니다. 또한 namenode -format은 새로운 네임 스페이스 ID를 namenode에 할당합니다.
데이터 노드를 작동 시키려면 데이터 노드의 네임 스페이스 ID를 변경해야합니다. 이것은 dfs / data / current / VERSION에 있습니다.
네임 노드를 포맷 할 때 데이터 노드를 포맷하는 것과 같은 제안을 위해 JIRA가 열려 있습니다. HDFS-107
-
==============================
5.단계 "start-all.sh"를 사용하여 모든 서비스를 시작하십시오.
단계 "start-all.sh"를 사용하여 모든 서비스를 시작하십시오.
"JPS"를 사용하여 서비스가 실행 중인지 확인하십시오. 참고 : hadoop2.3.0을 사용하는 경우 다음 서비스를 실행해야합니다.
Namenode Datanode Resourcemanager Nodemanager
hdfs -put /을 사용하여 로컬에서 HDFS로 일부 파일 이동
이제 "/ tmp / hadoop-myuser / dfs / name"위치를 확인하십시오.이 파일은 각각 64MB 크기의 블록으로 분할되어 있습니다.
그런 다음 ** hadoop namenode -format **을 사용하여 서식을 시작하십시오. 이제 해당 위치에서 파일이 phisically 사용할 수 없습니다.
더 자세한 정보는 여기를 클릭하십시오.
from https://stackoverflow.com/questions/27143409/what-the-command-hadoop-namenode-format-will-do by cc-by-sa and MIT license