zoukankan      html  css  js  c++  java
  • Hadoop集群部署

    Hadoop集群部署

     

    1:软件准备

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

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

    xshell远程登录工具:xshell.exe

    xftp远程文件传输:xftp.exe

    hadoophadoop-2.7.3.tar.gz

    jdk8jdk-8u161-linux-x64.rpm

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

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

     

    3: VirtulBox虚拟机搭建Linux Centos系统

    1).安装virtualbox,安装成功以后显示如下界面,选择新建,相当于添加一台Linux机器。

     

    2.设置机器名称、类型、版本。

     

    3.分配内存,选择默认1G。后期不够可扩容,测试基本够用

    4. 创建虚拟硬盘,如果第一次装,不会出现问题.

    5. 选择默认,点击下一步

     

     

    6选择动态分配,需要多少系统分配多少,比起固定大小可能运行的慢一些

     

     

    7: .选择默认,这样就创建完虚拟机,下面开始配置环境

     

     

    8: 选中刚刚创建的Linux、点击设置网络,选择如下设置名称

     

     

    9:解释关于网络的设置与配置。如果需要搭建hadoop集群的,特别要注意。

    (1)找到自己电脑的网络设置-->选择更改适配器设置-->在这里会产生一块VirtualBox网卡,也就是提供网络连接的接口。  VirtulBox Host-Only Network (ip:192.168.56.1)

    (2) VirtualBox网卡,也就是提供网络连接的接口。

    假设Windows是客户端、Linux集群是服务器端?现在我们需要上传文件,是不是应该客户端与服务器端在同一个局域网下才能访问?

      答:当然必须在同一个网络下,就像学校的教务系统,你不连学校的网络你是没办法访问是一样的道理。而为什么,我们能用流量、wifi访问APP、网站呢?是因为那是通过互联网连接的。

      Linux机器的ip在哪里设置呢?

      答:我们将通过Linux控制命令修改。

      假设WindowsVirtulBox的网卡的ip192.38.15.1(举例不是真实的),那么Linux机器的ip怎么设置呢?

      答:192.38.15.0~255,随便自己设置没有被占用的ip。比如192.38.15.50  51 52 53 54 55 .....

    下面是我的VirtulBox网卡的ip

     

    10.添加CentOS系统盘片,启动。

    (1)点击下图的按钮选择添加"虚拟光驱"

    2)点击右边红色按钮选择"自己CentOs7"的文件路径

     

    3)点击"启动"按钮

     

     

    4)启动界面如下图默认第二项回车

     

    5)选中文(鼠标移出linux界面,用快捷键ctrl+"")

     

    6)点击软件选择"基础设施服务器",接着点击开始安装

     

     

     

    7)设置账户密码

     

    8) 等待安装完毕、输入用户名密码登录成功。

     

    9) 利用VirtualBox登录,上传文件会比较麻烦,采用Xshell(自己安装)远程登录。

     

     

     

    10)采用Xftp(自行安装)上传文件。

     

     

     

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

     

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

    说明:通过上述操作,已经搭建好master(192.168.56.100)这台机器,开始配置虚拟网络环境在同一虚拟机下。(以下都是在linux中的控制命令;其中编辑或插入数据要按键盘上"Insert"按键;)

    比较常用的命令:先按ese在按shift+q退出编辑,q+!退出编辑不保存,w+q保存编辑后的文件

    1)vim /etc/sysconfig/network

    2)NETWORKING=yes  GATEWAY=192.168.56.1(说明:配置意思是,连上VirtualBox这块网卡)

    3)vim /etc/sysconfig/network-scripts/ifcfg-enp0s3

    4) IPADDR=192.168.56.100 NETMASK=255.255.255.0 BOOTPROTO=static ONBOOT=yes(说明:配置意思是,设置自己ip)

    5)修改主机名:hostnamectl set-hostname master

    6)重启网络:service network restart

    7)查看ipifconfig

    8)windows能否ping通、若ping不同,关闭防火墙。masterping 192.168.56.1   windowsping 192.168.56.100  

    9)systemctl stop firewalld.service (关闭linux防火墙,此操作一定要执行)

     配置hadoop环境

    1)解压jdk-8u161-linux-x64.rpmrpm -ivh  /usr/local/jdk-8u91-linux-x64.rpm-->默认安装目录到/usr/java

    2)确认jdk是否安装成功。java -version查看是否安装成功。

    3)解压hadoop-2.7.3.tar.gztar - zxvf /usr/local/hadoop-2.7.3.tar.gz(/usr/local目录下解压)

    4)修改目录名为hadoopmv  /usr/local/hadoop-2.7.3  hadoop 

    5)切换目录到hadoop配置文件目录:cd /usr/local/hadoop/etc/hadoop

    vim hadoop-env.sh

    6)修改export JAVA_HOME 语句为 export JAVA_HOME=/usr/java/default 

    退出编辑页面:按esc键 输入:wq

    7)vim /etc/profile

    8)在文件最后追加 export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

    9)source /etc/profile

    12. 发散思考-更进一步

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

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

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

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

    13. 配置以上几台机器集群与启动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,configuration加入property,name,value属性,指名四台机器谁是master(NameNode)

    <configuration>   

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

    <configuration>

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

        slave1

        slave2

        slave3

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

    6、启动hadoop集群并且用jps查看结点的启动情况(此方法启动,本人在web浏览器上访问查看不到datanode,你们自己试下这种是否能行)

        启动masterhadoop-daemon.sh start namenode

        启动slave:hadoop-daemon.sh start datanode

     

     

    我用的启动hadoop命令是在master这台机器上输入:start-all.sh,之后会要求依次输入其它3台密码

    14. 查看集群启动情况:利用网页http://192.168.56.100:50070/

     

  • 相关阅读:
    Spark数据读取
    05、TypeScript 中的泛型
    04、TypeScript 中的接口
    03、TypeScript 中的类
    02、TypeScript 中的函数
    01、TypeScript 数据类型
    Vue-router 知识点
    什么是跨域?如何解决跨域问题
    工作中积累的问题、知识点总结100题(0-20)
    封装一个 Promise 对象。了解其原理
  • 原文地址:https://www.cnblogs.com/chenweida/p/10510945.html
Copyright © 2011-2022 走看看