Hadoop Ubuntu下的安装

    这个是在自己笔记本上的实验版本,在不熟悉的情况还是先考虑在自己的电脑上安装一个试验版本,然后

再考虑安装部署生产环境中的机器。首先自己的电脑上需要安装一个虚拟机VMWare WorkStation, 安装好

了之后,再在此虚拟机上安装Ubutun操作系统,我这里装的是Ubutun 11.10, 可以通过lsb_release -a 命令

查看,如果没有这个命令的话可以用下面的命令安装一下sudo apt-get install lsb。

    1.  在此操作系统上新建一个账号hadoop.

tinyfun@ubuntu:/home$ sudo addgroup hadoop
Adding group `hadoop' (GID 1001) ...
Done.

然后增加hadoop用户: sudo adduser -ingroup hadoop hadoop 之后通过sudo gedit /etc/sudoers命令

在sudoers文件中添加 hadoop ALL=(ALL:ALL)  ALL 给hadoop用户root权限。机器默认的名字是ubuntu,

如果需要修改的话,就用sudo gedit /etc/hostname.

    2. 建立ssh无密码登录

     首先sudo  apt-get install ssh openssh-server服务, 之后创建ssh-key, 使用命令ssh-keygen -t rsa -P ""

 回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件,进入~/.ssh/目录下,将id_rsa.pub追加到

authorized_keys授权文件中,开始是没有authorized_keys文件的, 使用命令:cat id_ras.pub >> authorized_keys中 

接着使用ssh localhost就可以成功登录了。

    3. 安装hadoop

     在hadoop账户根目录创建一个文件夹hadoop,使用

wget http://mirror.bjtu.edu.cn/apache/hadoop/common/hadoop-1.1.1/hadoop-1.1.1-bin.tar.gz 下载最新

版本的hadoop, 现在是1.1.1的稳定版本。解压到当前文件夹 tar -xvf hadoop-1.1.1-bin.tar.gz 然后用命令mv

hadoop-1.1.1 hadoop, 然后开始配置hadoop, 有四个文件需要配置的,这里采用的都是最简单的配置,很多参数

都是采用hadoop系统自己默认的,这四个文件是conf目录下的,hadoop-env.sh core-site.xml hdfs-site.xml

mapred-site.xml.

    1) 修改hadoop-env.sh

     sudo gedit hadoop-env.sh, 将其中的一行修改为export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24

也就是配置Java虚拟机的运行目录,这个目录是你机器上安装java的位置。

    2)修改core-site.xml

<configuration>
    <property>
	<name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hadoop/hadoop/tmp</value>
    </property>
    <property>
	<name>fs.default.name</name>
 	<value>hdfs://localhost:9000</value>
    </property>
</configuration>

 3) 修改hdfs-site.xml

<configuration>
      <property>
	<name>dfs.replication</name>
	<value>1</value>
      </property>
</configuration>

 4)修改mapred-site.xml

<configuration>
      <property>
	 <name>mapred.job.tracker</name>
          <value>localhost:9001</value>
</property> </configuration>

    4  运行Hadoop

    进入hadoop目录下,格式化hdfs文件系统, bin/hadoop namenode -format, 格式化完成之后

启动hadoop, 通过命令bin/start-dfs.sh bin/start-mapred.sh, 启动完成之后,通过jps命令查看

进程。如果进程中包含下面这五个进程就表明安装成功了。

3453 TaskTracker
7753 Jps
3218 JobTracker
2572 NameNode
3073 SecondaryNameNode
2843 DataNode

    5. 运行一个简单的wordcount例子

     准备测试数据,我们可以简单的使用echo命令来生成两个测试文件,新建一个目录testdata,在此目录下

echo "hello world bye world" > file1.txt
echo "hello hadoop goodbye hadoop" > file2.txt

    将这两个文件写入到hdfs文件系统中,bin/hadoop fs -put  ./testdata/  input 使用命令hadoop fs -lsr

就可以看到这两个文件已经在hadoop的hdfs文件系统当中去了。之后使用命令bin/hadoop jar hadoop-examples-1.1.1.jar 

wordcount input output 来运行wordcount的例子,我们会看到如下的执行过程:

12/12/10 22:31:15 WARN conf.Configuration: mapred.used.genericoptionsparser is deprecated. Instead, use mapreduce.client.genericoptionsparser.used
12/12/10 22:31:15 INFO input.FileInputFormat: Total input paths to process : 2
12/12/10 22:31:16 INFO mapreduce.JobSubmitter: number of splits:2
12/12/10 22:31:18 INFO mapreduce.Job: Running job: job_201212102055_0001
12/12/10 22:31:19 INFO mapreduce.Job:  map 0% reduce 0%
12/12/10 22:32:43 INFO mapreduce.Job:  map 100% reduce 0%
12/12/10 22:33:30 INFO mapreduce.Job:  map 100% reduce 100%
12/12/10 22:33:54 INFO mapreduce.Job: Job complete: job_201212102055_0001
12/12/10 22:33:54 INFO mapreduce.Job: Counters: 36
	FileInputFormatCounters

 表明我们的程序已经成功执行完成了,之后我们可以通过命令bin/hadoop fs -cat output/* 可以看到运行结果:

bye	1
goodbye	1
hadoop	2
hello	2
 world	2

 当然我们也可以通过命令 bin/hadoop fs -get output output 导出到本地的文件系统中来查看。

 

   

posted @ 2012-12-16 10:56  cstar(小乐)  阅读(1057)  评论(0编辑  收藏  举报