初学Hadoop:利用VMWare+CentOS7搭建Hadoop集群

 1、前言

  开始学习数据处理相关的知识了,第一步是搭建一个Hadoop集群。搭建一个分布式集群须要多台电脑,在此我选择采用VMWare+CentOS7搭建一个三台虚拟机组成的Hadoop集群。html

注:1.本次搭建环境中操做系统的用户名为hadoop,请自行替换/home/hadoop为本机对应路径。java

  2.本次用到的软件版本为:node

    • VMware Workstation 14 Pro 14.1.3 build-9474260
    • CentOS 7.5.1804
    • Java 1.8.0_181
    • Apache Hadoop 2.7.7

2、配置虚拟机

1.配置三台虚拟机

  首先建立新的虚拟机,自定义建立,1核1G,网上教程不少再也不赘述。web

  安装完CentOS 7后,若是出现没法链接网络的问题,能够参考http://www.javashuo.com/article/p-decvhgjc-dx.html这个帖子。参照https://www.cnblogs.com/comexchan/p/5815869.html设置yum的源之后,使用`yum -y update`进行更新。而后关闭虚拟机,选择VMWare的克隆功能克隆两台同样的虚拟机。浏览器

2.搭建桌面环境

  为了方便丢jar和脚本进去,给打算用来当主机的一台增长一个桌面操做系统。我这里选用GNOME,具体用哪一个本身参考。安装命令为 yum groupinstall "GNOME Desktop ,注意引号。安装完毕后,使用 startx 可启动桌面。 Ctrl + Alt + F6 和 Ctrl + Alt + F7 分别对应切换到命令行窗口和切换到图形化界面。网络

3.配置免密

  不配置免密登陆在启动集群的时候要一直输密码很是麻烦,为此配置三台机器之间互相免密登陆。方法参考 https://blog.csdn.net/lzh_86/article/details/80159104 。app

4.安装jdk

  先确认一下本身的Java版本,1.8版本能够跳过此步骤,不然去java官网下载1.8版本的jdk并配置环境变量。webapp

5.安装Hadoop

  下载目标版本的hadoop的tar文件,这里我安装到/home/hadoop/下,安装完之后出现hadoop-2.7.7文件夹。在一个指定路径(这里我在hadoop安装文件夹下)创建/tmp、/var、/dfs、/dfs/name、/dfs/data这几个文件夹。进入安装目录/etc/hadoop/,修改core-site.xml,在<configuration>节点内加入配置:分布式

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <!-- 刚才设置的tmp文件夹路径 -->
        <value>/home/hadoop/hadoop-2.7.7/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.default.name</name>
        <!-- master对应设置的主机,在三台虚拟机内都要重复配置,此时设置为对应虚拟机名 -->
        <value>hdfs://master:9000</value>
    </property>
</configuration>

 

  接下来修改hadoop-env.sh文件,将`export JAVA_HOME=${JAVA_HOME}`修改成本身的jdk路径。oop

  下一个是hdfs-site.xml文件,一样在<configuration>节点内加入配置

<configuration>
    <property>
        <name>dfs.name.dir</name>
        <!-- 刚才设置的name文件夹路径 -->
        <value>/home/lxz/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <!-- 刚才设置的data文件夹路径 -->
        <value>/home/lxz/hadoop/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <!-- hdfs副本数 -->
        <value>2</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
        <!-- 开启权限检查 -->
    </property>
</configuration>

 

  下一步, cp mapred-site.xml.template mapred-site.xml 从模板生成配置文件,修改该文件在<configuration>节点内加入配置:

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <!-- 修改master为对应主机名 -->
        <value>hdfs://master:49001</value>
    </property>
    <property>
        <name>mapred.local.dir</name>
        <!-- var文件夹位置 -->
        <value>/home/lxz/hadoop/var</value>
    </property>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

 

  接下来修改slaves文件,将localhost修改成servent1和servent2。

  修改yarn-site.xml文件,在<configuration>节点内加入配置:

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <!-- 同理,修改master为对应主机名 -->
        <value>master</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <!-- 每一个节点可用内存,单位MB,默认8182MB -->
        <value>1024</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>

 

 

  在另外两台分机上重复上述操做。而后进入主机安装目录的bin文件夹下,执行 ./hadoop namenode -format 命令进行初始化,若是只有INFO级别日志则成功。随后进入安装目录下的sbin目录执行 ./start-all.sh 命令.等执行完毕后,能够在浏览器中访问master:50070和master:8088查看是否运行成功。

相关文章
相关标签/搜索