简介与环境准备

  hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce。近年,随着大数据、云计算、物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必要的配置都在入门教程出现。通过思考总结与相关教程,我想通过简单的方式传递给同样想入门hadoop的同学。其实,如果你有很好的Java基础,当你入门以后,你会感觉到hadoop其实也是很简单的,大数据无非就是数据量大,需要很多机器共同来完成存储工作,云计算无非就是多台机器一起运算

  操作建议:理论先了解三分,先实践操作完毕,再回头看理论,在后续文章我将对理论进行分析,最后用思维导图总结了解它的hadoop的整体面貌。

  环境准备:http://pan.baidu.com/s/1dFrHyxV  密码:1e9g(建议自己去官网下环境,要原生原味的,不要二手货)

  CentOS-Linux系统:CentOS-7-x86_64-DVD-1511.iso

  VirtualBox虚拟机:VirtualBox-5.1.18-114002-Win.exe

  xshell远程登录工具:xshell.exe

  xftp远程文件传输:xftp.exe

  hadoop:hadoop-2.7.3.tar.gz

  jdk8:jdk-8u91-linux-x64.rpm

hadoop的物理架构

  物理架构:假设机房有四台机器搭建一个集群环境,Master(ip:192.168.56.100)、Slave1(ip:192.168.56.101)、Slave2(ip:192.168.56.102)、Slave3(ip:192.168.56.103)。在这里简要介绍一下,至于具体内容,我将在Hadoop的Hdfs文章详细介绍。

  分布式:将不同地点,不同功能的,用于不同数据的多态计算机通过通信网络连接其他,统一控制,协调完成大规模信息处理的计算机系统。简单说,一块硬盘可以分成两部分:文件索引和文件数据,那么文件索引部署在单独一台服务器上我们称为Master根节点(NameNode),文件数据部署在Master结点管理的孩子结点被称为Slave结点(DataNode)。

  

利用VirtulBox安装Linux

  参考:http://www.cnblogs.com/qiuyong/p/6815903.html

配置集群在同一虚拟局域网下通信

  说明:通过上述操作,已经搭建好master(192.168.56.100)这台机器,开始配置虚拟网络环境在同一虚拟机下。

  1. vim /etc/sysconfig/network
  2. NETWORKING=yes  GATEWAY=192.168.56.1(说明:配置意思是,连上VirtualBox这块网卡)
  3. vim /etc/sysconfig/network-sripts/ifcfg-enp0s3
  4. TYPE=Ethernet IPADDR=192.168.56.100 NETMASK=255.255.255.0(说明:配置意思是,设置自己ip)
  5. 修改主机名:hostnamectl set-hostname master
  6. 重启网络:service network restart
  7. 查看ip:ifconfig
  8. 与windows能否ping通、若ping不同,关闭防火墙。
  9. systemctl stop firewalld -->system disable firewalld

利用Xshell、Xftp进行远程登录与文件传输

  利用VirtualBox登录,上传文件会比较麻烦,采用Xshell远程登录。

 

  

  采用Xftp上传文件。

  

  

  上传hadoop-2.7.3.tar.gz、jdk-8u91-linux-x64.rpm到/usr/local目录下。新手提示:在右边窗口选中/usr/local目录,左边双击压缩包就上传成功了。

配置hadoop环境

  1. 解压jdk-8u91-linux-x64.rpm:rpm -ivh  /usr/local/jdk-8u91-linux-x64.rpm-->默认安装目录到/usr/java
  2. 确认jdk是否安装成功。 rpm -qa | grep jdk,java -version查看是否安装成功。
  3. 解压hadoop-2.7.3.tar.gz:tar -vhf  /usr/local/hadoop-2.7.3.tar.gz。
  4. 修改目录名为hadoop:mv  /usr/local/hadoop-2.7.3  hadoop
  5. 切换目录到hadoop配置文件目录:cd /usr/local/hadoop/etc/hadoop
  6. vim hadoop-env.sh
  7. 修改export JAVA_HOME 语句为 export JAVA_HOME=/usr/java/default
  8. 退出编辑页面:按esc键 输入:wq
  9. vim /etc/profile
  10. 在文件最后追加 export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
  11. source /etc/profile

发散思考-更进一步

  问题1:现在只是配置了一台master?那slave1、slave2、slave3也这样一台一台配置吗?

  答:潜意识里面,肯定有解决办法避免。当然,VirtualBox也提供了,复制机器的功能。选中master,右键复制。这样的话,就一台跟master一模一样的机器就搞定了。我们只需要修改网络的相关配置即可。注意:搭建集群环境需要自己复制三台。

  问题2:如何查看这些linux机器是否在同一个环境下?

  答:我重新捋一遍内容。启动四台linux机器(可以右键选择无界面启动)-->利用xshell远程登录-->选择工具(发送键到所用界面)。依次输入ping 192.168.56.100、192.168.56.101、192.168.56.102、192.168.56.103。

配置与启动hadoop

  1、为四台机器配置域名。vim /etc/hosts

    192.168.56.100 master

    192.168.56.101 slave1

    192.168.56.102 slave2

    192.168.56.103 slave3

  2、切换到hadoop配置文件目录 /usr/local/hadoop/etc/hadoop   vim core-site.xml

  3、修改四台linux机器的core-site.xml,指名四台机器谁是master(NameNode)。

    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://master:9000</value>
    </property>

  4、在master结点机器指名它的子节点有哪些:vim /usr/local/hadoop/etc/hadoop/slaves(其实就是指名子节点的ip)

    slave1

    slave2

    slave3

  5、初始化一下master配置:hdfs namenode -format

  6、启动hadoop集群并且用jps查看结点的启动情况

    启动master:hadoop-daemon.sh start namenode

    启动slave:hadoop-daemon.sh start datanode

    

  7、查看集群启动情况:hdfs dfsadmin -report或者利用网页http://192.168.56.100:50070/

    

Hadoop化繁为简-从安装Linux到搭建集群环境的更多相关文章

  1. Hadoop化繁为简(一)-从安装Linux到搭建集群环境

    简介与环境准备 hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce.近年,随着大数据.云计算.物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必 ...

  2. linux下安装 zookeeper-3.4.9并搭建集群环境

    本文主要记录作者在实践过程中实现在centos7环境下安装zookeeper并搭建集群的详细步骤,关于zookeeper本文将不做详细介绍,安装步骤详情如下: 前提准备:3台linux服务器(因为zo ...

  3. 使用Nginx在windows和linux上搭建集群

    Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离… 反向代理(Reverse Pro ...

  4. 【Nutch2.3基础教程】集成Nutch/Hadoop/Hbase/Solr构建搜索引擎:安装及运行【集群环境】

    1.下载相关软件,并解压 版本号如下: (1)apache-nutch-2.3 (2) hadoop-1.2.1 (3)hbase-0.92.1 (4)solr-4.9.0 并解压至/opt/jedi ...

  5. 【redis】 linux 下redis 集群环境搭建

    Redis集群 (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:63791 ...

  6. Nginx --Windows下和Linux下搭建集群小记

    nginx: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 特点: 反向代理 负载均衡 动静分离... 反向代理 : 先来了解正向代理:需要我们用户 ...

  7. 基于redis 3.x搭建集群环境

    由于我团队开发的在线坐席系统,即将面对线上每周3000W的下行投放客户,产品的咨询量可能会很大,基于前期,200W的投放时,前10分钟,大概800问题量,平均一个客户大概8个问题,也就是说每分钟10个 ...

  8. druid 搭建集群环境

    下载druid 下载地址 http://static.druid.io/artifacts/releases/druid-services-0.6.145-bin.tar.gz 解压 tar -zxv ...

  9. Linux下Redis集群环境的搭建

    一.安装redis(使用redis3.0版本) 1.需要gcc环境,如果没有执行命令安装gcc yum install gcc-c++ 2.下载redis3.0的源码包并上传至服务器 3.解压源码包 ...

随机推荐

  1. java根据HashMap中的值将其元素排序

    思路:HashMap或Map本身没有排序功能,若要进行较轻松的排序,可利用ArrayList中的sort方法 例子: import java.util.ArrayList; import java.u ...

  2. 浅谈!SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别

    今天的工作学习之路是一个数据库的小知识,当时没有区分出所以然,特此记录分享一下子. 众所周知,数据库的表都是单独存在的,但是当我们进行联合查询(多表查询)时,我们获得数据库返回的值时就好像在一张表里一 ...

  3. Android控件状态依赖框架

    在生产型Android客户端软件(企业级应用)开发中,界面可能存在多个输入(EditText)和多个操作(MotionEvent和KeyEvent),且操作依赖于输入的状态.如下图所示的场景: 设定图 ...

  4. Vim快速入门

    学习自:实验楼 Vim具有6种基本模式和5种派生模式 普通模式: vim启动后的默认模式,常用的编辑器命令诸如移动光标,删除文本. 普通模式中,有很多方法进入插入模式,常用 a 或 i 键. 插入模式 ...

  5. Swift应用案例 2.闭包入门到精通

      本文主要介绍Swift的闭包的使用并与OC的Block做比较.学习Swift是绕不过闭包的,因为无论是全局函数还是嵌套函数都是闭包的一种,本文主要介绍闭包表达式. 1.闭包表达式的使用 // 1. ...

  6. 转:Java中finally和return的执行关系

    finally可以分两方面理解 1.执行时机问题.finally总会执行(除非是System.exit()),正常情况下在try后执行,抛异常时在catche后面执行 2.返回值问题.可以认为try( ...

  7. 模块“XXX.dll”加载失败

    具体问题:模块“XXX.dll”加载失败 请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题  找不到指定的模块. 1.在安装C++软件的时候,有时候安装失败提示 ...

  8. [笔记]GBDT理论知识总结

    一. GBDT的经典paper:<Greedy Function Approximation:A Gradient Boosting Machine> Abstract Function ...

  9. windows编程初步

    #include <windows.h> const char g_szClassName[] = "myWindowClass"; LRESULT CALLBACK ...

  10. 使用python解数独

    偶然发现linux系统附带的一个数独游戏,打开玩了几把.无奈是个数独菜鸟,以前没玩过,根本就走不出几步就一团浆糊了. 于是就打算借助计算机的强大运算力来暴力解数独,还是很有乐趣的. 下面就记录一下我写 ...