(第2篇)一篇文章教你轻松安装hadoop
摘要: 这篇文章将会手把手教你安装hadoop,只要你细心按照文章中的步骤操作,hadoop肯定能正确安装,绝对不会让你崩溃
博主福利 给大家赠送一套hadoop视频课程
授课老师是百度 hadoop 核心架构师
内容包括hadoop入门、hadoop生态架构以及大型hadoop商业实战案例。
讲的很细致, MapReduce 就讲了 15 个小时。
学完后可以胜任 hadoop 的开发工作,很多人学的这个课程找到的工作。
(包括指导书、练习代码、和用到的软件都打包了)
先到先得先学习。联系老师微信ganshiyu1026,备注OSchina。即可免费领取
部分视频截图展示


如果你看了我的上一篇文章,那此时你对hadoop已经有了一个大概的了解,那接下来这篇文章就教大家怎么安装hadoop环境,只要你用心,仔细的跟着文章中讲到的做,肯定能正确安装。
安装hadoop环境
由于大家在学习hadoop时候,主要以Hadoop 1.0环境为主学习就可以,所以这主要介绍如何搭建Hadoop 1.0分布式环境。
整个分布式环境运行在带有linux操作系统的虚拟机上,至于虚拟机和linux系统的安装这里暂不做过多介绍。
安装Hadoop分布式环境:
1) 下载Hadoop安装包:
百度网盘下载地址:点击下载 中可以找到hadoop-1.2.1-bin.tar.gz文件
使用securtCRT的rz功能上传hadoop-1.2.1-bin.tar.gz这个文件到虚拟机的系统中。
同样在securtcrt中ll时,能得到

2) 安装Hadoop安装包:
l 首先将安装包解压缩:

l Linux终端执行cd进入相应目录:

l 新增tmp目录,mkdir /home/hadoop/hadoop-1.2.1/tmp

3) 配置Hadoop:
l 使用vim修改master文件内容:

将localhost修改成master:

最后保存退出。
l 修改slaves文件
注意,这里准备设置几台slave机器,就写几个,因为当前分布式环境有四个虚拟机,一台做master,三台做slave,所以这里写成了三个slave

l 修改core-site.xml文件:

【注意】中间的ip地址,不要输入192.168.2.55,根据自己的情况设置。
l 修改mapred-site.xml文件:

【注意】记得value的内容要以http开头。
l 修改hdfs-site.xml文件:

其中,<value>3</value>视情况修改,如果有三台slave机器,这里设置成3,如果只有1台或2台,修改成对应的值即可。
l 修改hadoo-env.sh文件
在
下新增export JAVA_HOME=/home/hadoop/jdk1.6.0_45/

l 修改本地网络配置:编辑/etc/hosts文件


【注意】Ip地址根据具体的情况要进行修改。
4) 复制虚拟机
l 关闭当前虚拟机,并复制多份

【注意】要选择初始化所有网卡的mac地址

根据自己需求,复制2到3台虚拟机作为slave,同样要确认网络连接方式为桥接。
l 设置所有机器的IP地址
分别启动虚拟机,修改机器的ip 地址,在虚拟机的图形界面里,选择设置
单击打开,在弹出来的窗口里,选择

打开
,修改成如下的形式,选择ipv4 ,分配方式选择成manual。
【注意】具体的ip地址,根据实际的情况来设置,因为培训教室里都是192.168.2.x的网段,所以我这里设置成了192.168.2.x,每个人选择自己的一个ip地址范围,注意不要和其它人冲突了。

5) 建立互信关系
l 生成公私钥,在master机器的虚拟机命令行下输入ssh-keygen,一路回车,全默认

l 复制公钥
复制一份master的公钥文件,cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

同样,在所有的slave机器上,也在命令行中输入ssh-keygen,一路回车,全默认
在所有的salve机器上,从master机器上复制master的公钥文件:

l 测试连接
在master机器上分别向所有的slave机器发起联接请求:
如:ssh slave1

【注意】记得一旦联接上,所有的操作,就视同在对应的slave上操作,所以一定要记得使用exit退出联接。
6) 启动Hadoop:
l 初始化:在master机器上,进入/home/hadoop/hadoop-1.2.1/bin目录

在安装包根目录下运行./hadoop namenode –format来初始化hadoop的文件系统。

l 启动
执行./start-all.sh,如果中间过程提示要判断是否,需要输入yes

输入jps,查看进程是否都正常启动。

如果一切正常,应当有如上的一些进程存在。
7) 测试系统
输入./hadoop fs –ls /

能正常显示文件系统。
如此,hadoop系统搭建完成。否则,可以去/home/hadoop/hadoop-1.2.1/logs目录下,查看缺少的进程中,对应的出错日志。
(第2篇)一篇文章教你轻松安装hadoop的更多相关文章
- 一篇文章教你轻松使用fastjson
前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y JSON相信大家对他也不陌生了,前后端交互中常常 ...
- 一篇文章教你如何用R进行数据挖掘
一篇文章教你如何用R进行数据挖掘 引言 R是一种广泛用于数据分析和统计计算的强大语言,于上世纪90年代开始发展起来.得益于全世界众多 爱好者的无尽努力,大家继而开发出了一种基于R但优于R基本文本编辑器 ...
- 一篇文章教你学会ASP.Net Core LINQ基本操作
一篇文章教你学会ASP.Net Core LINQ基本操作 为什么要使用LINQ LINQ中提供了很多集合的扩展方法,配合lambda能简化数据处理. 例如我们想要找出一个IEnumerable< ...
- 一篇文章教你学会基础的HTML
html是学习做网页的基础,漂亮的网页与布局就是由有些html代码组成,大家看完这篇文章就可以简单的了解html了,多写多练 如果你不致力于成为美工的话,那么作为开发人员,可以读懂HTML.必 ...
- 一篇文章教你读懂Makefile
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professiona ...
- 一篇文章教你如何用 Python 记录日志
前言: 这篇文章是我copy别人的,但是个人认为讲的真的很细致,有原理有实例,不仅仅只教你如何使用日志更会叫你知道日志的原理,真的非常棒,虽然文章很长,也许你不会认认真真读完, 但是当你遇到问题时这篇 ...
- 一篇文章教你读懂UI绘制流程
最近有好多人问我Android没信心去深造了,找不到好的工作,其实我以一个他们进行回复,发现他们主要是内心比较浮躁,要知道技术行业永远缺少的是高手.建议先阅读浅谈Android发展趋势分析,在工作中, ...
- 一篇文章教你如何部署.NET Core WPF应用,你还在等什么?
DevExpress广泛应用于ECM企业内容管理. 成本管控.进程监督.生产调度,在企业/政务信息化管理中占据一席重要之地.通过DevExpress WPF Controls,您能创建有着强大互动功能 ...
- 一篇文章教你快速上手接口管理工具swagger
一.关于swagger 1.什么是swagger? swagger是spring fox的一套产品,可以作为后端开发者测试接口的工具,也可以作为前端取数据的接口文档. 2.为什么使用? 相比于传统的接 ...
随机推荐
- 【★★★★★】提高PHP代码质量的36个技巧
http://www.cnblogs.com/52php/p/5658031.html 不要直接使用 $_SESSION 变量 某些简单例子: $_SESSION['username'] = $use ...
- 汕头市队赛 SRM 07 D 天才麻将少女kpm
这道题放了很久还是回来补了 D 天才麻将少女KPM SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. KPM上周叒打了n场麻将,但她这次又没控分,而且 ...
- python技巧 一等函数
函数在python中作为一等函数,具有以下特点: 1.可以作为参数传递给其他函数 2.作为其他函数的值返回 3.能赋值给变量或数据结构中的元素 4.在运行的时候创建 In [1]: def add(x ...
- Django学习手册 - 登录装饰器
# 装饰器定义 def auth(func): def inner(request,*args,**kwargs): v = request.COOKIES.get("user") ...
- aar jar包打包
使用Android Studio Module的方式编译出aar和jar包: aar包:打aar包时,gradle compile依赖编译进来的包不会被打到aar包中,所以接入aar的应用仍然需要添加 ...
- JS的call方法的作用解释,简单易懂
先看看关于call()的官方解释,“调用一个对象的一个方法,以另一个对象替换当前对象.”,看了这样的解释,或许让你更摸不着头脑了.看例子: var x = "我是全局变量"; // ...
- 关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决
转自:http://hi.baidu.com/qinfengxiaoyue/item/ff262ccfb53b4c2ba0b50a89 引自:http://blog.csdn.net/sptoor/a ...
- WEBSHELL恶意代码批量提取清除工具
场景 使用D盾扫描到WEBSHELL后可以导出有路径的文本文件. 最后手动去把WEBSHELL复制到桌面然后以文件路径命名,挨个删除. D盾界面是这样的. 手动一个个找WEBSHELL并且改名效率太低 ...
- Python中的元类
从前面"Python对象"文章中了解到,在Python中一切都是对象,类可以创建实例对象,但是类本身也是对象. class C(object): pass c = C() prin ...
- 用conda管理Python包
用conda管理Python包 conda是一个很好的包管理工具,在用了Anaconda之后一直不知道怎么用conda进行管理,其实很简单,就是没人教,慢慢自己摸索了一点.直接在Anaconda的命令 ...