Linux上安装Hadoop集群CentOS7+hadoop-2.9.2

1 、软件环境准备

Centos

CentOS-7-x86_64-Minimal-1810.iso

下载地址 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso

Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第1张图片

JDK

jdk-8u181-linux-x64.tar.gz

下载地址 https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第2张图片

hadoop

hadoop-2.9.2.tar.gz

下载地址 https://archive.apache.org/dist/hadoop/core/hadoop-2.9.2/

Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第3张图片

2、安装3个虚拟机并配置ssh免密登录

2.1 安装3个CentOS虚拟机

我用的是CentOS7,安装方法参考博客 http://blog.csdn.net/pucao_cug/article/details/71229416

安装3个机器,机器名称分别命名 hserver1、hserver2、hserver3如图所示(安装一个机器后其他两个直接克隆即可)。

在这里插入图片描述

使用ifconfig命令,查看这3个机器的IP。我的机器名和ip的对应关系是:

192.168.198.14 hserver1

192.168.198.15 hserver2

192.168.198.16 hserver3

注意:创建虚拟机时机器是动态分配IP,关机重启后IP可能会变,需把3个机器的IP手动修改为静态。

手动配置机器IP参考博客地址 https://blog.csdn.net/twingao/article/details/80217938

2.2 修改机器名称

首先用hostname命令查看机器的名称,发现机器名称为localhost.localdomain,这个机器名称不是我们想要的。不过这个好办, 我给它改个名称,命令是:

hostname hserver1

执行完成后,在检查看,是否修改了,敲入hostname命令
Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第4张图片
类似的,将其他两个机器,分别改名为hserver2和hserver3。

2.3 修改/etc/hosts文件

修改这3台机器的/etc/hosts文件,在文件中添加以下内容:

192.168.198.14 hserver1

192.168.198.15 hserver2

192.168.198.16 hserver3

使用命令:vim /etc/hosts

配置完成后使用ping命令检查这3个机器是否相互ping得通,以hserver1为例,在什么执行命令:
ping -c 3 hserver2

Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第5张图片
ping得通,说明机器是互联的,而且hosts配置也正确。

2.4 配置3个机器ssh免密登录

以hserve1为例,执行命令,生成空字符串的秘钥(后面要使用公钥),命令是:

ssh-keygen -t rsa -P ‘’

Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第6张图片
使用同样的方法为hserver2和hserver3生成秘钥(命令完全相同,不用做如何修改)。

接下来要做的事情是在3台机器的/root/.ssh/目录下都存入一个内容相同的文件,文件名称叫authorized_keys,文件内容是我们刚才为3台机器生成的公钥。为了方便,我下面的步骤是现在hserver1上生成authorized_keys文件,然后把3台机器刚才生成的公钥加入到这个hserver1的authorized_keys文件里,然后在将这个authorized_keys文件复制到hserver2和hserver3上面。
命令是: touch /root/.ssh/authorized_keys

然后将hserver1上的/root/.ssh/id_rsa.pub文件内容,hserver2上的/root/.ssh/id_rsa.pub文件内容,hserver3上的/root/.ssh/id_rsa.pub文件内容复制到这个authorized_keys文件中。最后将authorized_keys文件复制到其他机器。

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

以hserver1为例输入命令: ssh hserver2
(hserver2、hserver3也是类似操作)

在这里插入图片描述

3、安装jdk和hadoop

安装jdk

安装jdk不细说可参考博客:https://blog.csdn.net/qq_32786873/article/details/78749384

3.1 安装hadoop

    注意: 3台机器上都需要重复下面步骤操作。

3.1.1 上传文件并解压

在opt目录下新建一个名为hadoop的目录(命令:mkdir hadoop),并将下载得到的hadoop-2.9.2.tar.gz上载到该目录下。
文件上传命令:rz

Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第7张图片

解压命令:

tar -xvf hadoop-2.9.2.tar.gz

3.1.2 新建hadoop工作目录

在/root目录下新建几个目录,复制粘贴执行下面的命令:

mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data

3.1.3 修改/opt/hadoop/hadoop-2.9.2/etc/hadoop目录下的相关配置文件

修改core-site.xml

执行命令:vim /opt/hadoop/hadoop-2.9.2/etc/hadoop/core-site.xml

在configuration节点内加入配置:


        hadoop.tmp.dir
        /root/hadoop/tmp
        Abase for other temporary directories.
   
   
        fs.default.name
        hdfs://hserver1:9000
   

**修改hadoop-env.sh **

执行命令:vim /opt/hadoop/hadoop-2.9.2/etc/hadoop/hadoop-env.sh

将export JAVA_HOME=${JAVA_HOME}

修改为:

export JAVA_HOME=/opt/java/jdk1.8.0_192 (修改为自己的JDK路径)

修改hdfs-site.xml

执行命令:vim /opt/hadoop/hadoop-2.8.2/etc/hadoop/hdfs-site.xml

在configuration节点内加入配置:


   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

新建并且修改mapred-site.xml

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

cp /opt/hadoop/hadoop-2.9.2/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-9.2/etc/hadoop/mapred-site.xml

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


   mapred.job.tracker
   hserver1:49001


      mapred.local.dir
       /root/hadoop/var


       mapreduce.framework.name
       yarn

修改slaves文件

执行命令:vim /opt/hadoop/hadoop-2.9.2/etc/hadoop/slaves

将里面的localhost删除,添加如下内容:

hserver2
hserver3

修改yarn-site.xml文件

执行命令: vim /opt/hadoop/hadoop-2.9.2/etc/hadoop/yarn-site.xml

在configuration节点内加入配置:


        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

4、启动hadoop

在namenode上执行初始化

因为hserver1是namenode,hserver2和hserver3都是datanode,所以只需要对hserver1进行初始化操作,也就是对hdfs进行格式化。

执行命令: cd /opt/hadoop/hadoop-2.9.2/bin

执行初始化脚本,也就是执行命令: ./hadoop namenode -format

稍等几秒,不报错的话,即可执行初始化成功

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

关闭防火墙

执行命令,关闭防火墙,CentOS7下,命令是: systemctl stop firewalld.service

测试hadoop

在本地浏览器访问地址(我的hserver1机器IP 192.168.198.14): http://192.168.198.14:50070

自动跳转到了overview页面
Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第8张图片
点击Datanodes查看节点运行情况Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第9张图片

在本地浏览器里访问如下地址:http://192.168.198.14:8088

自动跳转到了cluster页面

Linux上安装Hadoop集群CentOS7+hadoop-2.9.2_第10张图片

参考博客地址:https://blog.csdn.net/pucao_cug/article/details/71698903

你可能感兴趣的:(Linux上安装Hadoop集群CentOS7+hadoop-2.9.2)