用到的工具:VMware、hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar、ubuntu-16.04-desktop-amd64.iso

1、  在VMware上安裝ubuntu-16.04-desktop-amd64.iso

單擊“創(chuàng)建虛擬機(jī)”è選擇“典型(推薦安裝)”è單擊“下一步”

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

è點(diǎn)擊完成

 iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

修改/etc/hostname

vim hostname

保存退出

 iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

修改etc/hosts

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

127.0.0.1    localhost192.168.1.100    s100192.168.1.101    s101192.168.1.102    s102192.168.1.103    s103192.168.1.104    s104192.168.1.105    s105

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

配置NAT網(wǎng)絡(luò)

查看window10下的ip地址及網(wǎng)關(guān)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

配置/etc/network/interfaces

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

#interfaces(5) file used by ifup(8) and ifdown(8)
#The loopback network interfaceauto lo
iface lo inet loopback

#iface eth0 inet staticiface eth0 inet staticaddress 192.168.1.105netmask 255.255.255.0gateway 192.168.1.2dns-nameservers 192.168.1.2auto eth0

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

也可以通過(guò)圖形化界面配置

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

配置好后執(zhí)行ping www.baidu.com看網(wǎng)絡(luò)是不是已經(jīng)起作用

當(dāng)網(wǎng)絡(luò)通了之后,要想客戶機(jī)宿主機(jī)之前進(jìn)行Ping通,只需要做以下配置

修改宿主機(jī)c:\windows\system32\drivers\etc\hosts文件

文件內(nèi)容

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

127.0.0.1       localhost192.168.1.100 s100192.168.1.101 s101192.168.1.102 s102192.168.1.103 s103192.168.1.104 s104192.168.1.105 s105

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

安裝ubuntu 163 14.04 源

$>cd /etc/apt/

$>gedit sources.list

切記在配置之前做好備份

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

更新

$>apt-get update

在家根目錄下新建soft文件夾    mkdir soft

但是建立完成后,該文件屬于root用戶,修改權(quán)限  chown enmoedu:enmoedu soft/

安裝共享文件夾

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

將該文件放到桌面,右鍵,點(diǎn)擊“Extract here”

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

切換到enmoedu用戶的家目錄,cd /Desktop/vmware-tools-distrib

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

執(zhí)行./vmware-install.pl文件

Enter鍵執(zhí)行

 iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

安裝完成

 iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

拷貝hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar到enmoedu家目錄下的/Downloads

$> sudo cp hadoop-2.7.2.tar.gz jdk-8u65-linux-x64.tar.gz ~/Downloads/

分別解壓hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar到當(dāng)前目錄

$> tar -zxvf hadoop-2.7.2.tar.gz

$>tar -zxvf jdk-8u65-linux-x64.tar.gz

$>cp -r hadoop-2.7.2 /soft

$>cp -r jdk1.8.0_65/ /soft

建立鏈接文件

$>ln -s hadoop-2.7.2/ hadoop

$>ln -s jdk1.8.0_65/ jdk

$>ls -ll

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

配置環(huán)境變量

$>vim /etc/environment

JAVA_HOME=/soft/jdk
HADOOP_HOME=/soft/hadoop
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/soft/jdk/bin:/soft/hadoop/bin:/soft/hadoop/sbin"

讓環(huán)境變量生效

$>source environment

檢驗(yàn)安裝是否成功

$>java –version

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

$>hadoop version

 iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

配置/soft/hadoop/etc/hadoop/      下的配置文件

[core-site.xml]

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://s100/</value>
    </property>
    <property>
          <name>hadoop.tmp.dir</name>
          <value>/home/enmoedu/hadoop</value>
    </property>
</configuration>

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

[hdfs-site.xml]

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
          <name>dfs.namenode.secondary.http-address</name>
           <value>s104:50090</value>
      <description>
        The secondary namenode http server address and port.      </description>
</property>
</configuration>

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

[mapred-site.xml]

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

[yarn-site.xml]

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>s100</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

配置ssh無(wú)密碼登錄

安裝ssh

$>sudo apt-get install ssh

生成秘鑰對(duì)

在enmoedu家目錄下執(zhí)行

$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

導(dǎo)入公鑰數(shù)據(jù)到授權(quán)庫(kù)中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

測(cè)試localhost成功后,將master節(jié)點(diǎn)上的供鑰拷貝到授權(quán)庫(kù)中

其中root一樣執(zhí)行即可

$>ssh localhost

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

從master節(jié)點(diǎn)上測(cè)試是否成功。

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

修改slaves文件

[/soft/hadoop/etc/hadoop/slaves]

s101
s102
s103
s105

其余機(jī)器,通過(guò)克隆,修改hostname和網(wǎng)絡(luò)配置即可

塔建完成后

格式化hdfs文件系統(tǒng)

$>hadoop namenode –format

啟動(dòng)所有進(jìn)程

start-all.sh

最終結(jié)果:

 iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

自定義腳本xsync(在集群中分發(fā)文件)

[/usr/local/bin]

循環(huán)復(fù)制文件到所有節(jié)點(diǎn)的相同目錄下。

[usr/local/bin/xsync]

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

#!/bin/bash
pcount=$#if (( pcount<1 ));then
    echo no args;
    exit;
fi
p1=$1;
fname=`basename $p1`
#echo $fname=$fname;

pdir=`cd -P $(dirname $p1) ; pwd`
#echo pdir=$pdir

cuser=`whoami`for (( host=101;host<106;host=host+1 )); do
    echo ------------s$host----------------
    rsync -rvl $pdir/$fname $cuser@s$host:$pdir
done

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

測(cè)試

xsync hello.txt

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

自定義腳本xcall(在所有主機(jī)上執(zhí)行相同的命令)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

[usr/local/bin]
#!/bin/bash
pcount=$#if (( pcount<1 ));then
    echo no args;
    exit;
fi
echo -----------localhost----------------$@for (( host=101;host<106;host=host+1 )); do
    echo ------------s$host-------------
    ssh s$host $@

done

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

測(cè)試 xcall rm –rf hello.txt

 iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

集群搭建完成后,測(cè)試次運(yùn)行以下命令

touch a.txt
gedit a.txt
hadoop fs -mkdir -p /user/enmoedu/data
hadoop fs -put a.txt /user/enmoedu/data
hadoop fs -lsr /

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

也可以進(jìn)入瀏覽器查看

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

 

http://www.cnblogs.com/cpyj/p/6664113.html