hadoop配置(个人总结)
2013-03-11 20:45 java20130722 阅读(424) 评论(0) 编辑 收藏 举报实验机器:
namenode: 192.168.120.63 - centos5
datanode: 192.168.120.64 -centos5
datanode: 192.168.120.65 -centos5
配置目标:
63机器作为namenode, secondarynamenode
64和65机器作为datanode和tasknode
每台机器使用hadoop账户来管理和运行hadoop
配置步骤:
1. 准备文件,包括 jdk 和 hadoop
jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk6u37-downloads-1859587.html,下载如jdk-6u13-linux-i586.bin
hadoop下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-1.0.3/ 或者当前更高版本
这里jdk使用:jdk1.6.0_13
hadoop使用:hadoop-1.0.3
2.安装jdk
以root登录三个机器,执行jdk-6u13-linux-i586.bin,会得到一个jdk文件夹,将其放入预定位置(如/usr/program/jdk/)下
将JAVA_HOME添加到/etc/profile文件下
- [root:]#vi /etc/profile
添加如下内容
- #add by Jim for jdk
- #set java envrionment
- export JAVA_HOME=/usr/program/jdk/jdk1.6.0_13
- export JRE_HOME=/usr/program/jdk/jdk1.6.0_13/jre
- export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
- export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
- 192.168.120.63 hadoop.master
- 192.168.120.64 hadoop.slave.a
- 192.168.120.65 hadoop.slave.b
4. 安装hadooop
4.1 添加hadoop账户
- [root]# useradd -m hadoop
- [root]# passwd hadoop
4.2 将下载的hadoop-1.0.3.tar.gz解压到hadoop家目录下, 并修改权限
- [root]# tar -xzf hadoop-1.0.3.tar.gz -C /home/hadoop/
- [root]# chown -R hadoop:hadoop /home/hadoop/hadoop-1.0.3
4.3 配置hadoop, 配置文件在/home/hadoop/hadoop-1.0.3/conf/目录下
4.3.1在hadoop-env.sh文件中添加JAVA_HOME
- #added by Jim for JDK_HOME
- export JAVA_HOME=/usr/program/jdk/jdk1.6.0_13
4.3.2在core-site.xml文件中添加配置信息
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://hadoop.master:50091/</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/home/hadoop/hadooptmp</value>
- </property>
- </configuration>
hadoop.tmp.dir是用来存储其他临时目录的根目录
4.3.3在hdfs-site.xml文件中添加配置信息
- <configuration>
- <property>
- <name>dfs.name.dir</name>
- <value>/home/hadoop/hdfs/name</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/home/hadoop/hdfs/data</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>2</value>
- </property>
- <property>
- <name>dfs.http.address</name>
- <value>hadoop.master:50070</value>
- </property>
- </configuration>
dfs.name.dir:存贮在本地的名字节点数据镜象的目录,作为名字节点的冗余备份
dfs.data.dir:datanode存储数据的根目录
dfs.replication:冗余数量,备份的数据量
dfs.http.address:namenode的http协议访问地址与端口
4.3.4在mapred-site.xml文件中添加配置信息
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>hadoop.master:50092</value>
- </property>
- <property>
- <name>mapred.local.dir</name>
- <value>/home/hadoop/mapred/local</value>
- </property>
- <property>
- <name>mapred.system.dir</name>
- <value>/tmp/hadoop/mapred/system</value>
- </property>
- <property>
- <name>mapred.compress.map.output</name>
- <value>true</value>
- </property>
- </configuration>
mapred.job.tracker:jobTracker的交互端口
mapred.local.dir: map中间数据存放位置
mapred.system.dir: mapred控制文件存放位置
mapred.compress.map.output: 是否压缩输出
4.3.5在master文件中写入hadoop namenode节点
- hadoop.master
4.3.6在slaves文件中写入hadoop datanode数据节点
- hadoop.slave.a
- hadoop.slave.b
4.3.7配置完毕,将/home/hadoop/hadoop-1.0.3拷贝到其他站点
- scp -r /home/hadoop/hadoop-1.0.3/ hadoop@hadoop.slave.a:/home/hadoop/
- scp -r /home/hadoop/hadoop-1.0.3/ hadoop@hadoop.slave.b:/home/hadoop/
5.格式化hadoop,在hadoop.master站点上执行
- hadoop namenode -format
6.启动关闭hadoop,显示hdfs状态等
- [hadoop]$ start-all.sh#由于已经将hadoop-bin目录加入path路径,应当可以直接访问
- [hadoop]$ stop-all.sh
- [hadoop]$ hadoop dfsadmin -report