下載
- 打開官方下載鏈接:http://www.apache.org/dyn/closer.cgi/hadoop/common/,打開頁面上推薦的最上面的那個(gè)鏈接蒂秘。顯示的內(nèi)容如下:
- 打開上圖中紅框選中的
hadoop-2.7.7
文件夾精绎,下載后綴名為tar.gz
的文件
軟件要求
- 必須安裝jdk桑阶,且版本在java7以上痕钢。
- 必須安裝ssh杈笔,而且sshd服務(wù)需要在運(yùn)行中,這樣hadoop腳本就可以遠(yuǎn)程管理hadoop進(jìn)程了累铅。
安裝
- 將下載好的文件放到對(duì)應(yīng)目錄跃须,linux系統(tǒng)一般將該文件放在
/user/local
下面 - 解壓文件:
tar xzvf hadoop-2.7.7.tar.gz
- 編輯
etc/hadoop/hadoop-env.sh
# 設(shè)置你的java安裝目錄
export JAVA_HOME=/usr/java/latest
# 推薦設(shè)置pid文件目錄,默認(rèn)的/tmp目錄會(huì)導(dǎo)致文件丟失進(jìn)而無法正常通過腳本停止應(yīng)用
export HADOOP_PID_DIR=/var/hadoop/pids
- 嘗試下面的指令:
bin/hadoop
控制臺(tái)將輸出hadoop腳本的使用文檔娃兽。
部署
偽分布式部署
配置
編輯etc/hadoop/core-site.xml
<configuration>
<!-- NameNode URI -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!-- A base for other temporary directories. -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop</value>
</property>
</configuration>
編輯etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
設(shè)置免密ssh
檢查是否能夠免密ssh到本機(jī):
ssh localhost
假如不行菇民,那么執(zhí)行下面的指令,實(shí)現(xiàn)免密ssh到本機(jī):
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
如果ssh默認(rèn)端口不是22投储,修改.ssh/config
文件中的配置即可
啟動(dòng)
- 格式化namenode
bin/hdfs namenode -format
- 啟動(dòng)NameNode進(jìn)程和DataNode進(jìn)程
sbin/start-dfs.sh
-
使用瀏覽器打開地址:http://localhost:50070/第练,可以看到namenode的web界面
停止這些進(jìn)程,使用下列命令:
sbin/stop-dfs.sh
分布式部署
配置
可以選擇在系統(tǒng)范圍內(nèi)配置一個(gè)環(huán)境變量HADOOP_PREFIX
玛荞,方便之后命令的執(zhí)行娇掏。在/etc/profile.d
目錄新建一個(gè)文件hadoop.sh
,文件內(nèi)容如下:
export HADOOP_PREFIX=/path/to/hadoop
NameNode和DataNode都需要的配置勋眯,編輯etc/hadoop/core-site.xml
<configuration>
<!-- NameNode URI -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://NameNodeHost:9000</value>
</property>
<!-- A base for other temporary directories. -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop</value>
</property>
</configuration>
NameNode的配置婴梧,編輯etc/hadoop/hdfs-site.xml
<configuration>
<!--
Names a file that contains a list of hosts that are permitted to connect to the
namenode. The full pathname of the file must be specified. If the value is empty,
all hosts are permitted.
-->
<property>
<name>dfs.hosts</name>
<value>/usr/local/hadoop/etc/hadoop/slaves</value>
</property>
</configuration>
編輯/usr/local/hadoop/etc/hadoop/slaves
,填寫所有被允許連接到NameNode的DataNode節(jié)點(diǎn)
host1
host2
DataNode的配置客蹋,編輯etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
啟動(dòng)
- 若是初次啟動(dòng)塞蹭,必須在NameNode所在機(jī)器上進(jìn)行格式化
bin/hdfs namenode -format
- 在NameNode所在機(jī)器上,啟動(dòng)NameNode
sbin/hadoop-daemon.sh --script hdfs start namenode
- 在所有DataNode所在的機(jī)器上讶坯,啟動(dòng)DataNode
sbin/hadoop-daemon.sh --script hdfs start datanode
- 打開前面提過的地址:http://localhost:50070/番电,查看NameNode和DataNode的情況,驗(yàn)證集群是否配置成功闽巩。
停止
- 在NameNode所在機(jī)器上钧舌,停止NameNode
sbin/hadoop-daemon.sh --script hdfs stop namenode
- 在所有DataNode所在的機(jī)器上担汤,停止DataNode
sbin/hadoop-daemon.sh --script hdfs stop datanode
常用配置
dfs.datanode.max.transfer.threads
編輯etc/hadoop/hdfs-site.xml
涎跨,修改dfs.datanode.max.transfer.threads
<configuration>
<!-- Specifies the maximum number of threads to use for transferring data in and out of the DN. -->
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>8192</value>
</property>
</configuration>