Hadoop从安装Linux到搭建集群环境

简介与环境准备
  hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce。近年,随着大数据、云计算、物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必要的配置都在入门教程出现。通过思考总结与相关教程,我想通过简单的方式传递给同样想入门hadoop的同学。其实,如果你有很好的Java基础,当你入门以后,你会感觉到hadoop其实也是很简单的,大数据无非就是数据量大,需要很多机器共同来完成存储工作,云计算无非就是多台机器一起运算。

  操作建议:理论先了解三分,先实践操作完毕,再回头看理论,在后续文章我将对理论进行分析,最后用思维导图总结了解它的hadoop的整体面貌。还是要推荐下我自己创建的大数据学习交流Qun: 710219868 有大佬有资料, 进Qun聊邀请码填写 南风(必填 )有学习路线的分享公开课,听完之后就知道怎么学大数据了

  环境准备: http://pan.baidu.com/s/1dFrHyxV 密码:1e9g

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

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

  xshell远程登录工具:xshell.exe

  xftp远程文件传输:xftp.exe

  hadoop:hadoop-2.7.3.tar.gz

  jdk8:jdk-8u91-linux-x64.rpm

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

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

  

利用VirtulBox安装Linux
  参考:http://www.cnblogs.com/qiuyong/p/6815903.html

配置集群在同一虚拟局域网下通信
  说明:通过上述操作,已经搭建好master(192.168.56.100)这台机器,开始配置虚拟网络环境在同一虚拟机下。

vim /etc/sysconfig/network
NETWORKING=yes GATEWAY=192.168.56.1(说明:配置意思是,连上VirtualBox这块网卡)
vim /etc/sysconfig/network-sripts/ifcfg-enp0s3
TYPE=Ethernet IPADDR=192.168.56.100 NETMASK=255.255.255.0(说明:配置意思是,设置自己ip)
修改主机名:hostnamectl set-hostname master
重启网络:service network restart
查看ip:ifconfig
与windows能否ping通、若ping不同,关闭防火墙。master:ping 192.168.56.1 windows:ping 192.168.56.100
systemctl stop firewalld -->system disable firewalld
利用Xshell、Xftp进行远程登录与文件传输
  利用VirtualBox登录,上传文件会比较麻烦,采用Xshell远程登录。

 

  

  采用Xftp上传文件。

  

  

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

配置hadoop环境
解压jdk-8u91-linux-x64.rpm:rpm -ivh /usr/local/jdk-8u91-linux-x64.rpm-->默认安装目录到/usr/java
确认jdk是否安装成功。 rpm -qa | grep jdk,java -version查看是否安装成功。
解压hadoop-2.7.3.tar.gz:tar -vhf /usr/local/hadoop-2.7.3.tar.gz。
修改目录名为hadoop:mv /usr/local/hadoop-2.7.3 hadoop
切换目录到hadoop配置文件目录:cd /usr/local/hadoop/etc/hadoop
vim hadoop-env.sh
修改export JAVA_HOME 语句为 export JAVA_HOME=/usr/java/default
退出编辑页面:按esc键 输入:wq
vim /etc/profile
在文件最后追加 export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
source /etc/profile
发散思考-更进一步
  问题1:现在只是配置了一台master?那slave1、slave2、slave3也这样一台一台配置吗?

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

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

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

配置与启动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,指名四台机器谁是master(NameNode)。

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

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

    slave1

    slave2

    slave3

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

  6、启动hadoop集群并且用jps查看结点的启动情况

    启动master:hadoop-daemon.sh start namenode

    启动slave:hadoop-daemon.sh start datanode

    

  7、查看集群启动情况:hdfs dfsadmin -report或者利用网页http://192.168.56.100:50070/

   

转载于:https://blog.51cto.com/13769996/2141750

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git推送本地分支到远程分支

场景 有时候我们开发需要开一个分支,这样可以有效的并行开发. 开分支有两种方式: 一种是在远程开好分支,本地直接拉下来;一种是本地开好分支,推送到远程.远程先开好分支然后拉到本地 git checkout -b feature-branch origin/feature-branch //检出远程的feature-branch分支到…

delphi 函数内创建对象 释放_JavaScript 的函数底层运行机制

▲ 点击上方蓝字关注我 ▲文 / 景朝霞来源公号 / 朝霞的光影笔记ID / zhaoxiajingjing图 / 自己画目录0 / 题(1)第一题(2)第二题1 / 引用数据类型&#xff1a;object2 / 引用数据类型&#xff1a;function(1)第二题&#xff0c;简图(2)创建函数(3)执行函数(4)闭包3 / 练习题(1)…

Unity3D学习笔记之五为Prefab添加材质

本次笔记中&#xff0c;我们将利用unity来创建并使用材质&#xff0c;把材质添加到我们的Prefab中去。这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》&#xff0c;下载链接附在第二篇学习笔记中。继续上次笔记中所记录的东西&a…

分布式版本控制系统之Git

Git Git 是目前世界上最先进的分布式版本控制系统&#xff08;没有之一&#xff09;作用 源代码管理为什么要进行源代码管理? 方便多人协同开发方便版本控制Git的诞生 作者是 Linux 之父&#xff1a;Linus Benedict Torvalds当初开发 Git 仅仅是为了辅助 Linux 内核的开发&…

oo第三次博客-JML规格

这三周的作业主要是围绕以JML来约束代码开发&#xff0c;以确保程序的正确性与鲁棒性。 Part 1&#xff1a;三次作业的实现与bug 第一次作业没有任何算法和数据结构上的难度&#xff0c;对于Path和PathContainer的各个方法的实现按照给出的规格复读即可。唯一的难点&#xff08…

Kinect开发笔记之一Kinect详细介绍

毕业设计的课题我选择了结合Kinect和Unity3D开发体感游戏&#xff0c;这是我十分感兴趣的一个课题&#xff0c;所以做好当然责无旁贷。准备再写一系列Kinect的学习笔记&#xff0c;记录自己毕设一步一个脚印的历程。1、Kinect背景介绍众所周知&#xff0c;Kinect是一款集成了很…

获取2个地址之间的距离(高德API)

2019独角兽企业重金招聘Python工程师标准>>> string startLonLat SiteHelper.GetLonLat("大连"); //获取起始地经度纬度 string endLonLat SiteHelper.GetLonLat("沈阳"); //获取目的地经度纬度 int distance SiteHelper.GetDistance(star…

WPF属性学习

一.WPF属性系统 CLR属性 .NET中的属性称为CLR属性 转载于:https://www.cnblogs.com/programme-maker/p/10910166.html

chemdraw怎么连接两个结构_利用神经结构搜索构建快速准确轻量级的超分辨率网络...

介绍我们知道&#xff0c;把神经网络拆解&#xff0c;可以把它归结为几个元素的排列组合而成&#xff0c;例如&#xff0c;以卷积神经网络为例&#xff0c;其主要由卷积层&#xff0c;池化层&#xff0c;残差连接&#xff0c;注意力层&#xff0c;全连接层等组成&#xff0c;如…

Unity3D学习笔记之六创建更多的Prefab

在写完第五篇后&#xff0c;因为不知名的原因&#xff0c;我突然不能够上传100KB以上的图片在博客中了。等了几天还是这样&#xff0c;所以我用PS把图片的分辨率一张张调低&#xff0c;让图片的大小都在100左右&#xff0c;将积攒了四篇的学习笔记一起发上来&#xff0c;也算弥…

iOS底层探索(二) - 写给小白看的Clang编译过程原理

iOS底层探索(一) - 从零开始认识Clang与LLVM 写在前面 编译器是属于底层知识&#xff0c;在日常开发中少有涉及&#xff0c;但在我的印象中&#xff0c;越接近底层是越需要编程基本功&#xff0c;也是越复杂的。但要想提升技术却始终绕不开要对底层原理的探究&#xff0c;很多资…

四、构建Node Web程序

---恢复内容开始--- 一、HTTP 服务器的基础知识 1、Node如何向开发者呈现HTTP请求 2、一个用“Hello World”做响应的HTTP服务器 它用了默 认的状态码200&#xff08;表明成功&#xff09;和默认的响应头 3、读取请求头及设定响应头 Node提供了几个修改HTTP响应头的方法&#x…

datagrid 什么时候结束编辑_2020年中考结束后,什么时候出分?什么时候报志愿?...

导语7月19日下午16:00&#xff0c;2020年北京中考正式落下帷幕。考试结束后&#xff0c;很多家长和考生都会长舒一口气&#xff0c;但北京中考在线团队提醒你&#xff0c;现在还不是放松的时刻&#xff0c;中考结束后&#xff0c;还有成绩查询和填报志愿等重要事件等着你。那么…

Unity3D学习笔记之七创建自己的游戏场景

到现在为止我们已经拥有了比较完备的Prefab&#xff0c;已经可以创建宏大的游戏场景&#xff0c;并以第一人称视角在场景中漫游了。这里给大家做个小的示范&#xff0c;建一个小场景大家在创建场景的时候需要自由发挥&#xff0c;做个尽量大的场景出来。这一系列教程以及素材均…

excel if in函数_【Excel函数】Small+Index+IF 一对N返回

通常情况下&#xff0c;Vlookup和lookup函数只能返回满足条件的第一个&#xff0c;剩余的都不会返回。 这也是其函数的一个弊端之一。 若是按照条件&#xff0c;返回所有满足条件的数据&#xff08;1->N&#xff09;的&#xff0c;可是适用组合函数。 Index返回位置&#xf…

Unity3D学习笔记之八为场景添加细节(一)

这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》&#xff0c;下载链接附在第二篇学习笔记中。我花了30分钟做了一个中等大小的迷宫场景&#xff0c;不知道大家自己发挥&#xff0c;做的场景大小如何。在完成场景之后&#xff0c…

mysql数据库表的管理(增删改)

表字段管理1. 添加到末尾alter table 表名 add 字段名 数据类型;2 添加到开头alter table 表名 add 数据类型 first;3. 添加到指定位置alter table 表名 add 新字段名 数据类型 after 原有字段名&#xff1b;4. 删除字段alter table 表名 drop 字段名;5. 修改数据类型alter ta…

哪个app最费电_微波炉和烤箱,买哪个划算?

微波炉和烤箱不能说买哪个划算&#xff0c;而是看哪个更适合&#xff1f;我家微波炉和烤箱两个都有&#xff0c;所以这个问题我来回答一下。虽然外形上看起来&#xff0c;微波炉和烤箱似乎没有多大的区别&#xff0c;从功能上看&#xff0c;它们也都是加热&#xff0c;但它们侧…

MATLAB数值计算与符号运算

符号计算 存放的是精确数据&#xff0c;耗存储空间 &#xff0c;运行速度慢&#xff0c;但结果精度高&#xff1b; 数值计算则是以一定精度来计算的&#xff0c;计算结果有误差&#xff0c;但是运行速度快。转载于:https://www.cnblogs.com/shawnchou/p/10927680.html

Unity3D学习笔记之九为场景添加细节(二)

上节为场景中添加了第一块带有碰撞器的石头&#xff0c;本节我们来利用Prefab&#xff0c;将场景细节都添加进去&#xff0c;并且做的更完善。这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》&#xff0c;下载链接附在第二篇学习…