一、下載Hadoop 2.6.0-cdh5.7.0的tar.gz包并解壓:
wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
tar -zxvf?hadoop-2.6.0-cdh5.7.0.tar.gz
cd /usr/local/hadoop-2.6.0-cdh5.7.0/
ls
bin? bin-mapreduce1? cloudera? etc? examples? examples-mapreduce1? include? lib? libexec? LICENSE.txt? NOTICE.txt? README.txt? sbin? share? src
簡單說明一下其中幾個目錄存放的東西:
- bin目錄存放可執行文件
- etc目錄存放配置文件
- sbin目錄下存放服務的啟動命令
- share目錄下存放jar包與文檔
以上就算是把hadoop給安裝好了,接下來就是編輯配置文件,把JAVA_HOME配置一下:
/usr/local/hadoop-2.6.0-cdh5.7.0/etc/hadoop下編輯vim hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_191
保存。
由于我們要進行的是單節點偽分布式環境的搭建,所以還需要配置兩個配置文件,分別是core-site.xml以及hdfs-site.xml,如下:
core-site.xml增加如下內容:
<configuration>
? ? <property>
? ? ? ? <name>fs.defaultFS</name>
? ? ? ? <value>hdfs://172.16.1.91:8020</value>? ?
? ? </property>
? ? <property>
? ? ? ? <name>hadoop.tmp.dir</name>?
? ? ? ? <value>/data/hdfs/</value>
? ? </property>
</configuration>
?
hdfs-site.xml增加
- <configuration>
- <property>
- <name>dfs.replication</name> # 指定只產生一個副本
- <value>1</value>
- </property>
-
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/data/hdfs/nn</value>
</property>
<property>
<name>dfs.datanode.name.dir</name>
<value>/data/hdfs/dn</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/data/hdfs/snn</value>
</property> -
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/data/hdfs/nn</value>
</property>
<property>
<name>dfs.datanode.name.dir</name>
<value>/data/hdfs/dn</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/data/hdfs/snn</value>
</property>
二、然后配置一下密鑰對,設置本地免密登錄,搭建偽分布式的話這一步是必須的:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
?cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
?用原來的一個普通帳號測試ok
新建一個hadoop帳號,進行免密設置,報../ssh/id_rsa 路徑不存在,再查原因吧。
三、HDFS格式化
/usr/local/hadoop-2.6.0-cdh5.7.0/bin下執行hdfs? namenode -format
使用服務啟動腳本啟動服務:
/usr/local/hadoop-2.6.0-cdh5.7.0/sbin/start-dfs.sh
啟動報錯:
?
WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage
java.io.IOException: NameNode is not formatted.
這可能是多次format造成,關閉hdfs,刪掉namenode路徑下的內容,重新format,啟動ok
?