hadoop2.6.0 完全分布式安装教程
最近用最新的hadoop2.6.0 版本搭了一个环境
步骤如下:
首先介绍一下软硬件:台式机win8.1,用VMware11.1建了三个Linux centos 6.5 64位的虚拟机。三个虚拟机的用户名和主机名
用户名 主机名
ckj1 hadoop-master
ckj2,ckj1 hadoop-slave1
ckj3,ckj1 hadoop-slave2
但是,建议大家建虚拟机时就把用户名选成一样的。 我现在还不知道不同用户名之间怎么在不同节点中用hadoop通信。
一开始,我是拒绝用同一用户名的,觉得太low。但是现实duang的一下把我脆弱的自尊给击碎。所以我在hadoop-slave1和 hadoop-slave2上又创建了一个用户ckj1。具体原因后面再说。
正式开始:
第一部分:编译hadoop2.6.0的native库
一、准备
1.1下载依赖包、jdk、hadoop 2.6.0-src.tar.gz、hadoop2.6.0.tar.gz
前提是虚拟机能连外网,只要在VMware编辑菜单里,选择虚拟机编辑,在里面选上桥接,而不是NAT。ping一下外网检测是不是连上外网了。
本人下的是jdk1.7版本,为啥不是jdk1.8,因为我亲测jdk1.8出错,网上说是因为jdk1.8脚本注释尾部有<\ul>,hadoop识别错误会报错。虽然还可以改,但是比较麻烦。
具体怎么解压我就不说了,tar -zxvf .......
下载依赖包:
yum install gcc
yum intall gcc-c++
yum install make
yum install cmake
yum install openssl-devel
yum install ncurses-devel
yum install autoconf automake libtool lzo-devel zlib-devel
为啥要装这些依赖包,因为没他们编译无法正常进行。
我把这些软件都安装在了/opt/modules/;安装包都放在了/opt/softwares/下
其实这些信息可以在hadoop 2.6.0-src.tar.gz、BUILDING.txt下有介绍。
1.2 安装maven
我安装的是apache-maven-3.3.1-bin.tar.gz,而不是传说中的apache-maven-3.0.5-bin.tar.gz。因为老版本可能是跟jdk1.8(最初装的是这个版的jdk)不兼容,总是不能正确安装。换了一个新版本,问题就解决了。然后是添加全局变量:MAVEN_HOME和PATH。然后是. /etc/profile,使修改生效。
然后修改vi /opt/modules/apache-maven-3.0.5/conf/settings.xml
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexusosc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
在<profiles></profiles>内新添加
<profile>
<id>jdk-1.7</id>
<activation>
<jdk>1.7</jdk>
</activation>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
这里必须注意的是:在<profiles></profiles>内新添加,<profile>......</profile>。二者单复数不一样。原因好像是因为,改了镜像,有些文件就可以下或者下的比较快。
1.3、安装protobuf-2.5.0
先解压缩,然后执行./configure 再执行make 最后是make install;
装它依赖一些包,比如:gcc gcc-c++ make等
这个不用设置环境变量
1.4、安装ant(可以不装)
记得设环境变量(跳过不叙);
1.5安装findbugs-3.0.0.tar.gz
记得设环境变量;
二、编译
进入源码文件夹:/opt/softwares/hadoop 2.6.0-src.tar.peiz(我解压缩到这了)
mvn clean
mvn package -Pdist,native,docs -DskipTests -Dtar
然后是漫长的等待。。。。。。
编译当然会出问题,我已在之前的博客中说了,在此不废话了。
第二部分:安装
1.1解压缩
1.2配置主机名,配置hosts文件,将ip地址和主机名绑定,这里包括三个主机名对应的ip地址;并且要把这份hosts远程拷贝到其他两台虚拟机上相应的目录下。用scp命令。主机名在/etc/sysconfig/network下改HOSTNAME=hadoop-master
1.3配置ssh 无密码登陆
这里要着重讲啦!
ssh是一个加密的通信协议。在用户主目录下的隐藏文件中~/.ssh 创建公钥和私钥。生成密钥的算法有两个,rsa和dsa
步骤:
1.ssh-keygen -t rsa
2.一路回车(三次好像)
3.将公钥拷贝到当前目录下的authorized_keys文件里。cat .ssh/id_rsa.pub >>.ssh/authorized_keys
4.以上操作在其他两台虚拟机的用户下都操作一遍。
5.若是A远程访问B,则将A的公钥添加到B的authorized_keys里。authorized_keys里存放的都是可以免密码登陆的机器的公钥。具体协议可以问度娘。这里需要使用scp命令。
6.重点:本人此前理解错误。之前,我认为A的用户ckj1远程登陆B机,可以用ckj1 的用户去访问。其实是不行的。这就像QQ里的远程控制一样,是别人在他的电脑上,以你的用户账号对你的电脑进行操作。具体的说:A台机子用户ckj1,B机子用户ckj2,则在A机上命令ssh ckj1@B-ip 则登陆失败;而ssh ckj2@B-ip则成功。ssh B-ip的操作其实就是ssh ckj1@B-ip。但是hadoop上运行命令star-dfs.sh,是默认的以ckj1的用户名去访问B机,结果是访问失败,于是HDFS启动失败。所以我只好在B机和C机上重新建了一个用户ckj1。然后在ckj1下重新生成密钥,重复上面过程。
7重点:这里面.ssh和改目录下的文件权限是非常重要的,千万不能弄错。
chmod 700 .ssh
我犯的错是:./ssh/的权限为760,系统认为这个存在安全漏洞,然后拒绝了正常用户的登陆请求
1.4修改hadoop文件目录下文件的用户
chown -R ckj1 hadoop-2.6.0
所以我觉得,当时把hadoop安装在用户目录下就好了
1.5修改配置文件
hadoop配置过程:要实现分布式环境,配置过程是最为重要的,
这里要涉及到的配置文件有7个:
~/hadoop/etc/hadoop/hadoop-env.sh
~/hadoop/etc/hadoop/yarn-env.sh
~/hadoop/etc/hadoop/slaves
~/hadoop/etc/hadoop/core-site.xml
~/hadoop/etc/hadoop/hdfs-site.xml
~/hadoop/etc/hadoop/mapred-site.xml
~/hadoop/etc/hadoop/yarn-site.xml
hadoop2.6.0 完全分布式安装教程相关推荐
- Hadoop2.7.0伪分布式安装教程
2019独角兽企业重金招聘Python工程师标准>>> 总是要学点什么是吧,Java学大数据据说很快,就从这面入手了,正好项目在使用可以get一项新技能了,距离全栈工程师又进了一步不 ...
- Hadoop2.6.0完全分布式安装
1.修改主机名称 对master/slave1/slave2同时配置为Master/Slave1/Slave2 master@Master:~$ sudo gedit /etc/hostname 上述 ...
- hadoop+hive-0.10.0完全分布式安装方法
hadoop+hive-0.10.0完全分布式安装方法 1.jdk版本:jdk-7u60-linux-x64.tar.gz http://www.oracle.com/technetwork/cn/j ...
- 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境
近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...
- Hadoop2.2.0伪分布式环境搭建(附:64位下编译Hadoop-2.2.0过程)
Hadoop2.2.0伪分布式环境搭建: 写在前面:Hadoop2.2.0默认是支持32位的OS,如果想要在64位OS下运行的话,可以通过在64位OS下面编译Hadoop2.2.0来实现,编译的操作步 ...
- mysql 8.0 手动安装教程_mysql 8.0.13手动安装教程
本文为大家分享了mysql 8.0.13手动安装教程,供大家参考,具体内容如下 一.步骤解读 1.下载MySQL 下载地址 选择 Downloads-->Community-->MySQL ...
- 基于Hadoop2.2.0版本号分布式云盘的设计与实现
基于Hadoop2.2.0版本号分布式云盘的设计与实现 一.前言 在学习了hadoop2.2一个月以来,我重点是在学习hadoop2.2的HDFS.即是hadoop的分布式系统,看了非常久的源代码看的 ...
- lumion8.0破解版安装教程
注意:下载lumion8.0中文破解版地址 lumion8.0破解版安装教程图解: 1.下载本站提供的lumion pro 8.0原程序和破解文件,解压分卷安装包,运行"Lumion_8_0 ...
- 鸿蒙os3.0系统下载,鸿蒙OS2.0系统下载安装教程
近日,华为鸿蒙OS2.0系统Beta版本已经发布了,满足需求的用户,可提前抢先在手机中下载安装鸿蒙系统进行体验.那么鸿蒙系统怎么安装?下面小编为大家带来了华为鸿蒙os2.0系统下载安装教程,我们一起来 ...
最新文章
- 5.C#-if-else分支语句结构
- HashSet源码解析
- 180904 再卖菜 ccf
- OpenCV非真实感渲染模块的实例(附完整代码)
- 初中计算机word教案ppt,初中信息技术课件 用Word处理文字.ppt
- php繁体输出,PHP输出控制功能在简繁体转换中的应用
- Matplotlib安装感想
- list工具类 ListUtils.java
- 活动目录系列之二:单域环境的实现(单站点)
- 最新揭秘:FaceBook网站架构图
- WEBPACK+ES6+REACT入门(2/7)-在项目中使用react以及JSX语法介绍
- SC/Tetra.v7-ISO 1DVD(流体模拟分析)
- python+selenium设置chrome代理的方式
- 玩转代码|Google Map api国内正常使用该如何配置
- 手机蓝牙和蓝牙模块进行通信
- python 利用递归实现全排列
- 什么是模块化,为什么要模块化?
- 首席经济学家金岩石:区块链是机器创造的信任,这种信任是所有交易的基础
- 五大典型系统集成商 你是哪一类?
- 使用winhex对fat16文件系统分析