码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop学习笔记(一)——hadoop安装及测试

时间:2015-05-14 16:38:09      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:hadoop   大数据   

这几天乘着工作之余,学习了一下hadoop技术,跌跌撞撞的几天,终于完成了一个初步的hadoop的安装及测试,具体如下:

动力:工作中遇到的数据量太大,服务器已经很吃力,sql语句运行老半天,故想用大数据技术来改善一下

环境:centos5.11+jdk1.7+hadoop2.5.2


1.  伪分布安装步骤

关闭防火墙

修改ip

修改hostname

设置ssh自动登录

安装jdk

安装hadoop

注:此部分涉及到的Linux操作部分可以再下面的链接中找到,Linux初级操作

2.  安装jdk

用xftp把jdk安装包放到/root/Downloads

tar xzvfjdk-7u67-linux-i586.tar.gz  解压缩

vi/etc/profile 设置环境变量,添加如下3行内容

exportJAVA_HOME=/usr/local/jdk1.7

exportCLASSPATH=/usr/local/jdk1.7/lib

exportPATH=.:$JAVA_HOME/bin:$PATH

source /etc/profile  配置文件立即生效

java –version 验证是否设置成功

3.  安装hadoop

用xftp把hadoop安装包放到/root/Downloads

tar xzvf hadoop-2.5.2.tar.gz  解压缩

vi /etc/profile 设置环境变量,添加并修改如下内容

export JAVA_HOME=/usr/local/jdk1.7

export HADOOP_HOME=/usr/local/hadoop2.5

export CLASSPATH=/usr/local/jdk1.7/lib

export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

source /etc/profile  配置文件立即生效

hadoop version 验证hadoop是否配置成功

4.  设置hadoop伪分布模式

上面步骤安装成功后,hadoop处于独立模式即本机模式,本机模式用于开发阶段测试调试MapReduce程序。伪分布模式用于在本机上模拟一个小规模的集群。

修改$HADOOP_HOME/etc/hadoop下的5个配置文件。

(1) 修改core-site.xml,设置namenode主机,hadoop文件系统
<configuration>
    <property>
       <name>fs.default.name</name>
       <value>hdfs://hadoop:9000</value>
    </property>

<property>

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

<value>/usr/local/hadoop2.5/tmp</value>

</property>

</configuration>
(2) 修改hdfs-site.xml,设置数据块副本数目
<configuration>

<property>

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

<value>/usr/local/hadoop2.5/hdfs/name</value>

</property>

<property>

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

      <value>/usr/local/hadoop2.5/hdfs/data</value>

</property>

<property>

 <name>dfs.replication</name>

 <value>1</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>
</configuration>
(3) 修改mapred-site.xml

[cp mapred-site.xml.template mapred-site.xml]
<configuration>
        <property>

  <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>
</configuration>
(4)修改hadoop-env.sh,设置JAVA_HOME
     在hadoop-env.sh中添加,本机中jdk路径
     export JAVA_HOME=/usr/local/jdk1.7

(5)修改yarn-site.xml,包含MapReduce启动的配置信息。<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

 <value>mapreduce_shuffle</value>

</property>

</configuration>

5.  启动hadoop

hdfs namenode –format 格式化HDFS文件系统

注:第一,格式化之后jdk的路径会变成相对路径,需要到hadoop-env.sh中再改成绝对路径;

第二,一定在hadoop安装目录的sbin目录下执行格式化命令!

cd /usr/local/hadoop2.5/sbin  进入sbin目录

start-dfs.sh,start-yarn.sh   启动hadoop

jps 查看Java进程

共涉及5个Java进程,如下图所示:NodeManager、SecondaryNameNode、NameNode、DataNode、 ResourceManager;

6.  浏览器验证

在windows系统中绑定Linux主机名和ip

修改C:\Windows\System32\drivers\etc下的host文件

访问hadoop:50070和hadoop:8088端口

7.  执行测试程序

使用新建的伪分布式平台运行wordcount程序:

echo"Hello World.Hello hadoop." > hello.txt

hadoopfs -mkdir -p input  在hdfs系统上创建文件夹input

hadoopfs –ls 查看文件夹是否创建成功

hadoopfs -put ../hello.txt input 将本地文件上传到hdfs

hadoopfs -ls input   查看文件是否上传成功

hadoopjar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcountinput output  运行wordcount

hadoopfs -ls output 查看运行之后产生的文件

hadoopfs -cat output/part-r-00000 查看运行结果


8.错误记录

1.  Q:Java HotSpot(TM) ClientVM warning: You have loaded library/usr/local/hadoop2.5/lib/native/libhadoop.so.1.0.0which might have disabled stack guard. The VM will try to fix the stack guardnow.

A:这个问题的错误原因会发生在64位的操作系统上,原因是从官方下载的hadoop使用的本地库文件都是基于32位编译的,运行在64位系统上就会出现上述错误。

方案一:在64位系统上重新编译hadoop;

方案二:在hadoop-env.sh,yarn-env.sh中添加下两行: 

 

Export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"


9.感想

hadoop2.X跟hadoop1.X区别还是比较大的,可供查阅的资料方面1.x居多,故把自己学习hadoop2.5的过程分享出来,一方面方便自己查阅,另一方面让其他人少走弯路


hadoop学习笔记(一)——hadoop安装及测试

标签:hadoop   大数据   

原文地址:http://blog.csdn.net/thinkpadshi/article/details/45720405

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!