hadoop学习与实践

由于工作需要开始研究测试hadoop,记录一下学习过程,大家一起交流一下。

1、hadoop的介绍我就不多说了,google一下有很多。

2、下载hadoop相关软件,包括了hadoop-0.20.203.0rc1.tar.gz、hive-0.7.0.tar.gz、pig-0.8.1.tar.gz,由于我们暂时不使用Hbase,所以没有下载Hbase,有兴趣的童鞋可以自己下载玩一玩。

3、安装部署,测试的部署结构如下:

10.0.2.49 NameNode JobNode

10.0.2.47 DataNode TaskNode

10.0.2.50 DataNode TaskNode

1)、首先分别在三台机器上创建hadoop用户;上传hadoop-0.20.203.0rc1.tar.gz分别到三台机器的hadoop目录下。

以下在10.0.2.49上完成

2)、上在hadoop主目录下创建hadoop文件夹,解压缩hadoop安装包到hadoop的目录下,切换到hadoop-0.20.203.0下显示的目录为:/home/hadoop/hadoop/hadoop-0.20.203.0

3)、切换到conf目录下,创建hadoop-site.xml文件,大致内容如下:

<configuration> 

 <property>

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

    <value>hdfs://10.0.2.49:9000/</value>

  </property>

  <property> 

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

    <value>10.0.2.49:9010</value> 

  </property> 

  <property> 

    <name>dfs.replication</name> 

    <value>1</value> 

  </property> 

  <property>    

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

                <value>/home/hadoop/hadoop/tmp</value>

  </property>

  <property>   

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

                <value>-Xmx512m</value>

  </property>

  <property>  

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

        <value>5120000</value>  

        <description>The default block size for new files.</description>

  </property>

  <property>

        <name>dfs.datanode.max.xcievers</name>

        <value>4096</value>

      </property>

</configuration>

详细属性配置以后再解释,主要是fs.default.name指定NameNode位置,指明JobNode位置,hadoop.tmp.dir指明临时文件夹位置,编辑完文件保存。

4)、编写slaves文件,填写如下:

10.0.2.50

10.0.2.47

指定从属节点ip,从属节点完成DataNode和TaskNode的任务。

5)、编写masters文件,指定NameNode节点ip

10.0.2.49

以下内容在其他机器上完成

6)、按照如上方法配置其他机器。

4、创建临时文件夹/home/hadoop/hadoop/tmp。

5、格式化存储数据文件,调用hadoop_home下的hadoop命令,“hadoop namenode -format” 如果出现java找不到,需要修改conf/hadoop-env.sh中的“# export JAVA_HOME=/usr/lib/j2sdk1.5-sun” 为你自己的jdk位置,要求是1.6以上版本。没有异常则表明已经格式化好了。

6、启动Hdfs,在10.0.2.49机器上,使用命令bin/start-dfs.sh启动,注意该命令会调用ssh访问slaves文件中指定的ip启动其他从属节点的hadoop进程,所以需要输入密码,用户名使用的是当前用户名。

7、启动MapReduce,在10.0.2.49机器上,使用命令bin/start-mapred.sh启动,该命令同样调用ssh。

8、启动完成标识,在slaves机器上的进程如下:

889 DataNode

1061 TaskTracke

在master机器上的进程如下:

2885 JobTracker

2573 NameNode

2759 SecondaryNameNode

也可以用http://10.0.2.49:50070查看文件系统,使用http://10.0.2.49:50030/查看任务情况。

到目前为止Hadoop系统就算启动成功了

猜你喜欢

转载自zz-19830103.iteye.com/blog/1114697