hadoop是目前,非常流行的主流的大数据计算框架。对java程序员来说,是大数据方面发展的选择的道路。
hadoop的主要组成部分,以我个人所见是HDFS分布式文件系统、任务分发系统JobTracker、任务处理系统TaskTracker。
准备环境:
2个centos系统,一个作namenode,另一个做datanode。
网络:namenode的ip是192.168.1.60
datanode的ip是 192.168.1.90
系统的hosts文件已经配置:
192.168.1.60 backup01
192.168.1.90 backup02
关闭 iptables:
chkconfig iptables off
service iptables off
ssh连接免密码已做,详细步骤,这里不多说了。
java环境已经安装,并且已经设置环境变量,
这里不多说了,可以参考http://nicegege.iteye.com/blog/2171805
hadoop安装:
在backup01节点上操作,
hadoop1.2.1是hadoop的1.x的稳定版本,下载在usr/local目录下
wget url //下载
tar zxvf hadoop1.2.1.tar.gz //解压
配置hadoop的配置文件,配置文件在conf目录下:
(1).配置hadoop-en.sh
export JAVA_HOME=/usr/local/java/jdk1.7.0_71
(2)配置core-site.xml,配置hdfs的fs.default.name和hadoop.tmp.dir。分别代表hdfs文件路径和文件存放路径。/usr/local/hadoop-1.2.1/tmp文件夹不存在则要手动创建。
文件内添加如下代码
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://backup01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-1.2.1/tmp</value>
</property>
</configuration>
(3).配置mapred-stte.xml,配置jobTracker
文件内添加如下代码:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>backup01:9001</value>
</property>
</configuration>
(4).配置masters,添加backup01
(5).配置salves ,添加backup02
最基本,最简单的hadoop配置已经完成。接下来把hadoop复制到backup02上。
命令:scp -r ./hadoop1.2.1 root@backup02:/usr/local
(6).格式化namenode,格式化以后在backup01的tmp目录下看到dfs目录,里面有namenode的基本信息
bin/hadoop namenode -format
(7).启动hadoop
bin/start-all.sh
在backup01上,jps命令查看hadoop运行进程
[root@backup01 conf]# jps
9801 Jps
8351 NameNode
8514 SecondaryNameNode
8596 JobTracker
在backup02上,jps命令查看hadoop运行进程
[root@backup02 ~]# jps
4298 Jps
3844 TaskTracker
3752 DataNode
如果出现datanode无法启动的情况,请检查hdfs-site.xml的配置是否正确,配置信息有没有写错。
没有写错的话,关闭当前运行的hadoop,删除backup01和backup02的tmp目录下的文件。重新格式化namenode,重新启动hadoop。