Hadoop的安装配置

3台机器:master(10.0.0.200),slave1(10.0.0.201),slave2(10.0.0.202) 

系统都为Centos5

假设将master做为namenonde,将slave1和slave2做为datanode

1.在master:(在slave1和slave2上操作和以下相同)

vi/etc/hosts

10.0.0.200master

10.0.0.201slave1

10.0.0.202slave2

2.用root登陆,建立hadoop用户

useraddhadoop

passwdhadoop

输入111111做为密码

3.su-hadoop#进入hadoop用户目录

ssh-keygen-trsa#建立ssh目录,敲回车到底

cd.ssh

scp-rid_rsa.pubhadoop@slave1:/home/hadoop/.ssh/authorized_keys_m

#将master上的密钥传到slave1的hadoop用户下,重命名为authorized_keys_m

scp-rid_rsa.pubhadoop@slave2:/home/hadoop/.ssh/authorized_keys_m

#将master上的密钥传到slave2的hadoop用户下,重命名为authorized_keys_m

用hadoop用户进入slave1

scp-rid_rsa.pubhadoop@master:/home/hadoop/.ssh/authorized_keys_s1

#将slave1上的密钥传到master的hadoop用户下

用hadoop用户进入slave2

scp-rid_rsa.pubhadoop@master:/home/hadoop/.ssh/authorized_keys_s2

#将slave2上的密钥传到master的hadoop用户下

在master,slave1和slave22上执行以下操作

catid_rsa.pub>>authorized_keys_m(_s)#将本地密钥添加authorized_keys

这样主节点和从节点之间就可以不用密码直接ssh访问

4.安装JDK到/usr/local下命名为jdk1.6

然后:

编辑三台机器的/etc/profile,增加如下内容

exportJAVA_HOME=/usr/local/jdk1.6

exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

exportPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

exportHADOOP_HOME=/home/hadoop/hadoop-0.19.0

exportPATH=$PATH:$HADOOP_HOME/bin

-----------------------------------------

hadoop配置:

1.将下载好的hadoop-0.19.0.tar.gz文件上传到master的/home/hadoop

tarzxvfhadoop-0.19.0.tar.gz#解压文件

2.修改4个文件hadoop-site.xml,hadoop-env.sh,masters,slaves

masters:

master

slaves:

slave1

slave2

hadoop-env.sh

exportJAVA_HOME=/usr/local/jdk1.6

hadoop-site.xml:

<?xmlversion="1.0"?>

<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>

<!--Putsite-specificpropertyoverridesinthisfile.-->

<configuration>

<property>

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

<value>hdfs://master:54310/</value>

</property>

<property>

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

<value>hdfs://master:54311/</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>#指定HDFS中每个Block被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/tmp/</value>#hadoop的tmp目录路径

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/name/</value>#hadoop的name目录路径

</property>

<property>

<name>mapred.child.java.opts</name>

<value>-Xmx512m</value>#进程

</property>

<property>

<name>dfs.block.size</name>

<value>67108864</value>

<description>Thedefaultblocksizefornewfiles.</description>

</property>#新文件默认block大小

<property>

<name>dfs.permissions</name>

<value>false</value>#效验HDFS文件系统权限

</property>

<property>

<name>dfs.web.ugi</name>

<value>hadoop,supergroup</value>#hadoop页面访问权限

</property>

<property>

<name>heartbeat.recheck.interval</name>

<value>5000</value>#心跳间隔时间,5000秒=40分

</property>

</configuration>

3.配置好后先在/home/hadoop下建立/tmp目录

然后进入hadoop的bin目录hadoopnamenode-format格式化namenode

start-dfs启动namenode上的hadoop

netstat-tnl查看50070,54310,50090端口是否启动

http://master:50070访问

4.将配置好的hadoop打包

cd/home/hadoop

tar-cvfhadoop-0.19.0.tar.gzhadoop-0.19.0/

scp-rhadoop-0.19.0.tar.gzhadoop@slave1:/home/hadoop

scp-rhadoop-0.19.0.tar.gzhadoop@slave2:/home/hadoop

在slave1和slave2上配置和master一样

只需修改hadoop-site.xml文件

去掉

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/name/</value>#hadoop的name目录路径

</property>

增加一句

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/data/</value>#hadoop的data目录路径

</property>

5.进入hadoop的bin目录,start-dfs启动datanode节点

这样hadoop就配置完成了

相关推荐