Hadoop 2.5.1在Ubuntu 14.04安装和配置(伪分布模式)

    Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。现在很多做大数据(海量数据)的公司和团体都在用Hadoop,随着数据量的增大(爆炸)和应用需求的增加,Hadoop也越来越火。


    最近想学习一下Hadoop,就在ubuntu 14.04上安装了Hadoop 2.5.1,因为两者都是当前最新的版本,网上对安装和配置的文章仍是针对较老版本的,新版本有一些变化,在尝试安装的过程中犯了一些错误。最终综合各种文章和教程,终于安装和配置成功,遂以此文总结分享。


    本文说明了在ubuntu 14.04上安装Hadoop 2.5.1,并配置伪分布模式的步骤。

    (伪分布模式. Hadoop守护进程运行在本地机器上,模拟一个小规模的的集群。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。)。


    说明:我的机器名称为:mr-OptiPlex-780   用户名为:mr  

 一、创建hadoop用户组和用户

1.添加hadoop用户组

mr@mr-OptiPlex-780:~$ sudo addgroup hadoop

可能会要求输入密码,此处即你的用户密码。



2.添加hadoop用户到hadoop用户组

mr@mr-OptiPlex-780:~$ sudo adduser --ingroup hadoop hadoop
之后让输入新的UNIX密码(PS:使用主键盘而不是小键盘输入数字,因为小键盘的NumLock有时并不自动打开,ubuntu又不会以*来显示密码输入,会造成不必要的困扰、心塞。。)

hadoop的用户信息直接回车默认,最后Y确认。


3.给hadoop用户添加管理员权限

mr@mr-OptiPlex-780:~$ sudo gedit /etc/sudoers
此处是用命令打开/etc文件夹下的udoers文本文件进行编辑,当然也可以自己找到这个文件夹打开进行编辑。

在root  ALL=(ALL:ALL)  ALL的下面添加一行hadoop  ALL=(ALL:ALL)  ALL,然后保存退出即可。


4.切换到hadoop账户

mr@mr-OptiPlex-780:~$ su – hadoop

二、配置ssh免密码登录

配置SSH是为了实现各机器之间执行指令无需输入登录密码。务必要避免输入密码,否则,主节点每次试图访问其他节点时,都需要手动输入这个密码。
1.安装ssh
hadoop@mr-OptiPlex-780:~$ sudo apt-get install openssh-server
中间会提示是否继续进行,输入Y,然后等待完成。


2.启动ssh服务
hadoop@mr-OptiPlex-780:~$  sudo /etc/init.d/ssh start
3.设置免密码登录
hadoop@mr-OptiPlex-780:~$ ssh-keygen -t rsa -P ""
之后在Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):处有个停顿,直接回车即可。
其中你的randomart image会与下图不同而已。


4. 将公钥id_rsa.pub追加到authorized_keys授权文件中
hadoop@mr-OptiPlex-780:~$ cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
此时即完成设置免密码登录。
5.验证免密码登录
hadoop@mr-OptiPlex-780:~$ ssh localhost
hadoop@mr-OptiPlex-780:~$ exit
hadoop@mr-OptiPlex-780:~$ ssh localhost
发现已经不需输入密码


三、安装JAVA

本文中安装的是OpenJDK 7,你可根据需求安装别的版本,只需注意设置环境变量和修改ubuntu默认jdk。
1.切换到mr账户安装jdk(mr是我的账户名,你切换到你先前的账户)
hadoop@mr-OptiPlex-780:~$ su – mr
2.安装jdk
mr@mr-OptiPlex-780:~$ sudo apt-get install openjdk-7-jdk
之间会询问是否继续,输入Y继续,等待完成。


可以使用如下命令查看JAVA版本,以确定安装成功
mr@mr-OptiPlex-780:~$ java -version

四、安装Hadoop 2.5.1

1.下载Hadoop

http://hadoop.apache.org/下载hadoop安装包,我下载的是hadoop-2.5.1.tar.gz

将此压缩包放置在/usr/local文件夹中

2.切换到hadoop用户,并转至目录

mr@mr-OptiPlex-780:~$ su - hadoop
hadoop@mr-OptiPlex-780:~$ cd /usr/local


3.解压并移动

hadoop@mr-OptiPlex-780:/usr/local$ sudo tar xzf hadoop-2.5.1.tar.gz
hadoop@mr-OptiPlex-780:/usr/local$ sudo mv hadoop-2.5.1 /usr/local/hadoop

之后便可发现在/usr/local/中多了一个名为hadoop的文件夹

4.修改属主用户,保证操作都在hadoop用户下进行

hadoop@mr-OptiPlex-780:/usr/local$ sudo chown -R hadoop:hadoop hadoop

五、配置文件,修改环境变量

1.配置hadoop-env.sh

hadoop@mr-OptiPlex-780:/usr/local$ sudo gedit hadoop/etc/hadoop/hadoop-env.sh
hadoop-env.sh文件在绝对路径/usr/local/hadoop/etc/hadoop/下,此处使用相对路径,因为我们已经在/usr/local/内

修改export JAVA_HOME=后面的内容,我的JDK路径为 /usr/lib/jvm/java-7-openjdk-amd64

所以做如下图修改


2.配置yarn-env.sh

和上面一个在同一个文件夹

hadoop@mr-OptiPlex-780:/usr/local$ sudo gedit hadoop/etc/hadoop/yarn-env.sh

3.配置环境变量

hadoop@mr-OptiPlex-780:/usr/local$ sudo gedit /etc/profile
这个文件在绝对路径/etc/下,而不再是上面两个的/usr/local/hadoop/etc/hadoop

在此文件最下方添加

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=$PATH:/usr/lib/jvm/java-7-openjdk-amd64/bin
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/lib
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_HOME=/usr/local/hadoop
export YARN_CONF_DIR=$YARN_HOME/etc/hadoop

4.使设置生效

hadoop@mr-OptiPlex-780:/usr/local$ source /etc/profile
hadoop@mr-OptiPlex-780:/usr/local$ source usr/local/hadoop/etc/hadoop-env.sh
hadoop@mr-OptiPlex-780:/usr/local$ source usr.local/hadoop/etc/yarn-env.sh

5.查看环境变量

hadoop@mr-OptiPlex-780:/usr/local$ echo $PATH
看hadoop的bin,sbin,lib文件夹是否已包含

6.配置core-site.xml

此文件在/usr/local/hadoop/etc/hadoop/下

用gedit打开,直接将下方的空白配置文本修改为

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

7.配置hdfs-site.xml

和上面在同一个文件夹,同理修改为

<configuration>  
  <property>  
    <name>dfs.namenode.name.dir</name>  
    <value>file:/home/hadoop/dfs/name</value>  
  </property>  
  <property>  
    <name>dfs.namenode.data.dir</name>  
    <value>file:/home/hadoop/dfs/data</value>  
  </property>  
  <property>  
    <name>dfs.replication</name>  
    <value>1</value>  
  </property>  
</configuration> 

8.新建mapred_site.xml

这个文件原本没有,在和上面的xml文件同一个文件夹里新建一个xml文件,命名为mapred_site.xml,内容为

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

六、启动Hadoop

1.格式化
hadoop@mr-OptiPlex-780:/usr/local$ hadoop namenode -format
出现如下图即格式化成功


2.启动DFS

hadoop@mr-OptiPlex-780:/usr/local$ hadoop/sbin/start-dfs.sh

3.启动yarn
hadoop@mr-OptiPlex-780:/usr/local/hadoop$ sbin/start-dfs.sh


4.用jps命令列出守护进程验证安装成功
hadoop@mr-OptiPlex-780:/usr/local$ jps


出现如上图的几项,即安装成功

5.WEB界面





七、常见问题

1. 没有权限

对某文件(夹)没有权限,下句即获取/usr/local/hadoop文件夹的读写权限

hadoop@mr-OptiPlex-780:/usr/local$ sudo chmod -R 777 /usr/local/hadoop

2.启动dfs出现错误:Error: Cannot find configuration directory:

是/etc/profile 中环境变量没有设置好,参照前面的”五、配置“的内容



文章到此结束,博主为新人,水平非常有限,愿向大家学习,共同进步。


参考文献:

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

此博文对之前的各文章进行总结,步骤解释很详细,非常感谢。但是针对老版本,新版本有些许变化,本文弥补了这些。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值