虚拟机搭建和安装Hadoop及启动
马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动
马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作
马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解
马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动
(一) 需要用到的软件
virtualbox redhat64(centos7) hadoop-2.7.3.jar jdk8 xshell ftp(我用的是FlashFXP)
所需要的软件,最好到官网上去下载,也可以到百度云盘下载:http://pan.baidu.com/s/1nvkDLbV
(二)安装配置虚拟机
将virualbox安装好后,需要新建一个linux版redhat64的虚拟机,我取名叫master;
特别需要注意的地方:
将虚拟机的网络设置为host-only,我因为忘了设置成host-only,导致新建的虚拟机和宿主机怎么都ping不通,浪费了我一些时间。
选中虚拟机-->设置-->网络,设置如下:
虚拟机网络设置
a) 在设置虚拟机网络前,先设置宿主机的VirtualBox Host-Only Network,
打开网络共享中心-->更改适配器设置,然后设置IP和子网掩码
b) 设置虚拟机GATEWAY为192.168.56.1
[root@master ~]# vi /etc/sysconfig/network
#编辑内容如下
NETWORKING=yes
GATEWAY=192.168.56.1
c) 设置虚拟机IP和子网掩码
[root@master ~]# vim /etc/sysconfig/network-sripts/ifcfg-enp0s3 #编辑内容如下
TYPE=Ethernet
IPADDR=192.168.56.100
NETMASK=255.255.255.0
d) 修改master主机名
主机名千万不能有下划线【马老师一再强调】
[root@master ~]# hostnamectl set-hostname master
e) 重启master虚拟机网络
[root@master ~]# service network restart
f) 在虚拟机上ping宿主机,在宿主机上ping虚拟机master
[root@master ~]# ping 192.168.56.1
PING 192.168.56.1 (192.168.56.1) 56(84) bytes of data.
64 bytes from 192.168.56.1: icmp_seq=1 ttl=128 time=0.191 ms
64 bytes from 192.168.56.1: icmp_seq=2 ttl=128 time=0.203 ms
C:\Users\Administrator>ping 192.168.56.100 正在 Ping 192.168.56.100 具有 32 字节的数据:
来自 192.168.56.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.56.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.56.100 的回复: 字节=32 时间<1ms TTL=64
互相ping,测试成功,若不成功,注意防火墙的影响,关闭windows或虚拟机防火墙。
systemctl stop firewalld.service
systemctl disable firewalld.service
更多防火墙操作:<a href='https://www.cnblogs.com/yucongblog/p/9722414.html'>Centos7下防火墙操作</a>
(3)安装jdk
将已下载好的jdk-8u91-linux-x64.rpm和hadoop-2.7.3.tar.gz,
通过FlashFXP工具(也可以是其他的ftp工具)上传上去,
用xshell连接master虚拟机。
使用rpm进行安装jdk:
默认安装在 /usr/java下面,执行java看到如下输入,即表示java安装成功:
(4)安装hadoop
tar -xvf hadoop-2.7.3.tar.gz
并将解压后的文件hadoop-2.7.3修改成hadoop,执行mv hadoop-2.7.3 hadoop
(5) 配置hadoop的JAVA_HOME
vim /usr/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/default
(6) 配置hadoop的环境变量
vim /etc/profile
在profile文件尾部添加内容如下:
export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
要想使profile文件生效,还要执行指令
[root@master ~]# source /etc/profile
(7)修改master的/usr/local/hadoop/etc/hadoop/core-site.xml,指明namenode的信息
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
这里需要指明一下,core-site.xml里面的配置需要复制到slave虚拟机上,由于采用的是步骤(9)虚拟机复制,这个信息也已经复制过去了。
(8) 测试hadoop命令是否可以直接执行
任意目录下敲 hadoop,打印如下,表示hadoop的环境变量配置成功
(9) 复制3台虚拟机
关闭master,选中master-->右键-->复制,分别复制出取名为slave1,slave2,slave3的3台虚拟机。
使用无界面启动方式启动4台虚拟机
然后,使用以上步骤(2)中的虚拟机网络配置(b)(c)(d)(e)(f)操作slave1,slave2,slave3,
slave1 设置为IP:192.168.56.101,hostname:slave1
slave1 设置为IP:192.168.56.102,hostname:slave2
slave1 设置为IP:192.168.56.103,hostname:slave3
使用xshell依次登陆上maser,slave1,slave2,slave3四台虚拟机。
要想达到以上截图中的效果,操作:工具-->发送键输入到所有会话;选项卡-->排列-->瓷砖排序。
(10)搭建集群
在hadoop中,
跑在master机器上的组件/模块/进程有:
namenode,secondarynamenode,resource manager(job tracker),history sever,
跑在slave机器上的有:
datanode,node manager(task tracker)
a) 修改4台机器的/etc/hosts,让他们通过名字认识对方,测试一下互相用名字可以ping通。
192.168.56.100 master
192.168.56.101 slave1
192.168.56.102 slave2
192.168.56.103 slave3
b) 修改master下的/usr/local/hadoop/etc/hadoop/slaves
slave1
slave2
slave3
这样,master就可以知道slave1,2,3对应的IP了。
c) 启动namenode和datanode
master上需要格式化namenode,执行指令:
hadoop namenode -format
启动master上的namenode,在master上执行:
hadoop-daemon.sh start namenode
启动slave上的datanode,在每个slave上执行:
hadoop-daemon.sh start datanode
使用jps查看namenode和datanode的启动情况。
至此,一个master,三个slave的hadoop集群搭建完成并启动成功。
感谢马士兵老师的无私奉献,讲解视频百度云盘地址:http://pan.baidu.com/s/1slU6QrN
虚拟机搭建和安装Hadoop及启动的更多相关文章
- 马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动(转)
马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...
- Hadoop3集群搭建之——安装hadoop,配置环境
接上篇:Hadoop3集群搭建之——虚拟机安装 下篇:Hadoop3集群搭建之——配置ntp服务 Hadoop3集群搭建之——hive安装 Hadoop3集群搭建之——hbase安装及简单操作 上篇已 ...
- 1.如何在虚拟机ubuntu上安装hadoop多节点分布式集群
要想深入的学习hadoop数据分析技术,首要的任务是必须要将hadoop集群环境搭建起来,可以将hadoop简化地想象成一个小软件,通过在各个物理节点上安装这个小软件,然后将其运行起来,就是一个had ...
- ubuntu在虚拟机下的安装 ~~~ Hadoop的安装及配置 ~~~ Hdfs中eclipse的安装
前言 Hadoop是基于Java语言开发的,具有很好跨平台的特性.Hadoop的所要求系统环境适用于Windows,Linux,Mac系统,我们推荐选择使用Linux或Mac系统.而Linux系统则 ...
- genymotion——在虚拟机中当中安装genymotion,启动已经新增好的设备时,提示:the virtual device got no ip address
1.启动已经新增好的设备时,提示:the virtual device got no ip address,于是在网上搜索该问题,便得到提示,先启动virtual box中的该模拟设备,于是便启动,出 ...
- 虚拟机VM14.X安装Mac10.12启动出现问题的解决方法
虚拟机安装Mac系统,会出现的问题太多,于是乎变记录下来,方便以后使用或者方便大家解决问题. 一:VM14.X安装Mac10.12虚拟机,启动出现下面无限重启问题 解决方法: 亲测有效 在OS X 1 ...
- 在虚拟机下安装hadoop集成环境(centos7+hadoop-2.6.4+jdk-7u79)
[1]64为win7系统,用virtualbox建立linux虚拟机时,为什么没有64位的选项? 百度 [2]在virtualbox上安装centos7 [3]VirtualBox虚拟机网络环境解析和 ...
- virtualbox 虚拟3台虚拟机搭建hadoop集群
用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...
- CentOS7 搭建Ambari-Server,安装Hadoop集群(一)
2017-07-05:修正几处拼写错误,之前没发现,抱歉! 第一次在cnblogs上发表文章,效果肯定不会好,希望各位多包涵. 编写这个文档的背景是月中的时候,部门老大希望我们能够抽时间学习一下Had ...
随机推荐
- 深度学习Bible学习笔记:第六章 深度前馈网络
第四章 数值计算(numerical calculation)和第五章 机器学习基础下去自己看. 一.深度前馈网络(Deep Feedfarward Network,DFN)概要: DFN:深度前馈网 ...
- 模拟js中注册表单验证
示例1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 改代码不是很熟悉------方法上加入synchronized关键字,会有性能问题---如何改善
package com.bjpowernode.t14; import java.time.Duration;import java.time.LocalTime; public class Proc ...
- java使用md5加密
代码: public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingExcep ...
- Android strings.xml中定义字符串显示空格
<string name="str">字 符 串</string> 其中 就表示空格.如果直接在里面键入空格,无论多少空格都只会显示一个. 用的XML转 ...
- (第8篇)实时可靠的开源分布式实时计算系统——Storm
摘要: 在Hadoop生态圈中,针对大数据进行批量计算时,通常需要一个或者多个MapReduce作业来完成,但这种批量计算方式是满足不了对实时性要求高的场景.那Storm是怎么做到的呢? 博主福利 给 ...
- canvas放射粒子效果
这个也是别人的代码,就不多介绍了 写了些注释 body { overflow:hidden; margin:0; padding:0; background-color:#222222 } </ ...
- HTML页面滚动时获取离页面顶部的距离2种实现方法
获取离滚动页面的顶部距离有两种方法一是DOM:而是jquery,具体的实现如下,感兴趣的朋友可以尝试操作下 方法一:DOM 复制代码 代码如下: <script> window.o ...
- 6-9 天平 uva839
这题十分巧妙!!代码精简!强大的递归!!! 边读边判断 先读到底部 慢慢往上判断 难点在于传递w1+w2 有一个比LRJ更加简便的方法 return传递 全局变量判断 #include ...
- python中confIgparser模块学习
python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...