最近用最新的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个:

  1. ~/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 完全分布式安装教程相关推荐

  1. Hadoop2.7.0伪分布式安装教程

    2019独角兽企业重金招聘Python工程师标准>>> 总是要学点什么是吧,Java学大数据据说很快,就从这面入手了,正好项目在使用可以get一项新技能了,距离全栈工程师又进了一步不 ...

  2. Hadoop2.6.0完全分布式安装

    1.修改主机名称 对master/slave1/slave2同时配置为Master/Slave1/Slave2 master@Master:~$ sudo gedit /etc/hostname 上述 ...

  3. 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 ...

  4. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  5. Hadoop2.2.0伪分布式环境搭建(附:64位下编译Hadoop-2.2.0过程)

    Hadoop2.2.0伪分布式环境搭建: 写在前面:Hadoop2.2.0默认是支持32位的OS,如果想要在64位OS下运行的话,可以通过在64位OS下面编译Hadoop2.2.0来实现,编译的操作步 ...

  6. mysql 8.0 手动安装教程_mysql 8.0.13手动安装教程

    本文为大家分享了mysql 8.0.13手动安装教程,供大家参考,具体内容如下 一.步骤解读 1.下载MySQL 下载地址 选择 Downloads-->Community-->MySQL ...

  7. 基于Hadoop2.2.0版本号分布式云盘的设计与实现

    基于Hadoop2.2.0版本号分布式云盘的设计与实现 一.前言 在学习了hadoop2.2一个月以来,我重点是在学习hadoop2.2的HDFS.即是hadoop的分布式系统,看了非常久的源代码看的 ...

  8. lumion8.0破解版安装教程

    注意:下载lumion8.0中文破解版地址 lumion8.0破解版安装教程图解: 1.下载本站提供的lumion pro 8.0原程序和破解文件,解压分卷安装包,运行"Lumion_8_0 ...

  9. 鸿蒙os3.0系统下载,鸿蒙OS2.0系统下载安装教程

    近日,华为鸿蒙OS2.0系统Beta版本已经发布了,满足需求的用户,可提前抢先在手机中下载安装鸿蒙系统进行体验.那么鸿蒙系统怎么安装?下面小编为大家带来了华为鸿蒙os2.0系统下载安装教程,我们一起来 ...

最新文章

  1. 5.C#-if-else分支语句结构
  2. HashSet源码解析
  3. 180904 再卖菜 ccf
  4. OpenCV非真实感渲染模块的实例(附完整代码)
  5. 初中计算机word教案ppt,初中信息技术课件 用Word处理文字.ppt
  6. php繁体输出,PHP输出控制功能在简繁体转换中的应用
  7. Matplotlib安装感想
  8. list工具类 ListUtils.java
  9. 活动目录系列之二:单域环境的实现(单站点)
  10. 最新揭秘:FaceBook网站架构图
  11. WEBPACK+ES6+REACT入门(2/7)-在项目中使用react以及JSX语法介绍
  12. SC/Tetra.v7-ISO 1DVD(流体模拟分析)
  13. python+selenium设置chrome代理的方式
  14. 玩转代码|Google Map api国内正常使用该如何配置
  15. 手机蓝牙和蓝牙模块进行通信
  16. python 利用递归实现全排列
  17. 什么是模块化,为什么要模块化?
  18. 首席经济学家金岩石:区块链是机器创造的信任,这种信任是所有交易的基础
  19. 五大典型系统集成商 你是哪一类?
  20. 使用winhex对fat16文件系统分析

热门文章

  1. CANoe:环境变量vs系统变量的区别
  2. Xiaojie雷达之路---拉伸信号处理
  3. 交换路由报文的调度和队列图文详解: SP RR WRR WDRR
  4. HDU 5597 GTW likes function 打表
  5. golang使用excelize导出Excel表格数据
  6. BUUCTF 还原大师 1
  7. 酒庄页面HTML5,基于jsp的酒庄管理系统-JavaEE实现酒庄管理系统 - java项目源码
  8. fritzing导入元件_如何在fritzing中添加自己想要的器件
  9. 3D渲染--OpenGL
  10. 大人,时代变了!做测试也要懂Python开发!