境准备
1、在VirtualBox下安装Ubuntu14.04
2、两台虚拟主机都有名为hadoop用户

3、实现准备好hadoop-2.7.4.tar.gz,jdk-8u151-linux-x64.tar.gz压缩包

一、安装增强工具,以便方便本机与虚拟机传输工具


打开虚拟机后在窗口顶部点击设备,点击安装增强工具功能,弹出窗口后点击Run,输入当前普通用户密码,然后等待弹出命令行运行结束

sudo mount -t vboxsf 共享文件夹名称 虚机目录

二、创建软件存放目录

我是在/home/hadoop/创建hadoop目录后来发现不是太好,但不管在哪都要保证每台虚机存放位置要一致

hadoop@master:~$ ls
Desktop  Documents  Downloads  examples.desktop  hadoop  Music  Pictures  Public  soft  Templates  Videos

解压事先准备的压缩包到指定的目录

tar -zxvf hadoop-2.7.4.tar.gz -C ~/hadoop

tar -zxvf jdk-8u151-linux-x64.tar.gz -C ~/hadoop

进入~/hadoop重命名

mv jdk1.8.0_151 jdk

mv hadoop-2.7.4 hadoop

三、安装ssh,配置免密码登录

sudo apt-get install openssh-server

输入hadoop用户密码

ssh localhost    初始化ssh以生成~/.ssh目录

进入~/.ssh目录

ssh-keygen -t rsa

一直敲回车

生成authorized_keys

cat id_rsa.pub >> authorized_keys

同样的操作在slaver节点上安装、配置ssh服务

在master节点上将authorized_keys复制到slaver节点上

hadoop@master:~/.ssh$ scp authorized_keys hadoop@salver:~

再将复制后的文件添加到本机的authorized_keys中

hadoop@master:~/.ssh$cat ../autorized_keys >> autorized_keys

四、配置环境变量,设置主机域名

1、配置环境变量

hadoop@master:~$ vi ~/.bashrc 

export JAVA_HOME=/home/hadoop/hadoop/jdk
export HADOOP_HOME=/home/hadoop/hadoop/hadoop
export SCALA_HOME=/home/hadoop/hadoop/scala
export SPARK_HOME=/home/hadoop/hadoop/spark
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$PATH

2、设置域名

hadoop@master:~$ sudo vi /etc/hosts

内容:

127.0.0.1       localhost
#127.0.1.1      master


10.0.2.21       master
10.0.2.22       slaver

在slaver节点上同样设置,也可以使用scp -r 命令将master节点上的文件复制到slaver节点上

刷新一下后即可验证配置是否正确

hadoop@master:~$ source ~/.bashrc 

hadoop@master:~$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

同样使用scp -r 可以将master节点中的jdk、hadoop文件复制到slaver进行同样的验证

五、修改hadoop配置文件

hadoop-env.sh 文件

hadoop@master:~/hadoop/hadoop/etc/hadoop$ vi hadoop-env.sh 

修改内容为export JAVA_HOME=/home/hadoop/hadoop/jdk

具体jdk根据自己而修改

core-site.xml文件

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

</configuration>

hdfs-site.xml 文件

<configuration>

        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/hadoop/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/hadoop/hadoop/tmp/dfs/data</value>
        </property>

</configuration>

 mapred-site.xml.template文件(文件名可改为 mapred-site.xml

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

</configuration>

yarn-site.xml文件

<configuration>
<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce-shuffle</value>
        </property>

</configuration>

slaves文件

master

slaver

格式化namenode

进入hadoop文件下的bin

./hdfs namenode -format

启动hadoop

进入hadoop文件下的sbin

./start-all.sh

jps查看

master节点上

hadoop@master:~/hadoop/hadoop/etc/hadoop$ jps
4337 Jps
2820 DataNode
2693 NameNode
hadoop@master:~/hadoop/hadoop/etc/hadoop$ jps
4337 Jps
2820 DataNode
2693 NameNode
3626 Master
3739 Worker
3163 ResourceManager
2987 SecondaryNameNode
3163 ResourceManager

2987 SecondaryNameNode

slaver节点上

hadoop@master:~/hadoop/hadoop/etc/hadoop$ jps
4337 Jps
2820 DataNode
2693 NameNode
3626 Master
3739 Worker
3163 ResourceManager

2987 SecondaryNameNode

验证Wordcount

进入hadoop文件下cd share/hadoop/mapreduce/

hadoop@master:~/hadoop/hadoop/share/hadoop/mapreduce$ hadoop jar ./hadoop-mapreduce-examples-2.7.4.jar wordcount /input/xxx /out

本次只是验证hadoop分布式,不是太严谨

Logo

更多推荐