安装hadoop 



1. 免秘钥 

使用hadoop用户 

ssh-keygen -t rsa 



cp id_rsa.pub authorized_keys 

cat id_rsa.pub>>authorized_keys 





使用ssh测试,如果失败: 

情况1: authorized_keys 权限过高: 

chmod 600 authorized_keys 

情况2: sshd_config 



2. 安装hadoop 

tar -zxvf hadoop-1.2.1.tar.gz 



配置hadoop 

$HADOOP_HOME/conf 

1.  修改core-site.xml 

a.配置Namenode主机及端口号 

b.配置制定临时文件夹路径,tmp文件夹要自行创建。 

<configuration> 

<property> 

<name>fs.default.name</name> 

<value>hdfs:192.168.242.132:9000</value>//这个就是namenode的地址和端口号 

</property> 



2.  修改hadoop-env.sh文件 

修改JDK的路径 



3.  修改hdfs-site.xml 

节点机数量为2,value为2 

<property> 

<name>dfs.replication</name>//文件块被存储几份//在不同的机架存储, 

<value>2</value> 

</property> 

 <property> 

<name>dfs.name.dir</name>  //存储映射文件 

<value>/opt/hadoop/name</value> 

</property> 

 <name>dfs.data.dir</name>// 存储在哪个位置 

<value>/opt/hadoop/data</value> 

</property> 

<name>dfs.tmp.dir</name>//临时文件,如果不指定,默认存在Linux默认的tmp文件目录下 

<value>/opt/hadoop/tmp</value> 

//------------------------------ 

</property> 

 <name>dfs.blocksize</name> 

<value>64MB</value> 

</property> 

  

4.  修改mapred-site.xml 

   配置job tracter监听端口监听端口 

<property> 

<name>mapred.job.tracker</name> 

<value>node01:9001</value> 

</property> 

//------------------------------------------------------或者本机 

<property> 

<name>mapred.job.tracker</name> 

<value>192.168.242.132:9001</value> 

</property> 



    

5.  修改master 和 slaves 

直接写本机的IP地址或者slaves IP地址(这个就是完全分布式) 

  

修改master文件 

添加namenode 主机名 尽量写IP地址 



//--------------------------------755---------------------- 只能用hadoop账号-------------------- 



执行权限: -drwx-rw-r-- 

- -  



755  

124 



3. 格式化 





测试文件 



虚拟机克隆不能够克隆IP地址的解决方法是 找到etc/udev/rules.d/70-persistent-net.rules找到eth1 

然后再次修改sysconfig中的network-script的 

00:0c;29:04:1f:ac 

2c:4e:55 

master 192.168.242.132 

slave1 192.168.242.134 

slave2 192.168.242.135 



 //------------------------------------------------------------------------------------------------------------------------------------------------------------- 

  

完全分布式: 



1. 机器间免秘钥 

新增slave上生成秘钥文件 

ssh-keygen -t rsa 



scp master:/home/hadoop/.ssh/authorized_keys /home/hadoop/.ssh/ 



cat id_rsa.pub>>authorized_keys 

scp /home/hadoop/.ssh/authorized_keys  master:/home/hadoop/.ssh/ 



测试ssh 免秘钥登录 



2. 修改master文件($hadoop/home/conf/master) 



制定namenode ip地址 

拷贝到所有的机器上 





2. 修改slave文件($hadoop/home/conf/slave 



制定所有的slave的 ip地址 



拷贝到所有的机器上 

3.  



防火墙关闭 权限 









ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAqo52ERhoNZ1PP31YdjA9ixVQV46AOjD2HJVYnBphwHkmZjYt1amZeRz/jv+LyqdTyJ/qxbfKohg8XCxh8Iv3jAaok1Hm+Vpmv/G6xCmwgPWEuqSIM1/fK2npqMYhHANtUify3fvppMZkylHKDfb1WqOOqE4F8+kUIYb3ttv9keQCM8AfEYLw2L9dnlOTjtNjdVZUSkrl/Gb06ApabwJEzl8rV+RM73EmhADnJV2jYXhQ4uOIXs59A2Y2M1kPbtq8EtMydXAu0RMAS2ryRf89hz8fbyiLB1+Vmtu2TOJBJoFdJHRpeIU1VXiFO5sBTIk1Qtep3QBIaZ5go7V+nP7jcQ== hadoop@slave1 

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw4Yvjdu0kqddArSUZqiFvK6OXpYMfPG+Z0P4m7CvH8AM0XlB562TXj8cRO+IB73z8h0ZaDBtlvYDFCk7brccvns7I/vqbIGl3QTC9UnZ1vn+OvjViMB32pigISkvnA6CjDiWFj8kiclPIfNIoMAQXoi6tnK+WwK3VP2hFGSpFbua1H1opCplhYybzPVoLH6EhU9nhCicYhxC9fFDlJ/sYNJgFFTDzXLfw1SVFnE7NVCdoNCfYFe08YDeS/TSrCC0U6HtKw1hQx6ZgMgXfIv43REbq6IuhJSQE7kfDvExCTQ/vA5CnE/bibytQJuTrPNI69VeCPFlKJIGQhnvNJ+JkQ==  hadoop@slave2

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAooZ9CSQTg22BH6JKsczVAVojXYp77LXzHiU998zqZoY3ztHXU0uOPFz5fvEI+08v4P4S6p/QUnPwRG2FSExZ3RseooM0q2ZQTcC7MxNQ8GcWF/pwrlvF32EhEMo47hfuGnFlqJ+UAloypZKOJS/6Qvq9zXs1HLcyFytS1zremM2qtyTIdxcTxBjYEFXPn2PwzTm60I/PV/QmXUBHZYYmo/UqYpjy8hNjzR4OzVkaG5OyucoWC6DSd2yPHKWKcfv/10M5RbcSkvjwHbJf1wThzBN8mGPKuWjb63yreFROfq6hQVnWV7Q/IjU/lDvO2p0VMHqhaIaH83814gDzlrflLw== hadoop@master 





 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs  

 in /opt/hadoop/hadoop-1.2.1/data: namenode namespaceID = 152321483; datanode namespaceID = 1180969193 



x修改Version的namespaceID和 namenode namespaceID一致 

 vi /opt/hadoop/hadoop-1.2.1/data/current/VERSION 

 namespaceID = 152321483; datanode namespaceID = 1180969193 



#Mon Apr 13 12:08:43 CST 2015 

namespaceID=152321483 

storageID=DS-340743364-127.0.0.1-50010-1428876505344 

cTime=0 

storageType=DATA_NODE 

layoutVersion=-41 







每次新加入一个datanode的时候,要把该机器上的data文件夹下的文件清空  rm -rf *

版权声明:本文为博主原创文章,未经博主允许不得转载。

hadoop学习笔记411的更多相关文章

  1. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  2. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

  3. Hadoop学习笔记(6) ——重新认识Hadoop

    Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...

  4. Hadoop学习笔记(2)

    Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...

  5. Hadoop学习笔记(5) ——编写HelloWorld(2)

    Hadoop学习笔记(5) ——编写HelloWorld(2) 前面我们写了一个Hadoop程序,并让它跑起来了.但想想不对啊,Hadoop不是有两块功能么,DFS和MapReduce.没错,上一节我 ...

  6. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  7. Hadoop学习笔记(2) ——解读Hello World

    Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...

  8. Hadoop学习笔记(1) ——菜鸟入门

    Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...

  9. Hadoop学习笔记(两)设置单节点集群

    本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...

随机推荐

  1. oracle序列sequence

    序列 定义一个序列,自动产生连续的整数.也称序列生成器(sequence generator)产生序列号.在多用户环境下该序列生成器特别有用,可生成各返回序列号而不需要磁盘I/O或事务封锁.序列号为O ...

  2. KVC基本使用

    首先,创建两个类.person类和book类.如图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/ ...

  3. HashMap与 HashTable, Treemap的区别

    (一)HashMap 1.HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null; 2.HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数 ...

  4. JSON格式之GSON解析

    JSON格式之GSON解析 最近在做websocket相关,项目需要JSON解析.相较之下感觉google的GSON解析不错. JAVA后台 Gson提供了fromJson()方法来实现从Json相关 ...

  5. 2-phase-commit 3-phase-commit

    2 prepare commit rollback acknowledge

  6. Javascript模块化编程-require.js[3]

    很多情况下,JS都是放到一个或者多个文件里,只要加载这些文件就可以了. 但是对于一些小型项目而言,这种写法是没有任何问题的. 但是对于某些大型网站,JS的量是很大的,如果还采用这种方式,网站时常在加载 ...

  7. JavaScript如何判断非空

    JavaScript判断非空的语句一般为: var elvis; if (typeof elvis !== "undefined" && elvis !== nul ...

  8. quick-cocos2d-x教程11:实现http通信,并与站点php对接,可实现登录等常见功能

    手机游戏眼下是弱联网居多,http登录是经常使用功能.我们如今就来实现. 在启动时候.自己主动请求http. function MainScene:ctor()     local url = &qu ...

  9. Zookeeper四字命令

    ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 ...

  10. swift中反向循环

    First of all, protocol extensions change how reverse is used: for i in (1...5).reverse() { print(i) ...