在虚拟机上安装Hadoop集群

首先介绍一下安装流程:

1下载hadoop

2安装3个虚拟机并实现ssh免密码登录

        2.1安装3个机器

        2.2检查机器名称

        2.3修改/etc/hosts文件

        2.4 3个机器生成秘钥文件

        2.5 hserver1上创建authorized_keys文件

        2.6authorized_keys文件复制到其他机器

        2.7 测试使用ssh进行无密码登录

                   2.7.1hserver1上进行测试

                   2.7.2hserver2上进行测试

                   2.7.3hserver3上进行测试

3安装jdkhadoop

         3.1安装JDK

         3.2安装hadoop

                  3.2.1上载文件并解压缩

                  3.2.2新建几个目录

                  3.2.3修改etc/hadoop中的一系列配置文件

                              3.2.3.1修改core-site.xml

                              3.2.3.2修改hadoop-env.sh

                              3.2.3.3修改hdfs-site.xml

                              3.2.3.4新建并且修改mapred-site.xml

                              3.2.3.5修改slaves文件

                              3.2.3.6修改yarn-site.xml文件

4启动hadoop

              4.1namenode上执行初始化

              4.2namenode上执行启动命令

5测试hadoop

接下来是具体的步骤:

1、首先下载两个安装包:

具体的下载地址如下所示:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz

2、接下来查看三台主机的IP地址:

我是这样设置的:

192.168.16.129   master

192.168.16.132   slave1

192.168.16.133   slave2

192.168.16.136   slave3

我们将命令全部修改完之后,得到相应的名字,如果不是这样的名字。可以利用hostname这个命令进行修改。

 在虚拟机上安装Hadoop集群_第1张图片

2.3我们修改/etc/hosts文件

在其中添加上面的IP内容

修改好之后分别放入三个不同的主机之中

执行

ping -c 3 slave2

ping -c 3 slave3

这个命令指的是发送三个packagesslave看是否可以。

实验结果如图所示:

在虚拟机上安装Hadoop集群_第2张图片

这样我们就可以进行下一步:

2.4 给三个机器生成秘钥

命令:ssh-keygen -t rsa -p ‘’

这个是生成相应的秘钥文件,如果是root用户的话存放在文件夹/root/.ssh/

重复以上步骤,保证所有的机器里面都有秘钥文件。

2.5创建authorized_keys

下面这个命令是生成一个文件,叫做authorized_keys

touch  /root/.ssh/authorized_keys

其次将slave2上的/root/.ssh/id_rsa.pub文件内容,slave3上的/root/.ssh/id_rsa.pub文件内容,master上的/root/.ssh/id_rsa.pub文件内容复制到这个authorized_keys文件中。

方法有很多种,我最喜欢的就是使用Xshell加上Xftp5对虚拟机进行可视化管理。

2.6authorized_keys文件复制到其他机器

这样我们就可以对他们进行SSH无密码登陆了。

2.7测试使用ssh进行无密码登录

接下来我么内进行测试

如图所示:

在虚拟机上安装Hadoop集群_第3张图片

表明是可以互相连接的。

3、安装JavaHadoop两个软件

将下载好的安装包.tar.gz格式的文件上载到虚拟机中。

位置放在/opt/java,/opt/hadoop/

进入到该目录,执行命令:

cd   /opt/hadoop

执行解压命令:

tar  -xvf   hadoop-2.8.0.tar.gz

就可以得到如下的文件夹。

在虚拟机上安装Hadoop集群_第4张图片


接下来我们修改配置文件,输入如下的命令:

vim /etc/profile

 

在其中加入如下的配置:

export JAVA_HOME=/opt/java/jdk1.8.0_121

export  CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/

export  PATH=$PATH:$JAVA_HOME/bin

 

对配置环境进行一下更新,输入如下的命令:

source /etc/profile

输入测试命令:

java -version

输出结果如图所示:

说明java是安装成功的。

对所有的三台虚拟机执行同样的操作,保证三套虚拟机都安装了java

3.2接下来安装Hadoop

上载文件并进行解压

在虚拟机上安装Hadoop集群_第5张图片

执行命令:

cd /opt/hadoop

Tar -xvzf hadoop-2.7.4.tar.gz

接下来就是修改几个重要的配置文件:

它们都包含在如下的文件夹里面:

在虚拟机上安装Hadoop集群_第6张图片

我们对它们进行修改.

3.2.3 修改etc/hadoop中的一系列配置文件

          修改/opt/hadoop/hadoop-2.7.4/etc/hadoop目录内的一系列文件。

3.2.3.1 修改core-site.xml

            修改/opt/hadoop/hadoop-2.7.4/etc/hadoop/core-site.xml文件

          节点内加入配置:

 

        hadoop.tmp.dir

        /root/hadoop/tmp

        Abase for other temporary directories.

   

   

        fs.default.name

        hdfs://master:9000

   


3.2.3.2 修改hadoop-env.sh

         修改/opt/hadoop/hadoop-2.7.4/etc/hadoop/hadoop-env.sh文件

         export   JAVA_HOME=${JAVA_HOME}

         修改为:

         export   JAVA_HOME=/opt/java/jdk1.8.0_144

        (说明:修改为自己的JDK路径)

3.2.3.3 修改hdfs-site.xml

          修改/opt/hadoop/hadoop-2.7.4/etc/hadoop/hdfs-site.xml文件

          节点内加入配置:



   dfs.name.dir

   /root/hadoop/dfs/name

   Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.





   dfs.data.dir

   /root/hadoop/dfs/data

   Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.





   dfs.replication

   2





      dfs.permissions

      false

      need not permissions


          说明:dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true

3.2.3.4 新建并且修改mapred-site.xml

           在该版本中,有一个名为mapred-site.xml.template的文件,复制该文件,然后改名为mapred-site.xml,命令是:

[plain] view plain copy 

cp   /opt/hadoop/hadoop-2.7.4/etc/hadoop/mapred-site.xml.template     /opt/hadoop/hadoop-2.7.4/etc/hadoop/mapred-site.xml  

          修改这个新建的mapred-site.xml文件,在节点内加入配置:

 

   mapred.job.tracker

   hserver1:49001





      mapred.local.dir

       /root/hadoop/var





       mapreduce.framework.name

       yarn



 

3.2.3.5 修改slaves文件

         修改/opt/hadoop/hadoop-2.7.4/etc/hadoop/slaves文件,将里面的localhost删除,添加如下内容:

slave2

salve3  

3.2.3.6 修改yarn-site.xml文件

         修改/opt/hadoop/hadoop-2.7.4/etc/hadoop/yarn-site.xml文件,

         节点内加入配置(注意了,内存根据机器配置越大越好,我这里只配2G是因为机器不行):



        yarn.resourcemanager.hostname

        hserver1

   

   

        The address of the applications manager interface in the RM.

        yarn.resourcemanager.address

        ${yarn.resourcemanager.hostname}:8032

   

   

        The address of the scheduler interface.

        yarn.resourcemanager.scheduler.address

        ${yarn.resourcemanager.hostname}:8030

   

   

        The http address of the RM web application.

        yarn.resourcemanager.webapp.address

        ${yarn.resourcemanager.hostname}:8088

   

   

        The https adddress of the RM web application.

        yarn.resourcemanager.webapp.https.address

        ${yarn.resourcemanager.hostname}:8090

   

   

        yarn.resourcemanager.resource-tracker.address

        ${yarn.resourcemanager.hostname}:8031

   

   

        The address of the RM admin interface.

        yarn.resourcemanager.admin.address

        ${yarn.resourcemanager.hostname}:8033

   

   

        yarn.nodemanager.aux-services

        mapreduce_shuffle

   

   

        yarn.scheduler.maximum-allocation-mb

        2048

        每个节点可用内存,单位MB,默认8182MB

   

   

        yarn.nodemanager.vmem-pmem-ratio

        2.1

   

   

        yarn.nodemanager.resource.memory-mb

        2048



   

        yarn.nodemanager.vmem-check-enabled

        false


3.5将这些文件更改完之后就可以进行Hadoop的初始化了。

  进入到master这台机器的/opt/hadoop/hadoop-2.7.4/bin目录,也就是执行命令:

cd   /opt/hadoop/hadoop-2.7.4/bin

   执行初始化脚本,也就是执行命令:

 ./hadoop  namenode  -format

格式化成功后,可以看到在/opt/hdfs/name/current/目录多了一个current目录,而且该目录内有一系列文件。

在虚拟机上安装Hadoop集群_第7张图片

接下来,我们在master和slave1,2上用JSP测试,master上有4个,slave上有两个。

在虚拟机上安装Hadoop集群_第8张图片



接下来,我们关闭防火墙,测试一下hadoop是否正常。

 执行命令,关闭防火墙,CentOS7下,命令是:

     systemctl   stop   firewalld.service

在本地浏览器输入:http://192.168.16.129:50070/dfshealth.html#tab-overview

在虚拟机上安装Hadoop集群_第9张图片

在本地浏览器输入如下的网址:http://192.168.16.129:18088/cluster

在虚拟机上安装Hadoop集群_第10张图片




你可能感兴趣的:(Linux)