【目的】:学习大数据

在此记录搭建大数据的过程。

【系统环境】

宿主机操作系统:Win7 64位

虚拟机软件:Vmware workstation 12

虚拟机:Ubuntu 16 64位桌面版

【步骤概要】

一、准备

1、准备安装软件

2、规划好虚拟机数量、机器名称、IP

3、设置虚拟机静态IP

4、建立专用于hadoop的账号

二、设置免密登录

实现这几台测试机之间可以免密码登录

三、安装和配置Java环境

四、安装和配置Hadoop

五、测试和收尾

【搭建过程】

一、准备

1、安装文件准备

Hadoop软件:

JDK:

Ubuntu 16的安装软件

2、虚拟机准备

测试计划使用三台虚拟机

在Win7里启动Vmware workstation,安装一台操作系统为Ubuntu 16的空的虚拟机,从这台虚拟机另外再克隆出来两台

3、机器名称:hadoop.master、hadoop.slave1、hadoop.slave2

通过修改/etc/hostname来设置虚拟机的主机名称

#vi /etc/hostname

4、查看和确定网关,我这测试环境的网关是:192.168.152.2

查看方式:

1)、点击Vmware workstation左上角的“编辑”

2)、选择“虚拟网络编辑器”

3)、选择NAT模式

4)、上图中“使用本地DHCP服务将IP地址分配给虚拟机”,很多网上文档都是把此项前面的“√"去掉,如果所有的虚拟机都设置为静态IP,可以去掉,因为我还有别的虚拟机,不在意是否静态IP,所以,此项“√”保留。

5)、“NAT设置”按钮,可看到网关设置,我虚拟机的网关为:192.168.152.2

这是系统默认的,在此无需变更。

5、规划三台虚拟机的IP:192.168.152.21、192,168.152.22、192.168.152.23

IP地址选择,前面三节都是:192.168.152,后面是除了网关里占用了2,其它1~255之间的数即可。如果已经设定了其它静态IP,不和那些冲突即可。

6、修改/etc/hosts,修改hosts文件目的是为了这三台虚拟机可以通过机器名称互相访问

上图是第一台hadoop.master的,另两台,修改127.0.0.1  hadoop.XXXXX 修改为相应的机器名称

7、为虚拟机设置静态IP

只所以设置为静态IP,是因为虚拟机启动后,有时会自动变更IP,而在搭建的大数据环境里,会配置IP地址,动态变化后,会出现IP地址不匹配。

#sudo vi /etc/network/interfaces

我的文件打开后,里面有如下内容:

auto lo

iface lo inet loopback

这些内容不变,增加下面内容

                     auto ens33

iface ens33 inet static
                        address 192.168.152.21
                        netmask 255.255.255.0
                        gateway 192.168.152.2
                        dns-nameservers 202.96.209.5

保存后退出,重启电脑,使用ifconfig检查新设置的IP地址是否已经生效。

使用Ping命令检查是否能ping通

1)、内网是否能ping通其它机器,比如,在hadoop.master里ping 192.168.152.22

2)、 Ping外网,比如:ping www.baidu.com

测试如下:

                   

说明:

1、如果编辑/etc/network/interfaces,里面没有配置dns,则可以ping通内网的其它机器,无法ping通外网的机器

2、注意软件版本,如果虚拟机不是Ubuntu16,而是Ubuntu14或Ubuntu18,那么配置静态IP,可能需要编辑不同的文件,就不是/etc/network/interfaces了

如果虚拟机是CentOS ,更不是/etc/network/interfaces,但道理是通的,搭建Hadoop完全分布式大数据环境,利用虚拟机来实现,需要配置静态IP,避免机                                    器重启后配置失效。

3、如果设定有问题,则查找原因,解决后再往后继续。

8、增加user,这个用户专用于操作hadoop

1)、切换到root账号

2)、这里用户名设为:hadoop

#useradd hadoop

3)、为增加的账号设置口令

#passwd hadoop

4)、去home文件夹下检查

#cd /home

#ll

在home文件夹下发现没有新增hadoop文件夹

5)、删除已建立的user hadoop,换种方式重新建立

a.删除原hadoop账号

#userdel hadoop

b.查看,在home文件夹下没有hadoop的账号信息

#ll

c.按下述命令增加hadoop账号,使用参数

#useradd -r -m -s /bin/bash hadoop

d.再查看home文件夹,正常情况下,在home文件夹下会出现hadoop文件夹

6)、参照步骤5)在另外两台机器上建立hadoop账号,并设置hadoop的口令,这三台机器的口令要一致。

#useradd -r -m -s /bin/bash hadoop

#passwd hadoop

9、把新增的这个用户设为管理员,编辑/etc/sudoers

注意:Tab键的使用

二、设置免密登录

1、#cd ~/.ssh

提示无此目录

2、安装,sudo apt-get install openssh-server

按提示输入y,回车

3、安装好以后,输入cd ~/.ssh,仍然提示没有这个文件夹

4、执行ssh localhost

执行ssh localhost命令后,就会建立一个~/.ssh的隐藏的文件夹

5、输入exit 退出

6、进入~/.ssh

#cd ~/.ssh

7、如果先前有公钥,则先删除

#rm ./id_rsa*

8、生成公钥

#ssh-keygen -t rsa

一路按回车即可

9、让主节点能够免密登录到主节点

1)、把公钥添加到key中

# cat ./id_rsa.pub >> ./authorized_keys

2)、第一次使用ssh登录主节点本机

#ssh hadoop.master

3)、输入exit退出

#exit

4)、第二次使用ssh登录主节点本机

#ssh hadoop.master

5)、输入exit退出

#exit

10、把主节点的公钥传到从节点,也就是另外两台机器行,实现从主节点免密登录到从节点

1)、分别到两台从节点机器上hadoop.slave1和hadoopslave2上,切换到hadoop账号,检查有无~/.ssh文件夹

#su hadoop

#cd ~/.ssh

如果没有,则建立

#mkdir ~/.ssh

检查

#cd ~/.ssh

2)、切换到hadoop账号下

#su hadoop

3)、进入~/.ssh

#cd ~/.ssh

4)、查看

#ll

5)、拷贝传输

#scp id_rsa.pub >> hadoop@hadoop.slave1:/home/hadoop/

#scp  id_rsa.pub >> hadoop@hadoop.slave2:/home/hadoop/

                                 

6)、从上图看,公钥传输被拒绝掉了,解决办法:

分别在hadoop.slave1和hadoop.slave2上执行下面语句:

#sudo apt-get install openssh-server

7)、回到主节点,重新拷贝传输公钥

#su hadoop

#cd /home/hadoop

#cd .ssh

#scp  id_rsa.pub >> hadoop@hadoop.slave1:/home/hadoop/

#scp  id_rsa.pub >> hadoop@hadoop.slave2:/home/hadoop/

8)、再分别到两台从节点,把id_rsa.pub加到authorized_Keys里

#su hadoop

#cd /home/hadoop

#cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

9)、从主节点,以hadoop登录,检查是否能免密登录hadoop.slave1和hadoop.slave2

三、安装和配置Java环境

四、安装和配置Hadoop

基于Ubuntu16搭建Hadoop大数据完全分布式环境的更多相关文章

  1. 【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下

    因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装.Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置.具体请参看: [ ...

  2. 如何基于Go搭建一个大数据平台

    如何基于Go搭建一个大数据平台 - Go中国 - CSDN博客 https://blog.csdn.net/ra681t58cjxsgckj31/article/details/78333775 01 ...

  3. 单机,伪分布式,完全分布式-----搭建Hadoop大数据平台

    Hadoop大数据——随着计算机技术的发展,互联网的普及,信息的积累已经到了一个非常庞大的地步,信息的增长也在不断的加快.信息更是爆炸性增长,收集,检索,统计这些信息越发困难,必须使用新的技术来解决这 ...

  4. hadoop大数据技术架构详解

    大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展.高效率.高可靠等优点越来越受到欢迎.这同时也带动了 ...

  5. 《Hadoop大数据架构与实践》学习笔记

    学习慕课网的视频:Hadoop大数据平台架构与实践--基础篇http://www.imooc.com/learn/391 一.第一章 #,Hadoop的两大核心:     #,HDFS,分布式文件系统 ...

  6. Spark 介绍(基于内存计算的大数据并行计算框架)

    Spark 介绍(基于内存计算的大数据并行计算框架)  Hadoop与Spark 行业广泛使用Hadoop来分析他们的数据集.原因是Hadoop框架基于一个简单的编程模型(MapReduce),它支持 ...

  7. 大数据hbase分布式安装及其部署。

    大数据hbase分布式安装及其部署. 首先要启动Hadoop以及zookeeper,可以参考前面发布的文章. 将hbase的包上传至master节点 这里我使用的是1.3.6的版本,具体的根据自己的版 ...

  8. 基于Docker搭建Hadoop+Hive

    为配合生产hadoop使用,在本地搭建测试环境,使用docker环境实现(主要是省事~),拉取阿里云已有hadoop镜像基础上,安装hive组件,参考下面两个专栏文章: 克里斯:基于 Docker 构 ...

  9. 0基础搭建Hadoop大数据处理-编程

    Hadoop的编程可以是在Linux环境或Winows环境中,在此以Windows环境为示例,以Eclipse工具为主(也可以用IDEA).网上也有很多开发的文章,在此也参考他们的内容只作简单的介绍和 ...

随机推荐

  1. I/O多路复用方案

    1. 本节思维导图 2. 基本的网络编程接口 2.1 基于TCP的通信模型 2.2 基于UDP的通信模型 3. 非阻塞的服务器程序 file.pipe.fifo.socket在默认创建过程中都是阻塞的 ...

  2. JAVA视频链接

    Java基础Java马士兵:链接:https://pan.baidu.com/s/1jJRvxGi密码:v3xb Java刘意:链接:https://pan.baidu.com/s/1kVZQCqr密 ...

  3. 【WCF安全】WCF 自定义授权[用户名+密码+x509证书]

    1.x509证书制作(略) 2.直接贴代码 ----------------------------------------------------------------------服务端----- ...

  4. 转: django数据库操作-增删改查-多对多关系以及一对多(外键)关系

    原文链接:http://blog.csdn.net/u010271717/article/details/22044415 一.一对多(外键) 例子:一个作者对应多本书,一本书只有一个作者 model ...

  5. MDK中STM32使用Printf函数详细解析【转载】

    在用MDK调试STM32板子串口时,为了方便串口调试,调用了printf()函数,用Keil仿真是,串口不能正确的输出,软件仿真时,总是卡在那 里.有点纳闷,然后调用USART_SendData()函 ...

  6. FPGA应用及ARM-FPGA架构举例

    FPGA的应用非常广泛,通信领域,视频图像处理领域,汽车电子领域,消费电子领域,工业领域,数据处理领域等,都能看到FPGA的身影. 在设计中,FPGA通常和其他处理IC架构,完成整个设计.FPGA-A ...

  7. iPhone之IOS5内存管理(ARC技术概述)

    ARC(Automatic Reference Counting )技术概述 此文章由Tom翻译,首发于csdn的blog,任何人都可以转发,但是请保留原始链接和翻译者得名字.多谢! Automati ...

  8. 【转】 Pro Android学习笔记(九十):了解Handler(4):Worker线程

    目录(?)[-] worker线程小例子 小例子代码worker线程通过handler实现与主线程的通信 小例子代码继承Handler代码 小例子代码子线程的Runnable 文章转载只能用于非商业性 ...

  9. 命令提示符(cmd)中的tracert命令详解(小技巧)

    tracert也被称为Windows路由跟踪实用程序,在命令提示符(cmd)中使用tracert命令可以用于确定IP数据包访问目标时所选择的路径.本文主要探讨了tracert命令的各个功能. 百度经验 ...

  10. 第二章 Java内存区域与内存溢出异常(待续)

    ·········