基于Ubuntu16搭建Hadoop大数据完全分布式环境
【目的】:学习大数据
在此记录搭建大数据的过程。
【系统环境】
宿主机操作系统: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大数据完全分布式环境的更多相关文章
- 【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下
因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装.Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置.具体请参看: [ ...
- 如何基于Go搭建一个大数据平台
如何基于Go搭建一个大数据平台 - Go中国 - CSDN博客 https://blog.csdn.net/ra681t58cjxsgckj31/article/details/78333775 01 ...
- 单机,伪分布式,完全分布式-----搭建Hadoop大数据平台
Hadoop大数据——随着计算机技术的发展,互联网的普及,信息的积累已经到了一个非常庞大的地步,信息的增长也在不断的加快.信息更是爆炸性增长,收集,检索,统计这些信息越发困难,必须使用新的技术来解决这 ...
- hadoop大数据技术架构详解
大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展.高效率.高可靠等优点越来越受到欢迎.这同时也带动了 ...
- 《Hadoop大数据架构与实践》学习笔记
学习慕课网的视频:Hadoop大数据平台架构与实践--基础篇http://www.imooc.com/learn/391 一.第一章 #,Hadoop的两大核心: #,HDFS,分布式文件系统 ...
- Spark 介绍(基于内存计算的大数据并行计算框架)
Spark 介绍(基于内存计算的大数据并行计算框架) Hadoop与Spark 行业广泛使用Hadoop来分析他们的数据集.原因是Hadoop框架基于一个简单的编程模型(MapReduce),它支持 ...
- 大数据hbase分布式安装及其部署。
大数据hbase分布式安装及其部署. 首先要启动Hadoop以及zookeeper,可以参考前面发布的文章. 将hbase的包上传至master节点 这里我使用的是1.3.6的版本,具体的根据自己的版 ...
- 基于Docker搭建Hadoop+Hive
为配合生产hadoop使用,在本地搭建测试环境,使用docker环境实现(主要是省事~),拉取阿里云已有hadoop镜像基础上,安装hive组件,参考下面两个专栏文章: 克里斯:基于 Docker 构 ...
- 0基础搭建Hadoop大数据处理-编程
Hadoop的编程可以是在Linux环境或Winows环境中,在此以Windows环境为示例,以Eclipse工具为主(也可以用IDEA).网上也有很多开发的文章,在此也参考他们的内容只作简单的介绍和 ...
随机推荐
- 【mssql】SQL Server2012编程入门经典(第四版)(上) 读书笔记
数据库用了很久了,但好多东西很容易忘记,这次头脑发热想起来读一遍书,做点笔记! 从第五章开始参考:<SQL Server 2005 编程入门经典>学习笔记 一.RDBMS基础:SQL Se ...
- 排序算法总结(C#版)
算法质量的衡量标准: 1:时间复杂度:分析关键字比较次数和记录的移动次数: 2:空间复杂度:需要的辅助内存: 3:稳定性:相同的关键字计算后,次序是否不变. 简单排序方法 .直接插入排序 直接插入排序 ...
- 洛谷P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver
传送门 题目大意:n头牛在单行道n个位置,开始用不同的速度跑步. 当后面的牛追上前面的牛,后面的牛会和前面的牛以一样的速度 跑,称为一个小团体.问:ts后有多少个小团体. 题解:模拟 倒着扫一遍,因为 ...
- Hadoop(二)自定义输出
Hadoop提供了较为丰富的数据输入输出格式,可以满足很多的设计实现,但是在某些时候需要自定义输入输出格式. 数据的输入格式用于描述MapReduce作业的数据输入规范,MapReduce框架依靠 数 ...
- SSM框架——整合搭建流程
1.首先创建maven工程,使用哪种方式进行创建都可以,可以参考博主之前的文章: <两种方式创建Maven项目[方式二]><两种方式创建Maven项目[方式一]> 2.先看看搭 ...
- (转)Android 50道面试题总结(大家看看吧)
1. 方法重载与覆盖的区别?(Overload与Override的区别)2. String 和StringBuffer的区别3. 字符串“abcde”通过写一个函数不让调用第三方的字符串,实现一个字符 ...
- windows下通过Git Bash使用Git常用命令
Git跟SVN最大不同的地方就是分布式.SVN的集中式与Git的分布式决定各自的业务场景.既然是分布式的,那么大部分操作就是本地操作.一般Git操作都是通过IDE,比如Eclipse,如果装了Git ...
- mysql编译参数详解
mysql编译参数详解(./configure) 1.--prefix=PREFIX:指定程序安装路径: 2.--enable-assembler:使用汇编模式:(文档说明:compiling i ...
- Debian上启用Apache2服务
在Debian上启用Apache2的方法如下: sudo apt-get update sudo apt-get install -y apache2 sudo service apache2 sta ...
- 你知道PING功能是怎么实现的吗
以太网的协议有层,而每层都包含有更多的协议.所谓协议,通俗的讲就是通信双方约定的规则. 今天我们介绍一些一个听起来陌生却有很常用的协议,ICMP协议. ICMP是(Internet Control ...