hadoop是由java 語言編寫的主從結構分佈式計算存儲架構
準備工作:
-
操作系統: Ubuntu16.04
-
軟件安裝包:jdk-8u171-linux-x64.tar.gz ; hadoop-2.6.5.tar.gz
-
配置環境:3臺虛擬機
master:192.168.122.10 node1 :192.168.122.11 node1 :192.168.122.12
- 前提條件:三臺虛擬機已經配置過SSH和主機名,如果沒有,請自行百度配置。
第一步:安裝jdk
因爲hadoop是由java編寫的,所以底層需要依賴java環境, jdk下載地址,可選擇合適的版本 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在master上操作
1.下載jdk
用wget下載,如下
root@master:/opt/tar# wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz
root@master:/opt/tar# l
jdk-8u171-linux-x64.tar.gz
2.解壓tar包
可以自己先創一個目錄來解壓方便以後管理,這次我就解壓在opt目錄下
root@master:/opt/tar# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/
root@master:/opt# l
jdk1.8.0_171/
3.將jdk添加到環境變量中
root@master:/opt# vim /etc/profile
在文件末尾添加
export JAVA_HOME=/opt/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
4.刷新環境變量文件
root@master:/opt# echo $JAVA_HOME #沒刷新前的結果爲空
root@master:/opt# source /etc/profile #刷新
root@master:/opt# echo $JAVA_HOME
/opt/jdk1.8.0_171
root@master:/opt# java -version #看java版本
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
-
到這裏master的上面的jdk就安裝好了 接下來就是將從節點上也安裝,這裏就可以將master上解壓好和修改好的/etc/profile文件直接拷貝到從節點上了,這樣比較方便,不然還得重複配置。
-
這裏我還是將jdk放在從節點的/opt目錄下
root@master:/opt# scp -r jdk1.8.0_171/ node1:/opt #拷貝jdk到node1
root@master:/opt# scp -r jdk1.8.0_171/ node2:/opt #拷貝jdk到node2
root@master:/opt# scp -r /etc/profile node1:/etc/ #拷貝環境變量文件到node1
root@master:/opt# scp -r /etc/profile node2:/etc/ #拷貝環境變量文件到node2
在node1和node2上執行
source /etc/profile #刷新
- 到這裏三臺虛擬機的JDK就全部安裝好了!
第二步:安裝hadoop
從網站 http://hadoop.apache.org/releases.html 找到合適的hadoop的二進制版本,本次我用的是2.6.5
1. 下載
root@master:/opt/tar# wget http://www-eu.apache.org/dist/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
2.解壓
root@master:/opt/tar# tar -zxvf hadoop-2.6.5.tar.gz -C /opt/
root@master:/opt# l
hadoop-2.6.5/ jdk1.8.0_171/
3.修改配置文件
進入/opt/hadoop-2.6.5/etc/hadoop目錄下,這裏面都是配置文件
root@master:/opt/hadoop-2.6.5/etc/hadoop# l
capacity-scheduler.xml hadoop-env.sh httpfs-env.sh kms-env.sh mapred-env.sh ssl-server.xml.example
configuration.xsl hadoop-metrics2.properties httpfs-log4j.properties kms-log4j.properties mapred-queues.xml.template yarn-env.cmd
container-executor.cfg hadoop-metrics.properties httpfs-signature.secret kms-site.xml mapred-site.xml.template yarn-env.sh
core-site.xml hadoop-policy.xml httpfs-site.xml log4j.properties slaves yarn-site.xml
hadoop-env.cmd hdfs-site.xml kms-acls.xml mapred-env.cmd ssl-client.xml.example
1.修改hadoop-env.sh
裏面是啓動的腳本文件,將jdk導入
root@master:/opt/hadoop-2.6.5/etc/hadoop# echo $JAVA_HOME #獲取jdk據對路徑
/opt/jdk1.8.0_171
root@master:/opt/hadoop-2.6.5/etc/hadoop# vim hadoop-env.sh
寫入export JAVA_HOME=/opt/jdk1.8.0_171保存退出
2.修改core-site.xml
核心配置文件
root@master:/opt/hadoop-2.6.5/etc/hadoop# vim core-site.xml
寫入
<configuration>
<!--NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!--HDFS保存數據塊、元信息和日誌的目錄-->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop-2.6.5/hadooptmp</value>
</property>
</configuration>
裏面內容以key-value形式書寫,規定hadoop的默認文件系統爲hdfs以對應的路徑和端口(9000)。hadoop產生的臨時文件存放地址(/opt/hadoop-2.6.5/hadooptmp)
3.hdfs-site.xml
這個文件不配置也行,就會用默認值,配置了就根據配置的內容來
root@master:/opt/hadoop-2.6.5/etc/hadoop# vim hdfs-site.xml
<configuration>
<!--namenode產生的臨時文件保存地址-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop-2.6.5/hadooptmp</value>
</property>
<!--datanode產生的臨時文件保存地址-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop-2.6.5/haooptmp</value>
</property>
<!--數據塊的冗餘度(副本),默認:3-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
在這裏面我配置了hdfs文件的副本數,默認爲3份,但因爲我的虛擬機空間不足,這裏就配置了1份。大家也可以根據實際要求進行配置。
4.mapred-site.xml
這個文件是沒有的,只提供一個tmp文件
root@master:/opt/hadoop-2.6.5/etc/hadoop# cp mapred-site.xml.template mapred-site.xml
root@master:/opt/hadoop-2.6.5/etc/hadoop# vim mapred-site.xml
<configuration>
<!--MapReduce運行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
mapreduce平行平臺的名稱(這裏指定爲yarn)
5.yarn-site.xml
root@master:/opt/hadoop-2.6.5/etc/hadoop# vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<!--ResourceManager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!--MapReduce運行的方式是:shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
這裏面配置yarn的resourcemanager在哪個節點上運行(這裏我I設置爲master),和yarn需要的shuffle服務。
- 到這裏master上的hadoop就配置好了,接下來就這這個hadoop文件複製到從節點上
root@master:/opt# scp -r hadoop-2.6.5/ node1:/opt/
root@master:/opt# scp -r hadoop-2.6.5/ node2:/opt/
2. 爲Hadoop添加環境變量
輸入命令:vim /etc/profile
添加如下內容: export HADOOP_HOME=/opt/hadoop-2.6.5 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
刷新
source /etc/profile #刷新
- 將這些內容也寫到從節點的文件下,或者通過scp傳過去 從節點刷新。
3. 配置slaves
root@master:/opt/hadoop-2.6.5/etc/hadoop# vim slaves
- 如圖所示配置意味着master節點此時既充當主節點也充當從節點(這樣可以少開一個虛擬機,節省資源,服務器性能好可以不這樣做)
4. 格式化文件系統
輸入命令:hdfs namenode -format 看到高亮語句證明格式化成功! Storage directory /root/training/hadoop-2.6.5/hadooptmp has been successfully formatted.
安裝成功!
測試
啓動namenode
root@master:/opt/hadoop-2.6.5/sbin# hadoop-daemon.sh start namenode
starting namenode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-namenode-master.out
root@master:/opt/hadoop-2.6.5/sbin# jps
2420 NameNode
3406 Jps
成功!其中hadoop-daemon.sh是一個啓動腳本
關閉namenode
root@master:/opt/hadoop-2.6.5/sbin# hadoop-daemon.sh stop namenode
stopping namenode
root@master:/opt/hadoop-2.6.5/sbin# jps
11754 Jps
一鍵啓動所有節點(集羣) namenode+datanode
主節點
root@master:/opt/hadoop-2.6.5/etc/hadoop# start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [master]
master: starting namenode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-namenode-master.out
node1: starting datanode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-datanode-node1.out
node2: starting datanode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-datanode-node2.out
localhost: starting datanode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-datanode-master.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-secondarynamenode-master.out
starting yarn daemons
starting resourcemanager, logging to /opt/hadoop-2.6.5/logs/yarn-root-resourcemanager-master.out
node1: starting nodemanager, logging to /opt/hadoop-2.6.5/logs/yarn-root-nodemanager-node1.out
node2: starting nodemanager, logging to /opt/hadoop-2.6.5/logs/yarn-root-nodemanager-node2.out
localhost: starting nodemanager, logging to /opt/hadoop-2.6.5/logs/yarn-root-nodemanager-master.out
root@master:/opt/hadoop-2.6.5/etc/hadoop# jps
14961 ResourceManager
15204 NodeManager
13125 NameNode
16188 Jps
從節點查看
root@node1:/opt# jps
20656 NodeManager
19927 DataNode
21660 Jps
root@node2:~# jps
17553 DataNode
19514 Jps
18314 NodeManager
成功!
在hdfs中創建一個目錄firstTestDir
root@master:/opt/hadoop-2.6.5/hadooptmp# hadoop dfs -ls / #查看原始狀態下的目錄(沒有)
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
root@master:/opt/hadoop-2.6.5/hadooptmp# hadoop dfs -mkdir /firstTestDir #創建目錄
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
root@master:/opt/hadoop-2.6.5/hadooptmp# hadoop dfs -ls / #查看目錄,已經存在
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
Found 1 items
drwxr-xr-x - root supergroup 0 2018-05-13 21:13 /firstTestDir
向這個目錄下上傳文件
這裏我將root下的a.txt文件上傳爲例
root@master:~# l
a.txt
root@master:~# hadoop dfs -put ./a.txt /firstTestDir #上傳文件a.txt
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
root@master:~# hadoop dfs -ls /firstTestDir #查看是否成功,ok!
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
Found 1 items
-rw-r--r-- 1 root supergroup 22002 2018-05-13 21:14 /firstTestDir/a.txt
運行wordcount
UI查詢
訪問 HDFS的Web Console:http://master:50070
訪問 Yarn的Web Console:http://master:8088
關閉所有組件
root@master:/opt/hadoop-2.6.5/etc/hadoop# stop-all.sh
可能遇到的問題:
1.格式化時出現問題
root@master:/opt/hadoop-2.6.5/etc/hadoop# hdfs namenode –format
18/05/12 20:50:16 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/127.0.0.1
STARTUP_MSG: args = [–format]
STARTUP_MSG: version = 2.6.5
STARTUP_MSG: classpath = /opt/hadoop-2.6.5/etc/hadoop:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-httpclient-3.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/stax-api-1.0-2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/avro-1.7.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jackson-jaxrs-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/snappy-java-1.0.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/httpclient-4.2.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/httpcore-4.2.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/slf4j-api-1.7.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/zookeeper-3.4.6.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/guava-11.0.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jackson-mapper-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/mockito-all-1.8.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jersey-core-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-compress-1.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jetty-util-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-cli-1.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jasper-runtime-5.5.23.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/hadoop-auth-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/apacheds-kerberos-codec-2.0.0-M15.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/activation-1.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/xz-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/curator-recipes-2.6.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jaxb-impl-2.2.3-1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-logging-1.1.3.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jetty-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-collections-3.2.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/paranamer-2.3.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/servlet-api-2.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jaxb-api-2.2.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jersey-server-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jettison-1.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-beanutils-1.7.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jersey-json-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/protobuf-java-2.5.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/log4j-1.2.17.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/api-asn1-api-1.0.0-M20.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jets3t-0.9.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-beanutils-core-1.8.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/junit-4.11.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/htrace-core-3.0.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/asm-3.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jsr305-1.3.9.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/java-xmlbuilder-0.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jasper-compiler-5.5.23.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-codec-1.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/curator-framework-2.6.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/apacheds-i18n-2.0.0-M15.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-configuration-1.6.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/api-util-1.0.0-M20.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-lang-2.6.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-math3-3.1.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jsch-0.1.42.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-el-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/netty-3.6.2.Final.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/curator-client-2.6.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jsp-api-2.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jackson-xc-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jackson-core-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-io-2.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/hadoop-annotations-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/gson-2.2.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-digester-1.8.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/xmlenc-0.52.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/hamcrest-core-1.3.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-net-3.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/hadoop-nfs-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/hadoop-common-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/hadoop-common-2.6.5-tests.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/guava-11.0.2.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jackson-mapper-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jersey-core-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jetty-util-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-cli-1.2.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jasper-runtime-5.5.23.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-logging-1.1.3.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jetty-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-daemon-1.0.13.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/xml-apis-1.3.04.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/servlet-api-2.5.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jersey-server-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/protobuf-java-2.5.0.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/log4j-1.2.17.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/htrace-core-3.0.4.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/asm-3.2.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jsr305-1.3.9.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/xercesImpl-2.9.1.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-codec-1.4.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-lang-2.6.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-el-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/netty-3.6.2.Final.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jsp-api-2.1.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jackson-core-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-io-2.4.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/xmlenc-0.52.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/hadoop-hdfs-2.6.5-tests.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/hadoop-hdfs-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/hadoop-hdfs-nfs-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-httpclient-3.1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/stax-api-1.0-2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jackson-jaxrs-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/zookeeper-3.4.6.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/guava-11.0.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jackson-mapper-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-core-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-compress-1.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jetty-util-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-cli-1.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/activation-1.1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/xz-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jaxb-impl-2.2.3-1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-logging-1.1.3.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jetty-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-collections-3.2.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/servlet-api-2.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jaxb-api-2.2.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-server-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jettison-1.1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-json-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/protobuf-java-2.5.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/log4j-1.2.17.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/guice-3.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/asm-3.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-guice-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jsr305-1.3.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/leveldbjni-all-1.8.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-client-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-codec-1.4.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/guice-servlet-3.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-lang-2.6.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/netty-3.6.2.Final.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/aopalliance-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jackson-xc-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jackson-core-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-io-2.4.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/javax.inject-1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-resourcemanager-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-web-proxy-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-api-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-applications-distributedshell-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-applicationhistoryservice-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-common-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-applications-unmanaged-am-launcher-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-client-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-common-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-tests-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-nodemanager-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-registry-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/avro-1.7.4.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/snappy-java-1.0.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jackson-mapper-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jersey-core-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/commons-compress-1.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/xz-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/paranamer-2.3.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jersey-server-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/protobuf-java-2.5.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/log4j-1.2.17.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/guice-3.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/junit-4.11.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/asm-3.2.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jersey-guice-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/leveldbjni-all-1.8.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/guice-servlet-3.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/netty-3.6.2.Final.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/aopalliance-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jackson-core-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/commons-io-2.4.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/hadoop-annotations-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/hamcrest-core-1.3.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/javax.inject-1.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.5-tests.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-common-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-app-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-plugins-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-shuffle-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-2.6.5.jar:/opt/hadoop-2.6.5/contrib/capacity-scheduler/*.jar
STARTUP_MSG: build = https://github.com/apache/hadoop.git -r e8c9fe0b4c252caf2ebf1464220599650f119997; compiled by 'sjlee' on 2016-10-02T23:43Z
STARTUP_MSG: java = 1.8.0_171
************************************************************/
18/05/12 20:50:16 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
18/05/12 20:50:16 INFO namenode.NameNode: createNameNode [–format]
Usage: java NameNode [-backup] |
[-checkpoint] |
[-format [-clusterid cid ] [-force] [-nonInteractive] ] |
[-upgrade [-clusterid cid] [-renameReserved<k-v pairs>] ] |
[-upgradeOnly [-clusterid cid] [-renameReserved<k-v pairs>] ] |
[-rollback] |
[-rollingUpgrade <rollback|downgrade|started> ] |
[-finalize] |
[-importCheckpoint] |
[-initializeSharedEdits] |
[-bootstrapStandby] |
[-recover [ -force] ] |
[-metadataVersion ] ]
18/05/12 20:50:16 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
************************************************************/
原因 hdfs namenode –format "-format"中的-是中文橫線,改成英文就好了
2. 通過hadoop dfsadmin -report命令查看到的全是0值,或者上傳文件時提示失敗,報錯是沒有可用的datanode。
解決方法,
- 1.可能是/etc/hosts文件裏的主機名和ip對應有問題,可刪除沒用的對應或易混淆的。
- 2.防火牆沒關
- 3.ssh沒配成功
- 4.可能多次格式化後namenode和datanode上的clusterID不一致,刪除主從節點上的tmp文件,重新格式化。
- 5.節點的內存。