一. 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. 高可用的MongoDB集群

    1.序言 MongoDB 是一个可扩展的高性能,开源,模式自由,面向文档的数据库. 它使用 C++编写.MongoDB 包含一下特点: l  面向集合的存储:适合存储对象及JSON形式的数据. l ...

  2. [记录]Python2.7使用argparse模块

    # -*- coding: utf8 -*- import argparse #ArgumentParser.add_argument(name or flags-[, action][, nargs ...

  3. slf4j-logback 日志以json格式导入ELK

    同事整理的,在此分享.logback,log4j2 等slf4j的日志实现都可以以json格式输出日志, 这里采用的是logback.当然也可以以文本行的格式输出,然后在logstash里通过grok ...

  4. 基于epoll实现简单的web服务器

    1. 简介 epoll 是 Linux 平台下特有的一种 I/O 复用模型实现,于 2002 年在 Linux kernel 2.5.44 中被引入.在 epoll 之前,Unix/Linux 平台下 ...

  5. 老男孩Python全栈开发(92天全)视频教程 自学笔记08

    day8课程内容: 文件操作 f=open('小重山','r',encoding='utf8')   #以读的方式打开文件 data=f.read() print(data) f.close()  # ...

  6. UART知识总结

    一.定义 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART. 二.时序 上图是uart协议传输一个"A" ...

  7. QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式

    目录 功能介绍 常见问题 效果图与示例 apk Gradle 依赖 布局文件 自定义属性说明 接口说明 关于我 功能介绍 根据之前公司的产品需求,参考 barcodescanner 改的,希望能帮助到 ...

  8. dm642的视频口输出

    void VP1_EDMA(int displayMode,unsigned int w,unsigned int h) {      unsigned int i=0,k=0;  EDMA_Hand ...

  9. directdraw显示yuv420(YV12)

    height=width=widthBytes=0;  m_screen.SetWindowPos(&CWnd::wndBottom,0,0,720,576, SWP_NOMOVE | SWP ...

  10. dedecms 使用自由列表实现首页列表分页