红联Linux门户
Linux帮助

Hadoop Ubuntu下的安装

发布时间:2015-05-07 15:40:24来源:linux网站作者:linux人

这个是在自己笔记本上的实验版本,在不熟悉的情况还是先考虑在自己的电脑上安装一个试验版本,然后再考虑安装部署生产环境中的机器。首先自己的电脑上需要安装一个虚拟机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 导出到本地的文件系统中来查看。


相关文章:
Ubuntu15.04单机/伪分布式安装配置Hadoop与Hive试验机:http://www.linuxdiyf.com/linux/11858.html

在Ubuntu 64位OS上运行Hadoop2.2.0[重新编译Hadoop]:http://www.linuxdiyf.com/linux/11409.html

Ubuntu 14.04 64位下Hadoop 2.2源码编译:http://www.linuxdiyf.com/linux/10714.html