3台机器:master(10.0.0.200),slave1(10.0.0.201),slave2(10.0.0.202)
系统都为Centos 5
假设将master做为namenonde,将slave1和slave2做为datanode
1.在master:(在slave1和slave2上操作和以下相同)
vi /etc/hosts
10.0.0.200 master
10.0.0.201 slave1
10.0.0.202 slave2
2.用root登陆,建立hadoop用户
useradd hadoop
passwd hadoop
输入111111做为密码
3.su - hadoop #进入hadoop用户目录
ssh-keygen -t rsa #建立ssh目录,敲回车到底
cd .ssh
scp -r id_rsa.pub hadoop@slave1:/home/hadoop/.ssh/authorized_keys_m
#将master上的密钥传到slave1的hadoop用户下,重命名为authorized_keys_m
scp -r id_rsa.pub hadoop@slave2:/home/hadoop/.ssh/authorized_keys_m
#将master上的密钥传到slave2的hadoop用户下,重命名为authorized_keys_m
用hadoop用户进入slave1
scp -r id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_s1
#将slave1上的密钥传到master的hadoop用户下
用hadoop用户进入slave2
scp -r id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_s2
#将slave2上的密钥传到master的hadoop用户下
在master,slave1和slave22上执行以下操作
cat id_rsa.pub >> authorized_keys_m(_s) #将本地密钥添加authorized_keys
这样主节点和从节点之间就可以不用密码直接ssh访问
4.安装JDK到/usr/local下命名为jdk1.6
然后:
编辑三台机器的/etc/profile,增加如下内容
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export HADOOP_HOME=/home/hadoop/hadoop-0.19.0
export PATH=$PATH:$HADOOP_HOME/bin
-----------------------------------------
hadoop配置:
1.将下载好的hadoop-0.19.0.tar.gz文件上传到master的/home/hadoop
tar zxvf hadoop-0.19.0.tar.gz #解压文件
2.修改4个文件hadoop-site.xml,hadoop-env.sh,masters,slaves
masters:
master
slaves:
slave1
slave2
hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.6
hadoop-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<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>The default block size for new files.</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目录hadoop namenode -format 格式化namenode
start-dfs启动namenode上的hadoop
netstat -tnl查看50070,54310,50090端口是否启动
http://master:50070访问
4.将配置好的hadoop打包
cd /home/hadoop
tar -cvf hadoop-0.19.0.tar.gz hadoop-0.19.0/
scp -r hadoop-0.19.0.tar.gz hadoop@slave1:/home/hadoop
scp -r hadoop-0.19.0.tar.gz hadoop@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就配置完成了
系统都为Centos 5
假设将master做为namenonde,将slave1和slave2做为datanode
1.在master:(在slave1和slave2上操作和以下相同)
vi /etc/hosts
10.0.0.200 master
10.0.0.201 slave1
10.0.0.202 slave2
2.用root登陆,建立hadoop用户
useradd hadoop
passwd hadoop
输入111111做为密码
3.su - hadoop #进入hadoop用户目录
ssh-keygen -t rsa #建立ssh目录,敲回车到底
cd .ssh
scp -r id_rsa.pub hadoop@slave1:/home/hadoop/.ssh/authorized_keys_m
#将master上的密钥传到slave1的hadoop用户下,重命名为authorized_keys_m
scp -r id_rsa.pub hadoop@slave2:/home/hadoop/.ssh/authorized_keys_m
#将master上的密钥传到slave2的hadoop用户下,重命名为authorized_keys_m
用hadoop用户进入slave1
scp -r id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_s1
#将slave1上的密钥传到master的hadoop用户下
用hadoop用户进入slave2
scp -r id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_s2
#将slave2上的密钥传到master的hadoop用户下
在master,slave1和slave22上执行以下操作
cat id_rsa.pub >> authorized_keys_m(_s) #将本地密钥添加authorized_keys
这样主节点和从节点之间就可以不用密码直接ssh访问
4.安装JDK到/usr/local下命名为jdk1.6
然后:
编辑三台机器的/etc/profile,增加如下内容
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export HADOOP_HOME=/home/hadoop/hadoop-0.19.0
export PATH=$PATH:$HADOOP_HOME/bin
-----------------------------------------
hadoop配置:
1.将下载好的hadoop-0.19.0.tar.gz文件上传到master的/home/hadoop
tar zxvf hadoop-0.19.0.tar.gz #解压文件
2.修改4个文件hadoop-site.xml,hadoop-env.sh,masters,slaves
masters:
master
slaves:
slave1
slave2
hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.6
hadoop-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<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>The default block size for new files.</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目录hadoop namenode -format 格式化namenode
start-dfs启动namenode上的hadoop
netstat -tnl查看50070,54310,50090端口是否启动
http://master:50070访问
4.将配置好的hadoop打包
cd /home/hadoop
tar -cvf hadoop-0.19.0.tar.gz hadoop-0.19.0/
scp -r hadoop-0.19.0.tar.gz hadoop@slave1:/home/hadoop
scp -r hadoop-0.19.0.tar.gz hadoop@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就配置完成了