zoukankan      html  css  js  c++  java
  • Mac上使用虚拟机搭建Hadoop集群

    一. mini安装一台centos到虚拟机上

    安装过程参考这篇博客http://www.linuxdown.net/install/setup/2015/0906/4053.html

    二. 修改网络配置文件

    1. 看百度网址是否能ping通,如果可以,使用命令ifconfig查询当前的ip地址

    2. /etc/sysconfig/network-scripts/ifcfg-eth0 进入这个配置文件进行修改,修改后重启网卡

           DEVICE=eth0
           
           HWADDR=00:0C:29:CC:88:95
           
           TYPE=Ethernet
           
           UUID=bf2fbf08-d925-4b3e-9bec-2327c3385f09
           
           #将网卡设置为开机启动               
           ONBOOT=yes
           
           NM_CONTROLLED=yes
           
           #改成none,使用静态ip
           
           BOOTPROTO=none
           
           PREFIX=24
           
           #此处的网关地址由上一步通过ifconfig查出来的ip进行配置,
           #比如查出来的ip是192.168.80.80,那么此处网关就配置为  192.168.80.2
           
           DNS1=192.168.199.2
           
           DNS2=114.114.114.114
           
           DEFROUTE=yes
           
           IPV4_FAILURE_FATAL=yes
           
           IPV6INIT=no
           
           NAME="System eth0"
           
           LAST_CONNECT=1514653019
           
           USERCTL=no
           
           #此处填入过ifconfig查出来的ip
           
           IPADDR=192.168.199.131
           
           NETMASK=255.255.255.0
           
           #跟DNS1一样
           
           GATEWAY=192.168.199.2
      

    3. 修改主机名

    ```
    vi /etc/sysconfig/network 
        
    HOSTNAME=localhost.localdomain 修改为:
        
    HOSTNAME=自己的主机名
    ```
    
    1. 关闭防火墙并关闭自启动

      关闭防火墙。
      
      1、查看防火墙的状态:
      
      service iptables status
      
      2、关闭防火墙:
      
      service iptables stop
      
      3、再次查看状态:
      
      service iptables status
      
      系统提示:iptables:Firewall is not running.
      
      表示停止成功。
      
      4、最后,关闭防火墙开机自启:
      
      chkconfig iptables off
      
      检查是否关闭成功:
      
      chkconfig --list iptables
      
      全部为off表示关闭成功。
      
    2. 关闭开机等待时间

      vi /boot/grub/menu.lst
      
      将timeout=5,修改即可
      
    3. 拍快照及克隆3份出来当做节点

    三. 修改每一台节点上的配置

    1. 修改主机名称

      vi /etc/sysconfig/network 
      

    2. 克隆后网卡冲突解决

      vi  /etc/udev/rules.d/70-persistent-net.rules
      
      1. 注释掉第一网卡驱动红色标注地方

      2. 修改第二个网卡驱动name=“eth0”

      3. 记住第二个ATTR{address}=="00:0c:29:95:4a:d3",这个网卡地址后续要用

        # PCI device 0x1022:0x2000 (pcnet32)
            
            #SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",     ATTR{address}=="00:0c:29:ac:0c:#39", ATTR{type}=="1", KERNEL=="eth*",   NAME="eth0"
            # PCI device 0x1022:0x2000 (pcnet32)
                SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:95:4a:d3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
        
        
      4. 修改$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
        HWADDR 的值修改成上一步中的网卡地址:00:0c:29:95:4a:d3

            DEVICE=eth0
            HWADDR=00:0C:29:95:4A:D3  #修改
            TYPE=Ethernet
            UUID=ad391919-c736-4d3d-b24d-1d78427e7c6e
            ONBOOT=yes
            NM_CONTROLLED=yes
            BOOTPROTO=dhcp #动态获取ip,给2.6那一步使用
            IPADDR=192.168.8.111  #增加一行
            GATEWAY=192.168.8.2 #增加一行
        
      5. 重启机器

        reboot 
        
      6. 再次修改$ vi /etc/sysconfig/network-scripts/ifcfg-eth0

            DEVICE=eth0
            HWADDR=00:0C:29:95:4A:D3 
            TYPE=Ethernet
            UUID=ad391919-c736-4d3d-b24d-1d78427e7c6e
            ONBOOT=yes
            NM_CONTROLLED=yes
            BOOTPROTO=none  #修改
            IPADDR=192.168.199.132  #填入虚拟机分配的ip,通过ifconfig查询
            GATEWAY=192.168.199.2 #根据上一步ip得到的网关
            DNS1=192.168.199.2#跟网关一样
            DNS2=114.114.114.114 
        

      ```

    3. 在SecureCRT设置免密登陆服务器

      1. 这个界面,红处取消打勾

        SecureCRT免密登陆图1.png

      2. 在这个界面,增加4处

        SecureCRT免密登陆图2.png

    四. hadoop00配置hosts文件

    1. vi /etc/hosts

    2. 如图所示:

    hadoop主机配置hosts.png

    五. 配置服务器ssh免密登陆节点服务器

    1. centos默认已经安装了ssh服务端,4台机都需要安装ssh客户端yum -y install openssh-clients

    2. 在每台机器都生成秘钥ssh-keygen

    3. 将hadoop00的公钥加到其他3台机的authorized_keys文件中

      进入hadoop00的.ssh目录,输入ssh-copy-id 主机名@域名 就可以自动将hadoop00的公钥添加到该主机名的免验证文件中
      

    六. 安装jdk和hadoop

    1. 在hadoop00上解压安装jdk,并配置环境变量

    2. 在hadoop00上解压安装hadoop,并配置环境变量

    七. 配置hadoop

    1. hadoop-env.sh
      这个文件需要配置JAVA_HOME

       export JAVA_HOME=/usr/local/jdk1.7.0_79
      

    2. hdfs-site.xml

    ```
    <configuration>
            #副本系数,伪分布式使用的1个DataNode,因此这里填1
             <property>
            <name>dfs.replication</name>
            <value>1</value>
            </property>
    </configuration>
    
    ```
    
    1. core-site.xml

      <configuration>
          #配置nameservice地址,默认端口是8020
          <property>
          <name>fs.defaultFS</name>
          <value>hdfs://hadoop01:8020</value>
          </property>
      
          #这里配置的是hdfs数据库所在的临时目录,如果这里没有配置,那么默认路径是系统的临时>目录,电脑开机后,会自动格式化
          <property>
          <name>hadoop.tmp.dir</name>
          <value>/usr/local/apps/hadoop-2.6.0/tmp</value>
          </property>
      </configuration>
      
    2. mapred-site.xml

      <configuration>
          #表示MapReduce使用yarn来进行计算
          <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
           </property>
      
          #设置jobhistory的日志端口
          <name>mapreduce.jobhistory.address</name>
          <value>hadoop000:10020</value>
          </property>
      
          #设置jobhistory日志在web上的端口自
          <property>
          <name>mapreduce.jobhistory.webapp.address</name>
          <value>hadoop000:19888</value>
          </property>
      
          #设置jobhistory日志的临时存储目录
          <property>
          <name>mapreduce.jobhistory.intermediate-done-dir</name>
          <value>/mr-history/tmp</value>
          </property>
      
          #设置jobhistory完成后的日志目录
          <property>
          <name>mapreduce.jobhistory.done-dir</name>
          <value>/mr-history/done</value>
          </property>
      
          </configuration>
      
    3. yarn-site.xml

      <configuration>
          #默认要配
          <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
           </property>
      
          #resourcemanager主机地址配置
          <property>
              <name>yarn.resourcemanager.hostname</name>
              <value>hadoop01</value>
           </property>
      
          </configuration>
      

    八. 配置完后,将hadoop01上的安装软件和配置文件下发到DataNode

    1. 复制/usr/local/apps 到 其他 3个节点将其相同的文件夹上

    2. 复制/etc/hosts  /etc/profile 到3个节点将其相同的文件夹上

    九. 进行测试

    1. 初始化 hdfs namenode -format

    2. 在$HADOOP_HOME/sbin 执行./start-all.sh

    3. 在hadoop01输入jps 如果看到NameNode/ResourceManager/SecondNameNode,说明namenode启动成功

    4. 在其他3台机输入jps,如果都看到DataNode/NodeManager,说明DataNode启动成功

    5. 通过shell命令测试创建/上传/下载等操作,如果成功,说明hadoop机群搭建成功!

  • 相关阅读:
    页面滚动
    代码提交报错
    校区下部门 及校区下员工
    表查询
    Jemeter命令执行
    抓包工具
    彻底解决mac下terminal路径显示问题
    PHP 性能分析第二篇: Xhgui In-Depth
    PHP 性能分析第一篇: Intro to Xhprof & Xhgui
    phpredis pipeline
  • 原文地址:https://www.cnblogs.com/flowyourheart/p/huan-jingmacVMware-Fusioncentos65hadoop265java7.html
Copyright © 2011-2022 走看看