Linux虚拟机搭建Hadoop集群环境

Linux虚拟机搭建Hadoop集群环境

1.1虚拟机环境准备

1.1.1创建虚拟机

使用VBox创建一个新的Cos7虚拟机

1.1.2更改虚拟机IP地址

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

修改为如下内容,设置ip为192.168.56.200

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=2bc72089-8564-4966-abb0-6638df3383c7
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.200

重启网络

systemctl restart network

1.1.3修改主机名

  1. 设置主机名

    设置为classhadoop

    hostnamectl set-hostname classhadoop

    查看

    hostnamectl

  2. 修改主机名查询静态表

    编辑

    vi /etc/hosts

    插入内容

    192.168.56.200 classhadoop
    

1.1.4关闭防火墙

  1. 关闭防火墙

    systemctl stop firewalld

  2. 禁用防火墙

    systemctl disable firewalld

    显示以下内容表示禁用成功:

    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

1.1.5创建hadoop用户

  1. 创建hadoop用户方便管理

添加用户

useradd hadoop

设置密码

passwd hadoop

  1. 为hadoop用户添加使用sudo不用输密码的权限

使用root用户修改/etc/sudoers文件

chmod 660 /etc/sudoers

vi /etc/sudoers

​ 找到"Allow root to run any commands anywhere"
添加:

		root    ALL=(ALL)     ALL
		kgc   ALL=(ALL)     ALL(或者是NOPASSWD:ALL)

​ 此时在test用户下使sudo不用输入root密码(在第一次使用时要输入test密码确认身份)

1.1.6创建Hadoop环境存放的目录

在/opt目录下创建文件夹

  1. 在/opt目录下创建install、software文件夹

  2. 修改install、software文件夹的所有者

    chown hadoop:hadoop /opt/install/ /opt/software/

1.2安装JDK

hadoop是使用java开发的,所以要先安装java环境

在linux系统下hadoop用户下的software目录中上传软件包。

  1. 解压tar压缩包

    tar -zxf jdk* -C /opt/install/

    如果是.gz格式参数用-zxvf

  2. 配置jdk环境变量

    vi /etc/profile

    在最后在PATH和CLASSPATH添加jJAVA_HOME和JRE_HOME的lib目录与bin目录

    export JAVA_HOME=/opt/install/jdk1.8.0_161
    export JRE_HOME=/usr/lib/jdk1.8.0_161/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH
    

    source /etc/profile

  3. 测试jdk

    java -version

1.3安装Hadoop

1.3.1下载安装hadoop
  1. Hadoop下载地址:

https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/

  1. 将Hadoop安装包解压安装文件到/opt/install下面

tar -zxf hadoop-2.7.2.tar.gz -C /opt/install/

  1. 将hadoop添加到环境变量

    1. 获取hadoop安装路径

      [root@classhadoop hadoop-2.6.0-cdh5.14.2]# pwd

    2. 打开/etc/profile文件

      vi /etc/profile

      ##HADOOP_HOME
      export HADOOP_HOME=/opt/install/hadoop-2.6.0-cdh5.14.2
      export PATH=$PATH:$HADOOP_HOME/bin
      export PATH=$PATH:$HADOOP_HOME/sbin
      

      source /etc/profile

hadoop集群设计

classhadoop(200)classhadoop1(201)classhadoop2(202)
HDFSNameNode
DataNode
DataNodeSecondaryNameNode
DataNode
YARNNodeManagerResourceManager
NodeManager
NodeManager
1.3.2配置hadoop

hadoop的配置文件放在{HADOOP_HOME}/etc/hadoop/下

  1. hadoop-env.sh

    vi hadoop-env.sh

    # The java implementation to use.
    export JAVA_HOME=/opt/install/jdk1.8.0_161	//这里放自己的java目录
    
  2. hadoop核心配置文件core-site.xml

    mkdir /opt/hadoopdata

    vi core-site.xml

    将下面内容复制到configuration标签中

            <property>
            	<!-- 指定HDFS中NameNode的地址 -->
                    <name>fs.defaultFS</name>
                    <value>hdfs://classhadoop:9000</value>
            </property>
            <!--设置hdfs文件存储目录-->
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/opt/hadoopData</value>
            </property>
               <!--设置用户权限,默认是root用户-->
                <property>
                       <name>hadoop.proxyuser.root.users</name>
                       <value>*</value>
               </property>
               <property>
                       <name>hadoop.proxyuser.root.groups</name>
                       <value>*</value>
               </property>
    
  3. hdfs-site.xml:hdfs文件系统配置
    配置副本数量为2

    vi hdfs-site.xml

    <configuration>
            <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
            <!--设置secondaryNN-->
            <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>classhadoop2:50090</value>
            </property>
    </configuration>
    
  4. 测试

    1. 格式化NameNode(第一次启动时格式化,以后就不要总格式化)

      hdfs namenode -format

    2. 启动NameNode

      hadoop-daemon.sh start namenode

    3. 启动DataNode

      hadoop-daemon.sh start datanode

    4. 查看是否启动成功

      jps

      下面说明ok

      [root@classhadoop logs]# jps
      10896 Jps
      10787 DataNode
      10734 NameNode
      
  5. mapreduce配置文件

    1. mapred-env.sh
      配置java_home

      export JAVA_HOME=/opt/install/jdk1.8.0_161

    2. mapred-site.xml

    cp mapred-site.xml.template mapred-site.xml

    vi mapred-site.xml

    <configuration>
    		<!-- 指定mr运行在yarn上 -->
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
    </configuration>
    
  6. yarn-site.xml

    vi yarn-site.xml

    <configuration>
       
       <!-- Site specific YARN configuration properties -->
       <!-- 指定YARN的ResourceManager的地址 -->
               <property>
                       <name>yarn.resourcemanager.hostname</name>
                       <value>classhadoop1</value>
               </property>
               <!-- reducer获取数据的方式 -->
               <property>
                       <name>yarn.nodemanager.aux-services</name>
                       <value>mapreduce_shuffle</value>
               </property>
       </configuration>
    

2.3.3 SSH无密码登录

  1. 生成公钥私钥
    使用hadoop用户

    ssh-keygen -t rsa

  2. 将公钥放到authorized_keys文件中

    cat id_rsa.pub > authorized_keys

配置两个从机

复制classhadoop1,更改主机名与ip地址

集群测试

  1. 如果是第一次启动需要格式化NameNode

    hdfs namenode -format

  2. 启动HDFS

    start-dfs.sh

  3. 启动YARN

    start-yarn.sh

    注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
虚拟机搭建 Hadoop 集群可以通过使用虚拟化软件如 VMware 或 VirtualBox 来实现。以下是一个简单的步骤: 1. 首先,下载并安装虚拟化软件,如 VMware 或 VirtualBox。 2. 下载 Hadoop 的稳定版本,并解压缩到一个目录中。 3. 创建一个虚拟机,并为每个节点分配足够的资源(如 CPU、内存和存储)。 4. 安装操作系统,推荐使用 Linux 发行版,如 Ubuntu 或 CentOS。确保在每个节点上都安装了相同的操作系统版本。 5. 配置网络设置,确保虚拟机之间可以相互通信。可以选择使用 NAT、桥接模式或者创建一个内部网络。 6. 在每个节点上安装 Java 运行环境Hadoop 是基于 Java 开发的。 7. 配置 Hadoop 环境变量,将 Hadoop 的 bin 目录添加到 PATH 环境变量中。 8. 编辑 Hadoop配置文件,主要包括 core-site.xml、hdfs-site.xml 和 mapred-site.xml。配置文件中需要指定各个节点的 IP 地址和端口号。 9. 启动 Hadoop 的各个组件,包括 NameNode、DataNode、ResourceManager、NodeManager 和 JobHistoryServer。 10. 在浏览器中访问 Hadoop 的管理界面,确认集群是否正常运行。 以上是一个简单的搭建 Hadoop 集群的步骤,实际操作中可能还需要进行一些额外的配置和调整。请注意,这只是一个基础的搭建过程,具体的步骤可能会因个人环境和需求而有所不同。如果遇到问题,可以参考 Hadoop 的官方文档或者在相关的社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值