Hadoop 2.7.4伪分布式安装步骤与排坑

概述

本教程适合于在 CentOS 6.x 系统中安装原生 Hadoop 2X,适用于Hadoop 2.6.0, Hadoop 2.7.4 等版本,主要参考了官方安装教程,步骤详细,辅以适当说明,相信按照步骤来,都能顺利在 CentOS 中安装并运行 Hadoop。—大肥肥出品

环境准备

在装好了centos以后还有一些环境需要准备一下,下面一一列举

创建hadoop用户

  • su 输入密码
  • useradd hadoop
  • passwd hadoop 输入hadoop用户的密码
    可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题,执行:
  • visudo
    Hadoop 2.7.4伪分布式安装步骤与排坑_第1张图片
  • Esc键 :wq!保存

安装SSH 配置SSH本地免密登陆

安装SHH教程这里不讲,可以另行搜索

ssh免密登陆

  • su hadoop 切换到 hadoop用户下面
  • 控制台输入host,查看hostname 我的是localhost
  • ssh localhost 看看是否需要输入密码,如果需要证明ssh免密登陆没有配置,下面是配置步骤
  • cd ~/.ssh/ ~代表hadoop用户的目录 即 /home/hadoop/
  • ssh-keygen -t rsa 会有提示,下面按回车Enter键就可以
  • cat id_rsa.pub >> authorized_keys 加入授权
  • chmod 600 ./authorized_keys 修改授权的权限
  • ssh localhost 是不是发现已经不用输入密码就可以登陆了啊,如下图所示
    Hadoop 2.7.4伪分布式安装步骤与排坑_第2张图片

jdk环境安装

  • 由于hadoop是一个纯java编写的工具,所以需要安装jdk环境,
    • 安装步骤我就不详细说明了,最好安装一个jdk1.8,安装时候切换到root用户下面,或者直接用sudo命令
    • 安装完配置一下root用户的环境变量
    • vi /etc/profile
    • export JAVA_HOME=jdk安装路径 export PATH= JAVAHOME/bin: JAVA_HOME/jre/bin: PATH: HOME/bin
    • source /etc/profile
    • 配置完上面的后,切换到hadoop用户,vim ~/.bashrc,上面的输入以下,然后 source ~/.bashrc
      环境准备完了,然后java -version 测试是否成功
      # 安装hadoop2.7.4
      ## 下载
      – 切换到root用户
    • Hadoop 2 可以通过 http://mirror.bit.edu.cn/apache/hadoop/common/ 或者 http://mirrors.cnnic.cn/apache/hadoop/common/ 下载,本教程选择的是 2.7.4 版本,下载时请下载 hadoop-2.x.y.tar.gz 这个格式的文件,这是编译好的,另一个包含 src 的则是 Hadoop 源代码,需要进行编译才可使用。最好选择里面最新的一个稳定版本

解压

  • 切换回hadoop用户
  • 进行解压 sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local 解压到/usr/local/目录下面
  • cd /usr/local/ sudo mv ./hadoop-2.7.4/ ./hadoop 修改解压目录hadoop-2.7.4为hadoop

测试

  • cd /usr/local/hadoop
  • ./bin/hadoop version 查看解压是否成功
  • 注意:默认大家明白相对路径与绝对路径

hadoop伪分布式配置

hadoop本身默认是单机配置,到上面我们已经把单机版本安装完毕了,里面的一些示例程序已经可以运行了,下面给大家讲一下hadoop的伪分布式配置

hadoop环境变量配置

  • 切换到hadoop用户下面
  • 在设置 Hadoop 伪分布式配置前,我们还需要设置 HADOOP 环境变量,执行如下命令在 ~/.bashrc 中设置:vi ~/.bashrc
    • export HADOOP_HOME=/usr/local/hadoop
      export HIVE_HOME=/usr/local/hive
      export HADOOP_INSTALL=$HADOOP_HOME
      export HADOOP_MAPRED_HOME=$HADOOP_HOME
      export HADOOP_COMMON_HOME=$HADOOP_HOME
      export HADOOP_HDFS_HOME=$HADOOP_HOME
      export YARN_HOME=$HADOOP_HOME
      export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib
      export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib"
      export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin
    • 注意,倒数第二行不要忘记了啊,那个很多文档里面都没有,但是没有会报错的,一个加载library失败的错误
    • source ~/.bashrc
      ## hadoop配置文件修改
      hadoop的配置文件在hadoop安装目录的etc/hadoop/里面
      这里主要配置四个文件
      -core.site.xml hdfs.site.xml mapred-site.xml yarn-site.xml
      -这四个文件如果没有就执行下面的命令
      cp 缺少的文件名.template 缺少的文件名 例如 cp mapred-site.xml.template mapred-site.xml
    • core.site.xml修改
 <configuration>
 <property>
     <name>hadoop.tmp.dirname>
     <value>file:/usr/local/hadoop/tmp(临时目录)value>
     <description>Abase for other temporary directories.description>
property>
<property>                                                                         v      <name>fs.defaultFSname>                                                                                           <value>hdfs://此处是你的虚拟机的地址或者你的服务器的地址(最好不要直接填写localhost,会导致远程无法访问):9000value>                                                                                                 property>
configuration>  
  • hdfs.site.xml修改
<configuration>

<property>
       <name>dfs.replicationname>
       <value>1(如果是伪分布式,最好写1,不然会一直受到报警)value>
       property>
<property>                                                            <name>dfs.namenode.name.dirname>                                                                           <value>file:/usr/local/hadoop/tmp/dfs/name(namenode目录)value>                                                                                  property>                                                                                           <property>                                                                                                        <name>dfs.datanode.data.dirname>                                                                                                                    <value>file:/usr/local/hadoop/tmp/dfs/data(datanode目录)value>                                                                                                                             property>
configuration>
  • mapred-site.xml修改
<configuration>

<property>
        <name>mapreduce.framework.namename>
        <value>yarnvalue>
property>
configuration>
  • yarn-site.xml 修改
<configuration>


    <property>
            <name>yarn.nodemanager.aux-servicesname>
                    <value>mapreduce_shufflevalue>
    property>

<property>
        <name>yarn.resourcemanager.webapp.addressname>
        <value>192.168.70.244:8099(yarn监控地址)value>
property>
configuration>

至此配置完毕,下面启动测试

伪分布式测试

格式化namenode

  • ./bin/hdfs namenode -format
  • 成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。

启动

  • ./sbin/start-all.sh
  • jps 查看是否启动成功
    jps是jdk里面的命令
    4096 ResourceManager
    14643 Jps
    3640 NameNode
    8349 RunJar
    3742 DataNode
    3886 SecondaryNameNode
    启动成功为看到上面的几个进程,前面是进程号
  • 启动时可能会出现如下 WARN 提示:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable。该 WARN 提示可以忽略,并不会影响正常使用(该 WARN 可以通过编译 Hadoop 源码解决)。

成功启动后,可以访问 Web 界面 http://你的服务器地址:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。记得关闭防火墙

哈哈哈哈:
- 参考链接:http://www.powerxing.com/install-hadoop-in-centos/
- 有什么不懂得留言评论哦
- 附赠彩蛋:https://chu888chu888.gitbooks.io/hadoopstudy/content/

你可能感兴趣的:(hadoop)