一. 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. 这个界面,红处取消打勾

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

四. hadoop00配置hosts文件

  1. vi /etc/hosts

  2. 如图所示:

五. 配置服务器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机群搭建成功!

Mac上使用虚拟机搭建Hadoop集群的更多相关文章

  1. virtualbox 虚拟3台虚拟机搭建hadoop集群

    用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...

  2. 虚拟机搭建Hadoop集群

    安装包准备 操作系统:ubuntu-16.04.3-desktop-amd64.iso 软件包:VirtualBox 安装包:hadoop-3.0.0.tar.gz,jdk-8u161-linux-x ...

  3. win10虚拟机搭建Hadoop集群(已完结)

    1 在虚拟机安装 Ubuntu 2 安装网络工具 Ubuntu最小化安装没有 ifconfig命令 sudo apt-get install net-tools 3 Ubuntu修改网卡名字 修改网卡 ...

  4. 配置ssh免密登录遇到的问题——使用VMware多虚拟机搭建Hadoop集群

    搭建环境: 虚拟机 VMware12Pro      操作系统  centos6.8        hadoop 1.2.1 1.导入镜像文件,添加java环境 1.查看当前系统中安装的java,ls ...

  5. 使用Docker搭建Hadoop集群(伪分布式与完全分布式)

    之前用虚拟机搭建Hadoop集群(包括伪分布式和完全分布式:Hadoop之伪分布式安装),但是这样太消耗资源了,自学了Docker也来操练一把,用Docker来构建Hadoop集群,这里搭建的Hado ...

  6. spark集群搭建(三台虚拟机)——hadoop集群搭建(2)

    !!!该系列使用三台虚拟机搭建一个完整的spark集群,集群环境如下: virtualBox5.2.Ubuntu14.04.securecrt7.3.6_x64英文版(连接虚拟机) jdk1.7.0. ...

  7. 搭建Hadoop集群 (一)

    上面讲了如何搭建Hadoop的Standalone和Pseudo-Distributed Mode(搭建单节点Hadoop应用环境), 现在我们来搭建一个Fully-Distributed Mode的 ...

  8. 使用Windows Azure的VM安装和配置CDH搭建Hadoop集群

    本文主要内容是使用Windows Azure的VIRTUAL MACHINES和NETWORKS服务安装CDH (Cloudera Distribution Including Apache Hado ...

  9. 搭建Hadoop集群 (三)

    通过 搭建Hadoop集群 (二), 我们已经可以顺利运行自带的wordcount程序. 下面学习如何创建自己的Java应用, 放到Hadoop集群上运行, 并且可以通过debug来调试. 有多少种D ...

随机推荐

  1. 基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合

    在上一篇<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>中完成了使用JPA对实体数据的CRUD操作. 那么,有些情况,会把一些查询语句写在存储过程中,由 ...

  2. yii2 源码分析Action类分析 (六)

    Action类是控制器的基类, <?php namespace yii\base; use Yii; /** * Action是所有控制器动作类的基类,它继承组件类 * * 动作提供了重用动作方 ...

  3. Python构建发布

    click python配置apache的web服务器方法(python的CGI配置) python中的编码问题 http://blog.csdn.net/wyb_hardworking/articl ...

  4. WordPress 实现附件上传自动重命名但不改变附件标题

    WordPress 上传媒体文件时,默认会保持文件名不变.如果上传文件名中包含中文字符,则会造成部分浏览器显示的文件 URL 疑似乱码甚至无法访问.网上流行较广的是通过注册  wp_handle_up ...

  5. 科学计算工具-Numpy初探

    Numpy基础数据结构 Numpy数组是一个多维数组,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的原数据 导入该库: import numpy as np 多维数组ndarray ...

  6. css y轴溢出滚动条,x轴溢出显示

    这个是我工作中遇到的一个问题,困扰了我好几天,彻底理解了什么叫思路很重要. 黄色盒子里的内容是要超出出现滚动条的,红色的方块是根据另外的元素去定位的,于是呢 我就加上了 overflow-y:auto ...

  7. openssl 生成证书基本原理

    摘自:http://blog.csdn.net/oldmtn/article/details/52208747 1. 基本原理 公司一个项目要进行交易数据传输,因为这个项目银行那边也是刚刚开始启动,所 ...

  8. CentOS6实现路由器功能

    网络之间的通信主要是依靠路由器,当然生成环境中是拥有路由器的,但是系统中的路由配置也是需要了解一下地,今天讲解一下在CentOS6环境下搭建路由器,此乃入门级的简单实验.拓扑如上图已经规划好,暂且使用 ...

  9. 面试为什么需要了解JVM

    匠心零度 转载请注明原创出处,谢谢! 说在前面 如果你经常注意面试题,你会发现现在面试题多多少少会含有jvm相关的面试题,之前也把一些jvm面试题汇总了下:面试题系列一,那么为什么现在面试需要了解或者 ...

  10. 第3章 PCI总线的数据交换

    PCI Agent设备之间,以及HOST处理器和PCI Agent设备之间可以使用存储器读写和I/O读写等总线事务进行数据传送.在大多数情况下,PCI桥不直接与PCI设备或者HOST主桥进行数据交换, ...