hadoop学习笔记411

安装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 * 

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

原文地址:https://www.cnblogs.com/mrcharles/p/4731785.html