Hadoop CentOS 7 安装配置

    xiaoxiao2026-03-10  4

    本篇根据 给力星 改动而来,文尾有来源

    简介

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 [1] Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。 来源:百科

    JAVA JDK

    http://blog.csdn.net/fenglailea/article/details/26006647 环境变量设置 http://blog.csdn.net/fenglailea/article/details/52457731 风.fox

    环境说明

    Centos 7.1 服务器 Hadoop 2.7.3

    下载地址

    http://archive.apache.org/dist/hadoop/common/ 当前最新版 2.7.3

    wget http://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz tar zxvf hadoop-2.7.3.tar.gz

    安装Hadoop

    cd ~ mv hadoop-2.7.3 /home/hadoop/hadoop #目录位置 chmod -R +x /home/hadoop/hadoop/bin # 修改文件权限 chmod -R +x /home/hadoop/hadoop/sbin # 修改文件权限 mkdir -p /home/hadoop/hadoop/tmp

    配置

    配置文件 core-site.xml

    vim /home/hadoop/hadoop/etc/hadoop/core-site.xml

    修改为

    <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>

    配置文件 hdfs-site.xml:

    vim /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml

    修改为

    <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/hadoop/tmp/dfs/data</value> </property> </configuration>

    设置用户

    JAVA 环境变量也要在此用户中设置 注意:如果不设置用户,那么将会已root用户启动,并且每次启动都要输入root的秘密 创建用户

    useradd -m hadoop -s /bin/bash # 创建hadoop用户 passwd hadoop # 修改密码,这个时候会让你输入密码2次 usermod -G root hadoop # 增加管理员权限

    设置管理员或用户组权限 执行命令

    visudo

    方法一 找到以下 一行 去除 前缀#号

    %wheel ALL=(ALL) ALL

    方法二 在root 那行增加 hadoop一行,如下所示

    root ALL=(ALL) ALL hadoop ALL=(ALL) ALL

    应用设置

    方法一: 退出当前用户,改用hadoop登录,用命令su –,即可获得root权限进行操作方法二:重新启动系统

    设置无密码登录

    切换用户

    su hadoop

    进入当前用户目录 hadoop

    cd ~ pwd

    pwd 命令会显示如下目录

    /home/hadoop

    生成秘钥

    mkdir -p /home/hadoop/.ssh cd ~/.ssh/ ssh-keygen -t rsa #如有提示,直接按回车 cat id_rsa.pub >> authorized_keys # 加入授权

    启动

    格式化

    /home/hadoop/hadoop/bin/hdfs namenode -format # namenode 格式化

    输出如下信息正常,如有其他问题请看FAQ

    16/11/24 15:09:53 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 16/11/24 15:09:53 INFO util.ExitUtil: Exiting with status 0 16/11/24 15:09:53 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1 ************************************************************/

    启动

    /home/hadoop/hadoop/sbin/start-dfs.sh # 开启守护进程

    判断是否启动成功

    jps

    出现以下进程 表明启动成功

    2433 NameNode 2801 SecondaryNameNode 2911 Jps 2600 DataNode

    关闭

    /home/hadoop/hadoop/sbin/stop-dfs.sh #这个是关闭命令

    更多请看以下目录下

    /home/hadoop/hadoop/sbin/ /home/hadoop/hadoop/bin/

    运行 WordCount 实例:

    /home/hadoop/hadoop/bin/hdfs dfs -mkdir -p /user/hadoop # 创建HDFS目录 /home/hadoop/hadoop/bin/hdfs dfs -mkdir input /home/hadoop/hadoop/bin/hdfs dfs -put /home/hadoop/hadoop/etc/hadoop/*.xml input # 将配置文件作为输入 /home/hadoop/hadoop/bin/hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+' /home/hadoop/hadoop/bin/hdfs dfs -cat output/* # 查看输出

    配置hadoop 环境变量

    vim ~/.bashrc

    最后一行加入

    export HADOOP_HOME=/home/hadoop/hadoop export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

    这些变量在启动 Hadoop 进程时需要用到,不设置的话可能会报错(这些变量也可以通过修改 /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh 实现)。

    集群配置

    请看 http://www.powerxing.com/install-hadoop-simplify/ http://www.powerxing.com/install-hadoop-cluster/ 集群 http://www.powerxing.com/install-hadoop/ 伪分布式(单机多个进程)

    FAQ

    1. SHUTDOWN_MSG: Shutting down NameNode at localhost.localdomain/127.0.0.1

    主机名称问题 编辑以下文件查看主机名称是否是 localhost,如果不是则修改。一般只改第一个就可以解决问题

    vim /etc/hostname

    HOSTS

    vim /etc/hosts

    如果有 localhost.localdomain(如下) 把它修改为 localhost

    127.0.0.1 localhost localhost.localdomain

    重启系统

    reboot

    这里有一个讨巧的方法,上面一步重启不执行,执行

    hostname localhost

    这个意思是临时修改主机名称

    2 mkdir: Call From localhost/127.0.0.1 to localhost:9000 failed on connection exception

    mkdir: Call From localhost/127.0.0.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

    出现这个问题的原因,你没有格式化,先退出,重新执行格式化命令

    查看: http://www.powerxing.com/install-hadoop-simplify/

    最新回复(0)