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 *
版权声明:本文为博主原创文章,未经博主允许不得转载。