`
苹果草莓
  • 浏览: 5371 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

Hadoop2.2.0伪分布式完全安装手册

阅读更多
    网络上充斥着大量Hadoop1的教程,版本老旧,Hadoop2的中文资料相对较少,本教程的宗旨在于从Hadoop2出发,结合作者在实际工作中的经验,提供一套最新版本的Hadoop2相关教程。
    为什么是Hadoop2.2.0,而不是Hadoop2.4.0
    本文写作时,Hadoop的最新版本已经是2.4.0,但是最新版本的Hbase0.98.1仅支持到Hadoop2.2.0,且Hadoop2.2.0已经相对稳定,所以我们依然采用2.2.0版本。

一. Hadoop安装(伪分布式)
1. 操作系统
    Hadoop一定要运行在Linux系统环境下,网上有windows下模拟linux环境部署的教程,放弃这个吧,莫名其妙的问题多如牛毛。

2. 安装JDK
    1> 下载并解压JDK
       我的目录为:/home/apple/jdk1.8
    2> 配置环境变量
       打开/etc/profile,添加以下内容:
export JAVA_HOME=/home/apple/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar


       执行source /etc/profile ,使更改后的profile生效。
       执行以下命令,赋予JDK运行的权限:
chmod 777 /home/apple/jdk1.8/bin/*
chmod 777 /home/apple/jdk1.8/lib/*

    3> 检测JDK环境
       执行 java –version ,查看结果,如看到版本信息,则表明配置成功。

3. 安装SSH
    1> 检验ssh是否已经安装
       Ubuntu系统可以通过如下命令来查看ssh是否已经安装:
      
netstat -an| grep 22

       如果已安装,可跳过第二步。
    2> 安装ssh
       Ubuntu系统可以通过如下命令来安装ssh:
       sudo apt-get install ssh
    3> 配置ssh免密码登录
       通过如下命令来配置ssh免密码登录:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

       输入如下命令验证免密码登录是否成功:
ssh localhost

       成功登陆,可显示welcome信息。

4. 安装Hadoop
    1> 下载并解压
       我的目录为:/home/apple/hadoop-2.2.0
    2> 配置环境变量
       打开/etc/profile,添加以下内容:
export HADOOP_HOME=/home/apple/hadoop-2.2.0
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export YARN_HOME=$HADOOP_HOME
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

       执行source /etc/profile ,使更改后的profile生效。
       执行以下命令,赋予Hadoop运行的权限:
chmod 777 /home/apple/hadoop-2.2.0/bin/*
chmod 777 /home/apple/hadoop-2.2.0/sbin/*

    3> 配置Hadoop
       修改$HADOOP_HOME/etc/hadoop目录下的配置文件。
       core-site.xml添加以下内容:
<property>  
         <name>fs.default.name</name>  
         <value>hdfs://localhost:9000</value>  
</property>
<property>
	     <name>hadoop.native.lib</name>
         <value>true</value>
</property>

       hadoop-env.sh修改以下内容:
export JAVA_HOME=/home/apple/jdk1.8

       hdfs-site.xml添加以下内容:
<property>  
         <name>dfs.replication</name>  
         <value>1</value>  
</property>
<property>  
         <name>dfs.namenode.name.dir</name>  
         <value>file:/home/apple/hadoop-2.2.0/hdfs/namenode</value>  
</property>
<property>  
         <name>dfs.datanode.data.dir</name>  
         <value>file:/home/apple/hadoop-2.2.0/hdfs/datanode</value>  
</property>

       这里的两个地址,是你namenode和datanode两个节点上,希望hdfs文件存储的位置。
       mapred-site.xml.template改为mapred-site.xml,添加以下内容:
<property>  
         <name>mapreduce.framework.name</name>  
         <value>yarn</value>  
</property>

       yarn-site.xml添加以下内容:
<property>  
         <name>yarn.nodemanager.aux-services</name>  
         <value>mapreduce_shuffle</value>  
</property>
<property>  
         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
         <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
</property>

    4> 启动并验证
       用如下命令启动或关闭Hadoop:
start-all.sh
stop-all.sh

       如果一切正常,使用jps命令你会看到如下信息:
2499 ResourceManager
2965 Jps
2616 NodeManager
2186 DataNode
2075 NameNode
2363 SecondaryNameNode
2669 JobHistoryServer

       访问8088端口可以查看job信息,访问50070端口可以查看namenode信息。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics