基礎(chǔ)準(zhǔn)備:
Ubuntu
hadoop-2.7.3.tar.gz
jdk-8u144-linux-x64.tar.gz
1.Hadoop平臺是完全使用Java開發(fā)的,所以在搭建Hadoop時我們首先需要安裝jdk,并且配置它的環(huán)境變量。
1)首先將jdk的tar包進(jìn)行解壓,作者的tar是在/usr/hadoop/目錄下的,輸入指令:
sudo tar -zxf /usr/hadoop/jdk-8u144-linux-x64.tar.gz -C /usr/lib
首先將jdk的tar包進(jìn)行解壓
解壓完以后我們要進(jìn)行的是環(huán)境變量的配置
2)首先我們用vim編輯器打開在 ~/.bashrc
vim ~/.bashrc
之后在改文件底部加上兩行配置
export JAVA_HOME=jdk所在路徑
export PATH=$PATH:$JAVA_HOME/bin
更改完成以后保存并退出
之后使配置文件生效
source ~/.bashrc
2.Hadoop的安裝和配置
1)首先需要解壓Hadoop文件和之前的一樣jdk一樣不再進(jìn)行復(fù)述
2)之后需要在bashrc文件中進(jìn)行環(huán)境變量的配置
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
更改完成以后保存并退出
之后使配置文件生效
source ~/.bashrc
3)之后就需要對Hadoop平臺的配置文件進(jìn)行更改,在更改之前首先介紹一下Hadoop平臺根目錄下的各個目錄的作用和存放內(nèi)容:
目錄 | 說明 |
---|---|
bin/ | 各項運(yùn)行文件,包括Hadoop、hdfs、yarn等 |
sbin/ | 各項shell運(yùn)行文件。包括start-all.sh、stop-all.sh |
etc/ | etc/hadoop 子目錄包含Hadoop配置文件,例如: hadoop-env.sh、core-site.xml、yarn-site.xml、mapred-site.xml、hdfs-site.xml |
lib/ | hadoop函數(shù)庫 |
logs/ | 系統(tǒng)日志,可以查看系統(tǒng)運(yùn)行狀況,運(yùn)行有問題時可以從日志找出錯誤原因 |
下面我們進(jìn)行hadoop配置設(shè)置文件
- hadoop-env.sh
使用vim編輯器打開這個配置文件,需要更改的地方:
export JAVA_HOME=${JAVA_HOME}
將=右邊的內(nèi)容全部刪除更改為jdk的安裝路徑
- core-site.xml
在configuration標(biāo)簽中添加以下內(nèi)容:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
- yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
- mapred-site.xml
首先我們需要執(zhí)行下面這條語句將mapred-site.xml.template模板轉(zhuǎn)成xml文件
sudo cp mapred-site.xml.template mapred-site.xml
之后還是使用vim編輯器進(jìn)行編輯
<property>
<name>mapreduce.framework.name</name>
<value>yarn<value>
<property>
- hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/hadoop-2.7.3/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/hadoop-2.7.3/hdfs/datanode</value>
</property>
所有的配置文件全部都已經(jīng)修改完成
之后我們需要創(chuàng)建HDFS目錄
分別創(chuàng)建這兩個文件目錄:
/usr/local/hadoop/hadoop-2.7.3/hdfs/namenode
/usr/local/hadoop/hadoop-2.7.3/hdfs/datanode
現(xiàn)在我們需要將hadoop目錄的所有者改為我們當(dāng)前使用的賬號,因為sudo方式無法去使用hadoop命令因此我們?nèi)ジ袷交痟dfs時將會權(quán)限不夠
sudo chown 所屬用戶:所屬分組 -R /usr/local/hadoop
之后我們就可以進(jìn)行HDFS的格式化咯
hadoop namenode -format
現(xiàn)在我們就需要去啟動hdfs上的各種服務(wù)了,因為我們搭建的是偽分布式,因此我們需要ssh工具,并且設(shè)置它為免密登錄
首先是下載ssh
sudo apt-get install ssh
之后是產(chǎn)生SSH Key(秘鑰)進(jìn)行后續(xù)身份驗證
ssh-keygen -t rsa
產(chǎn)生了以后我們需要去查看一下確定是否產(chǎn)生
ll ~/.ssh
你將會看到所有的文件中有一個名字叫id_rsa.pub的文件,那么我們的秘鑰就已經(jīng)生成成功了,最后我們需要將產(chǎn)生的key放置到許可證文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
啟動hadoop上的所有服務(wù)
start-all.sh
最后一步查看hadoop偽分布式是否已經(jīng)搭建成功
jps
最后的效果應(yīng)該是: