一. 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. 初探solr搜索

    solr是一个基于lucene的搜索引擎,lucene是一个全文检索引擎的架构.solr在此之上进行了封装完善,变成了一个很流行实用的搜索引擎,可以应对绝大部分的搜索需求.使用搜索引擎有以下几点好处: ...

  2. 把页面的Table直接输出到Excel文件中

    有个需求是统计的时候,为生成的html表格提供导出功能,但是这样导出Excel不会显示自身的表格 影响美观,但是excel会显示html的css样式,这里可以通过处理行对象的方式进行导出,但是处理起纵 ...

  3. shell编程之环境变量配置文件(4)

    1 source命令 修改了配置文件,并让它立刻生效,而不用重新登录 source 配置文件 或者 .配置文件 2 环境变量配置文件简介 PATH HISTSIZE PS1 HOSTNAME等环境变量 ...

  4. NSData所有API学习

      www.MyException.Cn  网友分享于:2015-04-24  浏览:0次   NSData全部API学习. 学习NSData,在网上找资料竟然都是拷贝的纯代码,没人去解释.在这种网上 ...

  5. 数据库之mac上mysql root密码忘记或权限错误的解决办法

    [转自  http://blog.csdn.net/u014410695/article/details/50630233] 以下方法亲测有效,过程使用的工具只有mac的终端无需workbench 当 ...

  6. 在CentOS下安装crontab服务

    1. 确认crontab是否安装: 执行 crontab 命令如果报 command not found,就表明没有安装 2. 安装 crontab 执行 yum install -y vixie-c ...

  7. linux使用tcpdump抓包工具抓取网络数据包,多示例演示

    tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  8. 归并排序Merge Sort

    //C语言实现 void mergeSort(int array[],int first, int last) { if (first < last)//拆分数列中元素只剩下两个的时候,不再拆分 ...

  9. angular ng build --prod 打包报错解决方案

    使用以下代码  就不报错了 ng build --prod --no-extract-license    打包命令 使用以下代码  就不报错了 ng build --prod --no-extrac ...

  10. 02 Java类的加载机制

    1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构 ...