前言
本文主要介紹了關(guān)于ubantu 16.4 Hadoop完全分布式搭建的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧
一個(gè)虛擬機(jī)
1.以 NAT網(wǎng)卡模式 裝載虛擬機(jī)
2.最好將幾個(gè)用到的虛擬機(jī)修改主機(jī)名,靜態(tài)IP /etc/network/interface,這里 是 s101 s102 s103 三臺(tái)主機(jī) ubantu,改/etc/hostname文件
3.安裝ssh
在第一臺(tái)主機(jī)那里s101 創(chuàng)建公私密匙
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
>cd .ssh
>cp id_rsa.pub >authorized_keys
創(chuàng)建密匙庫(kù)
將id_rsa.pub傳到其他主機(jī)上,到.ssh目錄下
通過(guò) 服務(wù)端 nc -l 8888 >~/.ssh/authorized_keys
客戶(hù)端 nc s102 8888 <id_rsa.pub
開(kāi)始安裝Hadoop/jdk
1、安裝VM-tools 方便從win 10 拖拉文件到ubantu
2、創(chuàng)建目錄 /soft
3、改變組 chown ubantu:ubantu /soft 方便傳輸文件有權(quán)限
4、將文件放入到/soft (可以從桌面cp/mv src dst)
tar -zxvf jdk或hadoop 自動(dòng)創(chuàng)建解壓目錄
配置安裝環(huán)境 (/etc/environment)
1.添加 JAVA_HOME=/soft/jdk-...jdk目錄
2.添加 HADOOP_HOME=/soft/hadoop(Hadoop目錄)
3.在path里面加/soft/jdk-...jdk/bin:/soft/hadoop/bin/:/soft/hadoop/sbin
4.通過(guò) java -version 查看有版本號(hào) 成功
5.hadoop version 有版本號(hào) 成功
開(kāi)始配置HDFS四大文件 core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://s101:9000</value>
</property>
</configuration>
2.hdfs-site.xml
<configuration>
<!-- Configurations for NameNode: -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/data/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/data/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>s101:50090</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>s101:50070</value>
<description>
The address and the base port where the dfs namenode web ui will listen on.
If the port is 0 then the server will start on a free port.
</description>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:/data/hdfs/checkpoint</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:/data/hdfs/edits</value>
</property>
</configuration>
3. mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4.yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>s101</value>
</property>
</configuration>
到此成功一半。。。。。。。。。。。。。。
創(chuàng)建文件夾
mkdir /data/hdfs/tmp
mkdir /data/hdfs/var
mkdir /data/hdfs/logs
mkdir /data/hdfs/dfs
mkdir /data/hdfs/data
mkdir /data/hdfs/name
mkdir /data/hdfs/checkpoint
mkdir /data/hdfs/edits
記得將目錄權(quán)限修改
- sudo chown ubantu:ubantu /data
接下來(lái)傳輸 /soft文件夾到其他主機(jī)
創(chuàng)建 xsync可執(zhí)行文件
sudo touch xsync
sudo chmod 777 xsync
權(quán)限變成可執(zhí)行文件
sudo nano xsync
#!/bin/bash
pcount=$#
if((pcount<1));then
echo no args;
exit;
fi
p1=$1;
fname=`basename $p1`
pdir=`cd -P $(dirname $p1);pwd`
cuser=`whoami`
for((host=102 ; host<105 ;host=host+1));do
echo --------s$host--------
rsync -rvl $pdir/$fname $cuser@s$host:$pdir
done
xsync /soft
-------->就會(huì)傳文件夾到其他主機(jī)
xsync /data
創(chuàng)建 xcall 向其他主機(jī)傳命令
#!/bin/bash
pcount=$#
if((pcount<1));then
echo no args;
exit;
fi
echo --------localhost--------
$@
for ((host=102;host<105;host=host+1));do
echo --------$shost--------
ssh s$host $@
done
別著急 快結(jié)束了 哈
還得配置 workers問(wèn)價(jià)
- 將需要配置成數(shù)據(jù)節(jié)點(diǎn)(DataNode)的主機(jī)名放入其中,一行一個(gè)
注意重點(diǎn)來(lái)了
先格式化 hadoop -namenode -format
再 啟動(dòng) start-all.sh
查看進(jìn)程 xcall jps
進(jìn)入網(wǎng)頁(yè)
是不是很想牛淚,成功了耶?。?!
中間出現(xiàn)了很多問(wèn)題
1, rsync 權(quán)限不夠 :刪除文件夾 更改文件夾權(quán)限chown
2.學(xué)會(huì)看日志 log
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。