Linux下Hadoop的安装(单机版)

来源:互联网 发布:windows bash如何用 编辑:程序博客网 时间:2024/06/06 02:42

1.安装前准备

1.1创建hadoop用户

首先创建hadoop用户组和用户,如果对linux命令不熟悉,可以参考http://blog.csdn.net/huhui_bj/article/details/8878701中的命令。
sudo addgroup hadoop #添加hadoop用户组sudo adduser --ingroup hadoop hduser #在hadoop用户组中添加hduser

1.2下载hadoop安装程序

我所用的是hadoop1.0.4,也是目前比较稳定的版本,下载地址:http://download.csdn.net/detail/huhui_bj/6028891
下载完之后,把文件放在hadoop用户目录的software目录下,然后用tar命令解压缩(请确保是用hadoop用户解压缩,否则需要改变文件夹的用户和用户组):
[plain] view plaincopy
  1. tar -zxvf hadoop-1.0.4.tar.gz  

1.3安装ssh

请确保你的Linux系统中已经安装了ssh软件,一般的Linux发行版都已经在安装完操作系统之后自带ssh软件。如果没有,执行以下命令安装:
[plain] view plaincopy
  1. sudo apt-get install ssh  

1.4安装rsync

请确保你的Linux中已经安装了rsync,不然,请执行以下命令安装:
[plain] view plaincopy
  1. sudo apt-get install rsync  

1.5配置ssh免密码登录

[plain] view plaincopy
  1. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  
  2. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  
如果在配置ssh免密码登录的时候出现了ssh: connect to host localhost port 22: Connection refused错误,解决的办法如下:

第一步,在https://launchpad.net/ubuntu/lucid/i386/openssh-client/1:5.3p1-3ubuntu3

下载文件并安装:$ sudo dpkg -i openssh-client_5.3p1-3ubuntu3_i386.deb 

第二步,在https://launchpad.net/ubuntu/lucid/i386/openssh-server/1:5.3p1-3ubuntu3

下载文件并安装:$ sudo dpkg -i openssh-server_5.3p1-3ubuntu3_i386.deb 

第三步,在https://launchpad.net/ubuntu/lucid/i386/ssh/1:5.3p1-3ubuntu3

下载文件并安装:$ sudo dpkg -i ssh_5.3p1-3ubuntu3_all.deb 


验证ssh免登录是否配置成功:

[plain] view plaincopy
  1. ssh localhost  

方法二:

[plain] view plaincopy
  1. #生成公钥和私钥  
  2. ssh-keygen -q -t rsa -N "" -f ~/.ssh/id_rsa  
  3. cd .ssh  
  4. cat id_rsa.pub > authorized_keys  
  5. chmod go-wx  authorized_keys  

出现如下信息,则说明ssh免登录配置成功:


1.6安装并配置JDK

JDK的安装和配置,请参考博文http://blog.csdn.net/huhui_bj/article/details/8596388中关于JDK的安装说明。

2.安装并配置单机版Hadoop

2.1修改hadoop-env.sh

在hadoop目录下的conf目录下,找到hadoop-env.sh文件(针对hadoop-2.2.0版本,在hadoop-2.2.0/etc/hadoop/目录下),将JAVA_HOME配置进去(这里默认是使用的$JAVA_HOME,$JAVA_HOME已定义但是因为新建的用户无法识别,需要修改为固定目录):
[plain] view plaincopy
  1. vi conf/hadoop-env.sh  
添加JAVA_HOME(请根据自己的环境变量地址修改):
[plain] view plaincopy
  1. JAVA_HOME=/home/hadoop/software/jdk1.6.0_21  

2.2修改hadoop的核心配置文件core-site.xml(针对hadoop-2.2.0版本,在hadoop-2.2.0/etc/hadoop/目录下),配置HDFS的地址和端口号

[plain] view plaincopy
  1. vi conf/core-site.xml  
添加如下内容:
[html] view plaincopy
  1. <configuration>  
  2.      <property>  
  3.          <name>fs.default.name</name>  
  4.          <value>hdfs://localhost:9000</value>  
  5.      </property>  
  6. </configuration>  

2.3修改hadoop中HDFS的配置(针对hadoop-2.2.0版本,在hadoop-2.2.0/etc/hadoop/目录下)

[plain] view plaincopy
  1. vi conf/hdfs-site.xml  
添加如下内容:
[html] view plaincopy
  1. <configuration>  
  2.      <property>  
  3.          <name>dfs.replication</name>  
  4.          <value>1</value>  
  5.      </property>  
  6. </configuration>  

2.4修改hadoop中MapReduce的配置文件(针对hadoop-2.2.0版本,在hadoop-2.2.0/etc/hadoop/目录下),配置的是JobTracker的地址和端口

[plain] view plaincopy
  1. vi conf/mapred-site.xml  
添加如下内容:
[html] view plaincopy
  1. <configuration>  
  2.      <property>  
  3.          <name>mapred.job.tracker</name>  
  4.          <value>localhost:9001</value>  
  5.      </property>  
  6. </configuration>  

以上就是单机版Hadoop的最小化配置

2.5格式化一个新的分布式文件系统

[plain] view plaincopy
  1. bin/hadoop namenode -format  

2.6启动hadoop(针对hadoop-2.2.0版本,建议使用 start-dfs.sh)

[plain] view plaincopy
  1. bin/start-all.sh  

3.验证Hadoop是否安装成功

  • HDFS的web页面: - http://localhost:50070/
  • MapReduce的web页面: - http://localhost:50030/
如果这两个页面能打开,说明你的hadoop已经安装成功了。

3.1运行WordCount例子

在HDFS的根目录下创建input文件夹(bin目录下执行):
[plain] view plaincopy
  1. ./hadoop fs -mkdir /input  
将start-all.sh文件放入hadoop的文件系统input目录下
[plain] view plaincopy
  1. ./hadoop fs -put start-all.sh /input  
运行Wordount例子:
[plain] view plaincopy
  1. bin/hadoop jar hadoop-examples-1.0.4.jar  wordcount /input /output  
原文地址:点击打开链接
原创粉丝点击