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/

 

posted on 2019-03-11 15:38  一抹书香  阅读(344)  评论(0编辑  收藏  举报