Nutch+Hadoop环境搭建(2)

4.     JDK安装

JDK的安装我不想多说,需要注意的是:

1,  JDK版本要1.6以上的。

2,  各个节点JDK的安装路径最好是一样的,这样方便以后的统一管理,我的两台Fedora,JDK的路径都是/usr/lib/jvm/java-1.6.0;

3,  一般JDK安装完成后CLASSPATH跟PATH这两个环境变量都已经设置好了,但JAVA_HOME一般是没有自动设置的,而这个环境变量又恰恰是Hadoop所必需的,所以我们需要设置环境变量,永久的环境变量改变是修改文件/etc/profile。

#vim /etc/profile

在文件的末尾加入如下一行

(注意:具体路径看个人机器的安装路径,“=”两端不能有空格,我在此处犯了很久的迷糊),

为了让文件的修改立即生效,可以键入如下命令

#source  /etc/profile

为了验证JDK的安装成功,我们可以键入命令

#java  -version

出现的不是错误提示就说明JDK安装成功。

5.     Hadoop集群配置

把先前下载下来的apache-nutch-1.2-bin.zip压缩包解压到hadoop主目录下,生成一个nutch-1.2的文件夹(zip压缩文件可以用命令uzip解压)。

接下来就要对hadoop进行配置了。

进入nutch-1.2/conf文件夹,我们可以看到很多配置文件,首先我们需要修改的是hadoop-env.sh文件,取消对export JAVA_HOME的注释,并改成JDK的相应路径(为什么先前设置了JAVA_HOME,这里却需要再次进行设置,不是很理解)

l   

# set java environment

export JAVA_HOME=/usr/lib/jvm/java-1.6.0

 

然后是三个XML配置文件,core-site.xml 、hdfs-site.xml 、mapred-site.xml,这三个文件是配置的关键。(注意,下文中的红色字体全部为注释用,请不要在配置文件中加入这些注释。)

l  打开 core-site.xml

<configuration>

         <property>

         //此属性决定哪台机器是namenode以及端口,注意“//”

 

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

         <value>hdfs://172.18.218.34:9000</value>

        </property>

        <property>

         //临时文件夹的存放位置

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

                  <value>/home/hadoop-0.20.2/hadooptmp</value>

        </property>

</configuration>

 

l  打开 hdfs-site.xml

<configuration>

         <property>

         //datanode数据存放位置

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

                  <value>/usr/local/hadoop-0.20.2/data</value>

        </property>

        <property>

         //namenode数据存放位置

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

                  <value>/usr/local/hadoop-0.20.2/name</value>

        </property>

        <property>

         //数据副本的数量,最小为1,不能比datanode的数量大。一般采用的策略是3,一个存本机,一个存同机架的不同节点,另外一个存不同机架

                  <name>dfs.replication</name>

                  <value>1</value>

<description> 副本个数,不配置默认是3 </description>

        </property>

 

</configuration>

 

l  打开 mapred-site.xml

<configuration>

         <property>

         //jobtracker节点IP跟端口

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

                  <value>172.18.218.44:9001</value>

        </property>

        <property>

         //tasktracker临时数据存放路径

                  <name>mapred.local.dir</name>

                  <value>/home/hadoop-0.20.2/temp</value>

        </property>

        <property>

         //每个task的map数量,暂时不知道具体怎么设置,但一般是datanode的数倍

                  <name>mapred.map.tasks</name>

                  <value>20</value>

        </property>

        <property>

         //每个task的reduce数量,暂时也不知道怎么设置会比较好,但一般情况下是datanode的数量

                  <name>mapred.reduce.tasks</name>

                  <value>2</value>

        </property>

</configuration>

在配置完 xml 文件之后,需要手动创建目录 /home/hadoop-0.20.2 。

 

另外两个需要配置的是conf/masters 、 conf/slaves两个文件,前者告诉每个节点哪个是namenode,后者告诉每个节点datanode有哪些。

 

l  打开 masters 文件,加入 namenode 主机名

namenode

 

l  打开 slaves 文件,加入 datanode 主机名

namenode

datanode1

 

至此,hadoop的集群配置完成了,为了测试配置是否正常,我们需要启动hadoop,并进行测试,启动hadoop之前,一定要把防火墙kill掉,命令如下:

 

#/etc/init.d/iptables stop

 

为了避免每一次启动系统都要敲一遍命令,我的做法是直接关掉防火墙的开机自启动,命令如下:

 

#chkconfig iptables off

 

Cd到nutch-1.2目录下,所有的执行程序都在其中的bin目录中。

1,  格式化DFS,其实也就是对namenode进行格式化

 

#bin/hadoop  namenode  -format

 

2,  启动hadoop进程

 

#bin/start-all.sh

 

3,  对hadoop运行进行测试,看是否正常

Hadoop-0.20.2的许多发行包中都有自带的测试程序包hadoop-examples-0.20.203.jar,里面有些简单的分布式hadoop程序,如单词计数、排序等,我们下载的这个包里面没有自带测试程序(如果有需要那个examples包的可以找我要),所以我们键入命令

#bin/hadoop  dfsadmin  -report

如果集群状态正常,并且每个datanode都“起来”了,那么就可以说hadoop的配置成功了。

另外,两个URL是我们应该知道的,’s IP:50070 跟’s IP:50030,可以比较直观地查看hadoop执行系统。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/psssf.html