1 环境准备

安装java-1.6(jdk)

安装ssh

1.1 安装jdk

(1)下载安装jdk

在/usr/lib下创建java文件夹,输入命令:

cd /usr/lib
mkdir java

输入命令:

sudo apt-get install sun-java6-jdk

下载后执行安装文件

(2)配置环境变量

输入命令:

sudo gedit /etc/environment

将如下内容加入其中:

JAVA_HOME=/usr/lib/java/jdk1.6.0_45
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
/usr/lib/java/jdk1.6.0_45/bin:/usr/lib/java/jdk1.6.0_45:/home/ylf/hadoop/bin:/home/ylf/hadoop/sbin" CLASSPATH=/usr/lib/java/jdk1.6.0_45/lib:/usr/lib/java/jdk1.6.0_45/jre/lib

其中path部分是在你原有的path变量基础上加入你所安装的jdk路径。

执行如下命令使得配置生效:

source /etc/environment

(3)验证java是否安装成功

输入命令:

java -version

1.2 配置ssh免密码登录

输入命令:

sudo apt-get install ssh

配置可以无密码登陆本机:

在当前用户目录下新建隐藏文件.ssh,输入命令:

mkdir .ssh

接下来,输入命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

这个命令会在.ssh文件夹下创建两个文件id_dsa及id_dsa.pub,这是一对私钥和公钥,然后把id_dsa.pub(公钥)追加到授权的key里面去,输入命令:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

验证ssh已安装成功及无密码登陆本机,输入命令:

ssh -version

显示结果:

Bad escape character 'rsion'.

这显示ssh已经安装成功。

登陆ssh,输入命令:

ssh localhost

第一次登陆可能会询问是否继续链接,输入yes即可,以后登陆直接登进去。

显示结果:

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Last login: Sun Oct 12 13:27:58 2014 from localhost

2.安装hadoop2.4.0

2.1 下载hadoop2.4.0

从官网上下载hadoop-2.4.0.tar.gz

2.2 解压hadoop-2.4.0.tar.gz,并重命名为hadoop

tar xzvf hadoop-2.4.0.tar.gz
mv hadoop-2.4.0 hadoop

 

2.3 配置环境变量

sudo gedit /etc/environment

在文件中加入:

HADOOP_HOME=/home/ylf/hadoop
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
/usr/lib/java/jdk1.6.0_45/bin:/usr/lib/java/jdk1.6.0_45:/home/ylf/hadoop/bin:/home/ylf/hadoop/sbin"

其中path为原有的path变量中加入hadoop的路径。

执行如下命令,使之生效:

source /etc/environment

2.4单机模式配置

单机模式不用任何配置就可以直接进行测试。

运行hadoop自带的wordcount实例,统计一批文本文件中单词出现的次数

bin/hadoop jar /usr/local/hadoop2.4.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.0.jar wordcount input output

其中input已经上传至hdfs中,上传命令:

./bin/hdfs dfs -put input /input

2.5 伪分布式模式

2.5.1 修改配置文件

在当前用户目录下创建文件夹hadoop_tmp,输入命令:

mkdir hadoop_tmp

配置文件都在安装目录的etc/hadoop下

修改hadoop-env.sh

将export JAVA_HOME=${JAVA_HOME}改为你自己安装的jdk路径:

export JAVA_HOME=/usr/lib/java/jdk1.6.0_45

修改core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
    <final>true</final>
  </property>

  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/ylf/hadoop_tmp</value>
  </property>
</configuration>

修改hdfs-site.xml:

<configuration>
        <property>
      <name>dfs.namenode.name.dir</name>
      <value>/home/ylf/hadoop/dfs/namenode</value>
      <final>true</final>
    </property>      
     <property>
       <name>dfs.datanode.data.dir</name>
       <value>/home/ylf/hadoop/dfs/datanode</value>
      <final>true</final>
    </property>
    <property>
      <name>dfs.http.address</name>
      <value>localhost:50070</value>
       <description>
         The address and the base port where the dfs namenode web ui will listen on.
If the port is
0 then the server will start on a free port. </description> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>

修改mapred-site.xml

<configuration>
        <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    <property>
      <name>mapred.job.tracker</name>
      <value>hdfs://localhost:9001</value>
    </property>
        <property>  
          <name>mapred.system.dir</name>  
          <value>file:/home/ylf/hadoop/mapred/system</value>  
          <final>true</final>  
        </property>  
       
        <property>  
          <name>mapred.local.dir</name>  
          <value>file:/home/ylf/hadoop/mapred/local</value>  
          <final>true</final>  
        </property> 
</configuration>

修改yarn-site.xml:

<configuration>

<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>shuffle service that needs to be set for Map Reduce to run</description>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
    <description>hostname of Resource Manager</description>
  </property>
</configuration>

修改slaves文件

localhost

默认就是localhost,所以不用修改。

启动伪分布式模式:

第一次启动都要格式化下数据文件,命令:

./bin/hdfs namenode -format

启动hadoop,命令:

./sbin/start-all.sh

查看,命令:

jps

结果:

表示启动成功。

2.6 web访问端口

NameNode 50070
ResourceManager 8088
MapReduce JobHistory Server 19888

 

 

 

 

 

访问http://localhost:50070

访问http://localhost:8088

其中19888端口要启动JobHistoryServer进程,启动命令如下:

./sbin/mr-jobhistory-daemon.sh start historyserver

然后访问http://localhost:19888

到此为止,hadoop的伪分布式安装配置讲解完毕。

hadoop基本命令:

1.查看hdfs 文件夹下文件命令

hadoop fs -ls dir

2.从本地上传至hdfs

hadoop fs -copyFromLocal input/hello.txt /input/hello.txt

3.从hdfs下载至本地

hadoop fs -copyToLocal /input/hello.txt input/hello.copy.txt

4.创建文件夹

hadoop fs -mkdir testDir

5.查看hdfs文件列表

hadoop fs -lsr /testDir
posted on 2014-10-12 14:53  吉大依恋  阅读(20479)  评论(2编辑  收藏  举报