精华内容
下载资源
问答
  • hadoop 安装

    千次阅读 2018-06-06 12:04:27
    1.下载:wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.8.4/hadoop-2.8.4.tar.gz2.解压:tar -...设置环境变量:vim /etc/profile添加以下内容(/opt/soft/hadoop/hadoop-2.8.4为Hadoop安装地址):ex...

    1.下载:

    wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.8.4/hadoop-2.8.4.tar.gz

    2.解压:

    tar -zxvf hadoop-2.8.4.tar.gz

    3.设置环境变量:

    vim /etc/profile

    添加以下内容(/opt/soft/hadoop/hadoop-2.8.4为Hadoop安装地址):

    export HADOOP_HOME=/opt/soft/hadoop/hadoop-2.8.4
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    4.生效环境变量:

    source /etc/profile

    5.判断Hadoop是否安装成功:

    hadoop version

    展开全文
  • hadoop安装部署

    万次阅读 2020-10-06 20:00:13
    这里写目录标题hadoop安装部署安装流程1、Hadoop安装部署1、1Hadoop安装部署 安装流程 1、 上传软件包到管理节点,在管理节点解压并配置 2、 将修改完的解压包,远程拷贝到所有的从节点 3、 启动软件 1、Hadoop安装...

    hadoop安装部署

    安装流程

    1、 上传软件包到管理节点,在管理节点解压并配置
    2、 将修改完的解压包,远程拷贝到所有的从节点
    3、 启动软件

    1、Hadoop安装部署

    1、1Hadoop安装部署

    1、 软件包上传并解压
    a) tar -zxvf hadoop-2.6.0-cdh5.14.0-with-centos6.9.tar.gz -C …/servers/
    2、 第二步查看hadoop支持的压缩方式以及本地库a)

    a) ./hadoop checknative
    在这里插入图片描述

    b)安装
    openssl
    yum -y install openssl-devel
    ./hadoop checknative
    在这里插入图片描述

    3、 修改配置文件
    a) core-site.xml
    b) hdfs-site.xml
    c) Hadoop-env.sh (不用改)
    d) mapred-site.xml
    i. cp mapred-site.xml.template mapred-site.xml
    ii. 修改e) yarn-site.xml
    f) slaves
    4、 创建文件夹

    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas 
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits
    

    5、安装包的分发
    scp -r hadoop-2.6.0-cdh5.14.0/ node02:PWDscprhadoop2.6.0cdh5.14.0/node03:PWD scp -r hadoop-2.6.0-cdh5.14.0/ node03:PWD

    6、配置hadoop环境变量
    a) 创建文件/etc/profile.d/hadoop.sh 并编辑
    export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
    export PATH=PATH:PATH:HADOOP_HOME/bin
    b) source /etc/profile

    7、 启动集群
    a) 格式化集群在第一个节点执行 hadoop namenode -format
    在这里插入图片描述

    b) 启动
    i. 每个组件独立启动

    1. 启动namenode node01节点 ./hadoop-daemon.sh start namenode
    2. 启动namenode node01、02、03节点 ./hadoop-daemon.sh start datanode
    3. 启动resourcemanager node01节点 ./yarn-daemon.sh start resourcemanager
    4. 启动nodemanager node01、02、03节点 ./yarn-daemon.sh start nodemanager

    ii. 单独启动

    1. 单独启动HDFS : ./start-dfs.sh 关闭 ./stop-dfs.sh
    2. 单独启动Yarn : ./start-yarn.sh 关闭 ./stop-yarn.sh
      iii. 一键启动所有
      启动: ./start-all.sh 关闭:./stop-all.sh

    8、浏览器查看启动页面
    http://主节点ip:50070
    在这里插入图片描述

    http://主节点ip:8088

    在这里插入图片描述

    展开全文
  • hadoop安装

    千次阅读 2017-12-29 13:57:13
    本教程适合于在 CentOS 6.x 系统中安装原生 Hadoop 2,适用于Hadoop 2.7.1, Hadoop 2.6.0 等版本,主要参考了官方安装教程,步骤详细,辅以适当说明,相信按照步骤来,都能顺利在 CentOS 中安装并运行 Hadoop。 ...

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

    环境

    本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统。如果用的是 Ubuntu 系统,请查看相应的 Ubuntu安装Hadoop教程

    本教程基于原生 Hadoop 2,在 Hadoop 2.6.0 (stable) 版本下验证通过,可适合任何 Hadoop 2.x.y 版本,例如 Hadoop 2.7.1, Hadoop 2.4.1等。

    Hadoop版本

    Hadoop 有两个主要版本,Hadoop 1.x.y 和 Hadoop 2.x.y 系列,比较老的教材上用的可能是 0.20 这样的版本。Hadoop 2.x 版本在不断更新,本教程均可适用。如果需安装 0.20,1.2.1这样的版本,本教程也可以作为参考,主要差别在于配置项,配置请参考官网教程或其他教程。

    新版是兼容旧版的,书上旧版本的代码应该能够正常运行(我自己没验证,欢迎验证反馈)。

    装好了 CentOS 系统之后,在安装 Hadoop 前还需要做一些必备工作。

    创建hadoop用户

    如果你安装 CentOS 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。

    首先点击左上角的 “应用程序” -> “系统工具” -> “终端”,首先在终端中输入 su ,按回车,输入 root 密码以 root 用户登录,接着执行命令创建新用户 hadoop:

    1. su # 上述提到的以 root 用户登录
    2. useradd -m hadoop -s /bin/bash # 创建新用户hadoop
    Shell 命令

    如下图所示,这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为shell。

    CentOS创建hadoop用户CentOS创建hadoop用户

    接着使用如下命令修改密码,按提示输入两次密码,可简单的设为 “hadoop”(密码随意指定,若提示“无效的密码,过于简单”则再次输入确认就行):

    1. passwd hadoop
    Shell 命令

    可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题,执行:

    1. visudo
    Shell 命令

    如下图,找到 root ALL=(ALL) ALL 这行(应该在第98行,可以先按一下键盘上的 ESC 键,然后输入 :98 (按一下冒号,接着输入98,再按回车键),可以直接跳到第98行 ),然后在这行下面增加一行内容:hadoop ALL=(ALL) ALL (当中的间隔为tab),如下图所示:

    为hadoop增加sudo权限为hadoop增加sudo权限

    添加好内容后,先按一下键盘上的 ESC 键,然后输入 :wq (输入冒号还有wq,这是vi/vim编辑器的保存方法),再按回车键保存退出就可以了。

    最后注销当前用户(点击屏幕右上角的用户名,选择退出->注销),在登陆界面使用刚创建的 hadoop 用户进行登陆。(如果已经是 hadoop 用户,且在终端中使用 su 登录了 root 用户,那么需要执行 exit 退出 root 用户状态)

    准备工作

    使用 hadoop 用户登录后,还需要安装几个软件才能安装 Hadoop。

    CentOS 使用 yum 来安装软件,需要联网环境,首先应检查一下是否连上了网络。如下图所示,桌面右上角的网络图标若显示红叉,则表明还未联网,应点击选择可用网络。

    检查是否联网检查是否联网

    连接网络后,需要安装 SSH 和 Java。

    安装SSH、配置SSH无密码登陆

    集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),一般情况下,CentOS 默认已安装了 SSH client、SSH server,打开终端执行如下命令进行检验:

    1. rpm -qa | grep ssh
    Shell 命令

    如果返回的结果如下图所示,包含了 SSH client 跟 SSH server,则不需要再安装。

    检查是否安装了SSH检查是否安装了SSH

    若需要安装,则可以通过 yum 进行安装(安装过程中会让你输入 [y/N],输入 y 即可):

    1. sudo yum install openssh-clients
    2. sudo yum install openssh-server
    Shell 命令

    接着执行如下命令测试一下 SSH 是否可用:

    1. ssh localhost
    Shell 命令

    此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 hadoop,这样就登陆到本机了。

    测试SSH是否可用测试SSH是否可用

    但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。

    首先输入 exit 退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

    1. exit # 退出刚才的 ssh localhost
    2. cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
    3. ssh-keygen -t rsa # 会有提示,都按回车就可以
    4. cat id_rsa.pub >> authorized_keys # 加入授权
    5. chmod 600 ./authorized_keys # 修改文件权限
    Shell 命令
    ~的含义

    在 Linux 系统中,~ 代表的是用户的主文件夹,即 “/home/用户名” 这个目录,如你的用户名为 hadoop,则 ~ 就代表 “/home/hadoop/”。 此外,命令中的 # 后面的文字是注释。

    此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了,如下图所示。

    SSH无密码登录SSH无密码登录

    安装Java环境

    Java 环境可选择 Oracle 的 JDK,或是 OpenJDK,现在一般 Linux 系统默认安装的基本是 OpenJDK,如 CentOS 6.4 就默认安装了 OpenJDK 1.7。按 http://wiki.apache.org/hadoop/HadoopJavaVersions 中说的,Hadoop 在 OpenJDK 1.7 下运行是没问题的。需要注意的是,CentOS 6.4 中默认安装的只是 Java JRE,而不是 JDK,为了开发方便,我们还是需要通过 yum 进行安装 JDK,安装过程中会让输入 [y/N],输入 y 即可:

    1. sudo yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
    Shell 命令

    通过上述命令安装 OpenJDK,默认安装位置为 /usr/lib/jvm/java-1.7.0-openjdk(该路径可以通过执行 rpm -ql java-1.7.0-openjdk-devel | grep '/bin/javac' 命令确定,执行后会输出一个路径,除去路径末尾的 “/bin/javac”,剩下的就是正确的路径了)。OpenJDK 安装后就可以直接使用 java、javac 等命令了。

    接着需要配置一下 JAVA_HOME 环境变量,为方便,我们在 ~/.bashrc 中进行设置(扩展阅读: 设置Linux环境变量的方法和区别):

    1. vim ~/.bashrc
    Shell 命令

    在文件最后面添加如下单独一行(指向 JDK 的安装位置),并保存:

    1. export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk
    Shell

    如下图所示:

    设置JAVA_HOME环境变量设置JAVA_HOME环境变量

    接着还需要让该环境变量生效,执行如下代码:

    1. source ~/.bashrc # 使变量设置生效
    Shell 命令

    设置好后我们来检验一下是否设置正确:

    1. echo $JAVA_HOME # 检验变量值
    2. java -version
    3. $JAVA_HOME/bin/java -version # 与直接执行 java -version 一样
    Shell 命令

    如果设置正确的话,$JAVA_HOME/bin/java -version 会输出 java 的版本信息,且和 java -version 的输出结果一样,如下图所示:

    成功设置JAVA_HOME环境变量成功设置JAVA_HOME环境变量

    这样,Hadoop 所需的 Java 运行环境就安装好了。

    安装 Hadoop 2

    Hadoop 2 可以通过 http://mirror.bit.edu.cn/apache/hadoop/common/ 或者 http://mirrors.cnnic.cn/apache/hadoop/common/ 下载,本教程选择的是 2.6.0 版本,下载时请下载 hadoop-2.x.y.tar.gz这个格式的文件,这是编译好的,另一个包含 src 的则是 Hadoop 源代码,需要进行编译才可使用。

    下载时强烈建议也下载 hadoop-2.x.y.tar.gz.mds 这个文件,该文件包含了检验值可用于检查 hadoop-2.x.y.tar.gz 的完整性,否则若文件发生了损坏或下载不完整,Hadoop 将无法正常运行。

    本文涉及的文件均通过浏览器下载,默认保存在 “下载” 目录中(若不是请自行更改 tar 命令的相应目录)。另外,如果你用的不是 2.6.0 版本,则将所有命令中出现的 2.6.0 更改为你所使用的版本。

    1. cat ~/下载/hadoop-2.6.0.tar.gz.mds | grep 'MD5' # 列出md5检验值
    2. # head -n 6 ~/下载/hadoop-2.7.1.tar.gz.mds # 2.7.1版本格式变了,可以用这种方式输出
    3. md5sum ~/下载/hadoop-2.6.0.tar.gz | tr "a-z" "A-Z" # 计算md5值,并转化为大写,方便比较
    Shell 命令

    若文件不完整则这两个值一般差别很大,可以简单对比下前几个字符跟后几个字符是否相等即可,如下图所示,如果两个值不一样,请务必重新下载。

    检验文件完整性检验文件完整性

    我们选择将 Hadoop 安装至 /usr/local/ 中:

    1. sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中
    2. cd /usr/local/
    3. sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
    4. sudo chown -R hadoop:hadoop ./hadoop # 修改文件权限
    Shell 命令

    Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

    1. cd /usr/local/hadoop
    2. ./bin/hadoop version
    Shell 命令
    相对路径与绝对路径的区别

    请务必注意命令中的相对路径与绝对路径,本文后续出现的 ./bin/..../etc/... 等包含 ./ 的路径,均为相对路径,以 /usr/local/hadoop 为当前目录。例如在 /usr/local/hadoop 目录中执行 ./bin/hadoop version 等同于执行 /usr/local/hadoop/bin/hadoop version。可以将相对路径改成绝对路径来执行,但如果你是在主文件夹 ~ 中执行 ./bin/hadoop version,执行的会是 /home/hadoop/bin/hadoop version,就不是我们所想要的了。

    Hadoop单机配置(非分布式)

    Hadoop 默认模式为非分布式模式,无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。

    现在我们可以执行例子来感受下 Hadoop 的运行。Hadoop 附带了丰富的例子(运行 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 可以看到所有例子),包括 wordcount、terasort、join、grep 等。

    在此我们选择运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。

    1. cd /usr/local/hadoop
    2. mkdir ./input
    3. cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
    4. ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
    5. cat ./output/* # 查看运行结果
    Shell 命令

    若运行出错,如出现如下图提示:

    运行Hadoop实例时可能会报错运行Hadoop实例时可能会报错

    若出现提示 “WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable”,该 WARN 提示可以忽略,不会影响 Hadoop 正常运行(可通过编译 Hadoop 源码解决,解决方法请自行搜索)。

    若出现提示 “INFO metrics.MetricsUtil: Unable to obtain hostName java.net.UnknowHostException”,这需要执行如下命令修改 hosts 文件,为你的主机名增加IP映射:

    1. sudo vim /etc/hosts
    Shell 命令

    主机名在终端窗口标题里可以看到,或执行命令 hostname 查看,如下图所示,在最后面增加一行 “127.0.0.1 dblab”:

    设置主机名的IP映射设置主机名的IP映射

    保存文件后,重新运行 hadoop 实例,若执行成功的话会输出很多作业的相关信息,最后的输出信息如下图所示。作业的结果会输出在指定的 output 文件夹中,通过命令 cat ./output/* 查看结果,符合正则的单词 dfsadmin 出现了1次:

    Hadoop例子输出结果Hadoop例子输出结果

    注意,Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。

    1. rm -r ./output
    Shell 命令

    Hadoop伪分布式配置

    Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。

    在设置 Hadoop 伪分布式配置前,我们还需要设置 HADOOP 环境变量,执行如下命令在 ~/.bashrc 中设置:

    1. gedit ~/.bashrc
    Shell 命令

    这次我们选择用 gedit 而不是 vim 来编辑。gedit 是文本编辑器,类似于 Windows 中的记事本,会比较方便。保存后记得关掉整个 gedit 程序,否则会占用终端。在文件最后面增加如下内容:

    1. # Hadoop Environment Variables
    2. export HADOOP_HOME=/usr/local/hadoop
    3. export HADOOP_INSTALL=$HADOOP_HOME
    4. export HADOOP_MAPRED_HOME=$HADOOP_HOME
    5. export HADOOP_COMMON_HOME=$HADOOP_HOME
    6. export HADOOP_HDFS_HOME=$HADOOP_HOME
    7. export YARN_HOME=$HADOOP_HOME
    8. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    9. export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
    Shell

    保存后,不要忘记执行如下命令使配置生效:

    1. source ~/.bashrc
    Shell 命令

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

    Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

    修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml),将当中的

    1. <configuration>
    2. </configuration>
    XML

    修改为下面配置:

    1. <configuration>
    2. <property>
    3. <name>hadoop.tmp.dir</name>
    4. <value>file:/usr/local/hadoop/tmp</value>
    5. <description>Abase for other temporary directories.</description>
    6. </property>
    7. <property>
    8. <name>fs.defaultFS</name>
    9. <value>hdfs://localhost:9000</value>
    10. </property>
    11. </configuration>
    XML

    同样的,修改配置文件 hdfs-site.xml

    1. <configuration>
    2. <property>
    3. <name>dfs.replication</name>
    4. <value>1</value>
    5. </property>
    6. <property>
    7. <name>dfs.namenode.name.dir</name>
    8. <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    9. </property>
    10. <property>
    11. <name>dfs.datanode.data.dir</name>
    12. <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    13. </property>
    14. </configuration>
    XML

    配置完成后,执行 NameNode 的格式化:

    1. ./bin/hdfs namenode -format
    Shell 命令

    成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。

    执行NameNode格式化执行NameNode格式化

    接着开启 NaneNode 和 DataNode 守护进程:

    1. ./sbin/start-dfs.sh
    Shell 命令

    若出现如下 SSH 的提示 “Are you sure you want to continue connecting”,输入 yes 即可。

    首次启动Hadoop时的SSH提示首次启动Hadoop时的SSH提示

    启动时可能会有 WARN 提示 “WARN util.NativeCodeLoader…” 如前面提到的,这个提示不会影响正常使用。

    启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode”和SecondaryNameNode(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。

    通过jps查看启动的Hadoop进程通过jps查看启动的Hadoop进程

    通过查看启动日志分析启动失败原因

    有时 Hadoop 无法正确启动,如 NameNode 进程没有顺利启动,这时可以查看启动日志来排查原因,注意几点:

    • 启动时会提示形如 “dblab: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-dblab.out”,其中 dblab 对应你的主机名,但启动的日志信息是记录在 /usr/local/hadoop/logs/hadoop-hadoop-namenode-dblab.log 中,所以应该查看这个后缀为 .log 的文件;
    • 每一次的启动日志都是追加在日志文件之后,所以得拉到最后面看,看下记录的时间就知道了。
    • 一般出错的提示在最后面,也就是写着 Fatal、Error 或者 Java Exception 的地方。
    • 可以在网上搜索一下出错信息,看能否找到一些相关的解决方法。

    成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

    Hadopp的Web界面Hadopp的Web界面

    运行Hadoop伪分布式实例

    上面的单机模式,grep 例子读取的是本地数据,伪分布式读取的则是 HDFS 上的数据。要使用 HDFS,首先需要在 HDFS 中创建用户目录:

    1. ./bin/hdfs dfs -mkdir -p /user/hadoop
    Shell 命令

    接着将 ./etc/hadoop 中的 xml 文件作为输入文件复制到分布式文件系统中,即将 /usr/local/hadoop/etc/hadoop 复制到分布式文件系统中的 /user/hadoop/input 中。我们使用的是 hadoop 用户,并且已创建相应的用户目录 /user/hadoop ,因此在命令中就可以使用相对路径如 input,其对应的绝对路径就是 /user/hadoop/input:

    1. ./bin/hdfs dfs -mkdir input
    2. ./bin/hdfs dfs -put ./etc/hadoop/*.xml input
    Shell 命令

    复制完成后,可以通过如下命令查看 HDFS 中的文件列表:

    1. ./bin/hdfs dfs -ls input
    Shell 命令

    伪分布式运行 MapReduce 作业的方式跟单机模式相同,区别在于伪分布式读取的是HDFS中的文件(可以将单机步骤中创建的本地 input 文件夹,输出结果 output 文件夹都删掉来验证这一点)。

    1. ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'
    Shell 命令

    查看运行结果的命令(查看的是位于 HDFS 中的输出结果):

    1. ./bin/hdfs dfs -cat output/*
    Shell 命令

    结果如下,注意到刚才我们已经更改了配置文件,所以运行结果不同。

    Hadoop伪分布式运行grep的结果Hadoop伪分布式运行grep的结果

    我们也可以将运行结果取回到本地:

    1. rm -r ./output # 先删除本地的 output 文件夹(如果存在)
    2. ./bin/hdfs dfs -get output ./output # 将 HDFS 上的 output 文件夹拷贝到本机
    3. cat ./output/*
    Shell 命令

    Hadoop 运行程序时,输出目录不能存在,否则会提示错误 “org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://localhost:9000/user/hadoop/output already exists” ,因此若要再次执行,需要执行如下命令删除 output 文件夹:

    1. ./bin/hdfs dfs -rm -r output # 删除 output 文件夹
    Shell 命令
    运行程序时,输出目录不能存在

    运行 Hadoop 程序时,为了防止覆盖结果,程序指定的输出目录(如 output)不能存在,否则会提示错误,因此运行前需要先删除输出目录。在实际开发应用程序时,可考虑在程序中加上如下代码,能在每次运行时自动删除输出目录,避免繁琐的命令行操作:

    1. Configuration conf = new Configuration();
    2. Job job = new Job(conf);
    3.  
    4. /* 删除输出目录 */
    5. Path outputPath = new Path(args[1]);
    6. outputPath.getFileSystem(conf).delete(outputPath, true);
    Java

    若要关闭 Hadoop,则运行

    1. ./sbin/stop-dfs.sh
    Shell 命令
    注意

    下次启动 hadoop 时,无需进行 NameNode 的初始化,只需要运行 ./sbin/start-dfs.sh 就可以!

    启动YARN

    (伪分布式不启动 YARN 也可以,一般不会影响程序执行)

    有的读者可能会疑惑,怎么启动 Hadoop 后,见不到书上所说的 JobTracker 和 TaskTracker,这是因为新版的 Hadoop 使用了新的 MapReduce 框架(MapReduce V2,也称为 YARN,Yet Another Resource Negotiator)。

    YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度。YARN 运行于 MapReduce 之上,提供了高可用性、高扩展性,YARN 的更多介绍在此不展开,有兴趣的可查阅相关资料。

    上述通过 ./sbin/start-dfs.sh 启动 Hadoop,仅仅是启动了 MapReduce 环境,我们可以启动 YARN ,让 YARN 来负责资源管理与任务调度。

    首先修改配置文件 mapred-site.xml,这边需要先进行重命名:

    1. mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
    Shell 命令

    然后再进行编辑,同样使用 gedit 编辑会比较方便些 gedit ./etc/hadoop/mapred-site.xml :

    1. <configuration>
    2. <property>
    3. <name>mapreduce.framework.name</name>
    4. <value>yarn</value>
    5. </property>
    6. </configuration>
    XML

    接着修改配置文件 yarn-site.xml

    1. <configuration>
    2. <property>
    3. <name>yarn.nodemanager.aux-services</name>
    4. <value>mapreduce_shuffle</value>
    5. </property>
    6. </configuration>
    XML

    然后就可以启动 YARN 了(需要先执行过 ./sbin/start-dfs.sh):

    1. ./sbin/start-yarn.sh $ 启动YARN
    2. ./sbin/mr-jobhistory-daemon.sh start historyserver # 开启历史服务器,才能在Web中查看任务运行情况
    Shell 命令

    开启后通过 jps 查看,可以看到多了 NodeManager 和 ResourceManager 两个后台进程,如下图所示。

    开启YARN开启YARN

    启动 YARN 之后,运行实例的方法还是一样的,仅仅是资源管理方式、任务调度不同。观察日志信息可以发现,不启用 YARN 时,是 “mapred.LocalJobRunner” 在跑任务,启用 YARN 之后,是 “mapred.YARNRunner” 在跑任务。启动 YARN 有个好处是可以通过 Web 界面查看任务的运行情况:http://localhost:8088/cluster,如下图所示。

    开启YARN后可以查看任务运行信息开启YARN后可以查看任务运行信息

    但 YARN 主要是为集群提供更好的资源管理与任务调度,然而这在单机上体现不出价值,反而会使程序跑得稍慢些。因此在单机上是否开启 YARN 就看实际情况了。

    不启动 YARN 需重命名 mapred-site.xml

    如果不想启动 YARN,务必把配置文件 mapred-site.xml 重命名,改成 mapred-site.xml.template,需要用时改回来就行。否则在该配置文件存在,而未开启 YARN 的情况下,运行程序会提示 “Retrying connect to server: 0.0.0.0/0.0.0.0:8032” 的错误,这也是为何该配置文件初始文件名为 mapred-site.xml.template。

    同样的,关闭 YARN 的脚本如下:

    1. ./sbin/stop-yarn.sh
    2. ./sbin/mr-jobhistory-daemon.sh stop historyserver
    Shell 命令

    自此,你已经掌握 Hadoop 的配置和基本使用了。

    附加教程: 配置PATH环境变量

    在这里额外讲一下 PATH 这个环境变量(可执行 echo $PATH 查看,当中包含了多个目录)。例如我们在主文件夹 ~ 中执行 ls 这个命令时,实际执行的是 /bin/ls 这个程序,而不是 ~/ls 这个程序。系统是根据 PATH 这个环境变量中包含的目录位置,逐一进行查找,直至在这些目录位置下找到匹配的程序(若没有匹配的则提示该命令不存在)。

    上面的教程中,我们都是先进入到 /usr/local/hadoop 目录中,再执行 ./sbin/hadoop,实际上等同于运行 /usr/local/hadoop/sbin/hadoop。我们可以将 Hadoop 命令的相关目录加入到 PATH 环境变量中,这样就可以直接通过 start-dfs.sh 开启 Hadoop,也可以直接通过 hdfs 访问 HDFS 的内容,方便平时的操作。

    在前面我们设置 HADOOP 环境变量时,我们已经顺便设置了 PATH 变量(即 “export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin”),那么以后我们在任意目录中都可以直接通过执行 start-dfs.sh 来启动 Hadoop 或者执行 hdfs dfs -ls input 查看 HDFS 文件了,读者不妨现在就执行 hdfs dfs -ls input 试试看。

    安装Hadoop集群

    在平时的学习中,我们使用伪分布式就足够了。如果需要安装 Hadoop 集群,请查看Hadoop集群安装配置教程

    相关教程

    参考资料

    展开全文
  • Hadoop安装与配置详细教程

    万次阅读 多人点赞 2019-04-27 17:50:42
    【确保服务器集群安装和配置已经完成!】 前言 请根据读者的自身情况,进行相应随机应变。 我的三台CentOS7服务器: 主机:master(192.168.56.110) 从机:slave0(192.168.56.111) 从机:slave1(192.168.56.112...

    【确保服务器集群安装和配置已经完成!】

    前言

    请根据读者的自身情况,进行相应随机应变。

    我的三台CentOS7服务器:
    主机:master(192.168.56.110)
    从机:slave0(192.168.56.111)
    从机:slave1(192.168.56.112)

    每一个节点的安装与配置是相同的,在实际工作中,通常在master节点上完成安装和配置后,然后将安装目录复制到其他节点就可以,没有必要把所有节点都配置一遍,那样没有效率。

    注意:所有操作都是root用户权限

    下载Hadoop安装包

    Hadoop官网:http://hadoop.apache.org/
    我这里用的Hadoop版本下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.7.5/

    解压Hadoop安装包(只在master做)

    确保network网络已经配置好,使用Xftp等类似工具进行上传,把hadoop-2.7.5.tar.gz上传到/opt/hadoop目录内。
    上传完成后,在master主机上执行以下代码:

    cd /opt/hadoop
    

    进入/opt/hadoop目录后,执行解压缩命令:

    tar -zxvf hadoop-2.7.5.tar.gz
    

    回车后系统开始解压,屏幕会不断滚动解压过程,执行成功后,系统在hadoop目录自动创建hadoop-2.7.5子目录。

    然后修改文件夹名称为“hadoop”,即hadoop安装目录,执行修改文件夹名称命令:

    mv hadoop-2.7.5 hadoop
    

    注意:也可用Xftp查看相应目录是否存在,确保正确完成。

    我们进入安装目录,查看一下安装文件,如果显示如图文件列表,说明压缩成功
    在这里插入图片描述

    配置env文件(只在master做)

    请先看如下命令(并且记住它们,后续操作大量用到,并且不再赘述):
    A. 进入编辑状态:insert
    B. 删除:delete
    C. 退出编辑状态:ctrl+[
    D. 进入保存状态:ctrl+]
    E. 保存并退出:" :wq " 注意先输入英文状态下冒号
    F. 不保存退出:" :q! " 同上

    大概执行顺序:A→B→C→D→E

    配置jdk文件
    执行命令:

    vi /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh
    

    找到 “ export JAVA_HOME ” 这行,用来配置jdk路径

    修改为:export JAVA_HOME=/usr/local/java/jdk1.8.0_162/
    在这里插入图片描述

    配置核心组件文件(只在master做)

    Hadoop的核心组件文件是core-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,用vi编辑core-site.xml文件,需要将下面的配置代码放在文件的<configuration>和</configuration>之间。

    执行编辑core-site.xml文件的命令:

    vi /opt/hadoop/hadoop/etc/hadoop/core-site.xml
    

    需要在<configuration>和</configuration>之间加入的代码:

    <property>
    		<name>fs.defaultFS</name>
    		<value>hdfs://master:9000</value>
    	</property>
    	<property>
    		<name>hadoop.tmp.dir</name>
    		<value>/opt/hadoop/hadoopdata</value>
    </property>
    

    编辑完成后,退出并保存即可!

    配置文件系统(只在master做)

    Hadoop的文件系统配置文件是hdfs-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,用vi编辑该文件,需要将以下代码放在文件的<configuration>和</configuration>之间。

    执行编辑hdfs-site.xml文件的命令:

    vi /opt/hadoop/hadoop/etc/hadoop/hdfs-site.xml
    

    需要在<configuration>和</configuration>之间加入的代码:

    <property>
    		<name>dfs.replication</name>
    		<value>1</value>
    </property>
    

    编辑完成后,退出保存即可!

    配置 yarn-site.xml 文件(只在master做)

    Yarn的站点配置文件是yarn-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,依然用vi编辑该文件,将以下代码放在文件的<configuration>和</configuration>之间。

    执行编辑yarn-site.xml文件的命令:

    vi /opt/hadoop/hadoop/etc/hadoop/yarn-site.xml
    

    需要在<configuration>和</configuration>之间加入的代码:

    <property>
    	<name>yarn.nodemanager.aux-services</name>
    	<value>mapreduce_shuffle</value>
    </property>
    <property>
    	<name>yarn.resourcemanager.address</name>
    	<value>master:18040</value>
    </property>
    <property>
    	<name>yarn.resourcemanager.scheduler.address</name>
    	<value>master:18030</value>
    </property>
    <property>
    	<name>yarn.resourcemanager.resource-tracker.address</name>
    	<value>master:18025</value>
    </property>
    <property>
    	<name>yarn.resourcemanager.admin.address</name>
    	<value>master:18141</value>
    </property>
    <property>
    	<name>yarn.resourcemanager.webapp.address</name>
    	<value>master:18088</value>
    </property>
    

    配置MapReduce计算框架文件(只在master做)

    在/opt/hadoop/hadoop/etc/hadoop子目录下,系统已经有一个mapred-site.xml.template文件,我们需要将其复制并改名,位置不变。

    执行复制和改名操作命令:

    cp /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml
    

    然后用vi编辑mapred-site.xml文件,需要将下面的代码填充到文件的<configuration>和</configuration>之间。

    执行命令:

    vi /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml
    

    需要在<configuration>和</configuration>之间加入的代码:

    <property>
    		<name>mapreduce.framework.name</name>
    		<value>yarn</value>
    </property>
    

    编辑完毕,保存退出即可!

    配置master的slaves文件(只在master做)

    slaves文件给出了Hadoop集群的slave节点列表,该文件十分的重要,因为启动Hadoop的时候,系统总是根据当前slaves文件中的slave节点名称列表启动集群,不在列表中的slave节点便不会被视为计算节点。

    执行编辑slaves文件命令:

    vi /opt/hadoop/hadoop/etc/hadoop/slaves
    

    注意:用vi编辑slaves文件,应该根据读者您自己所搭建集群的实际情况进行编辑。
    例如:我这里已经安装了slave0和slave1,并且计划将它们全部投入Hadoop集群运行。

    所以应当加入以下代码:

    slave0
    slave1
    

    注意:删除slaves文件中原来localhost那一行!

    复制master上的Hadoop到slave节点(只在master做)

    通过复制master节点上的hadoop,能够大大提高系统部署效率,假设我们有200台需要配置…笔者岂不白头

    由于我这里有slave0和slave1,所以复制两次。

    复制命令:

    scp -r /opt/hadoop root@slave0:/opt
    scp -r /opt/hadoop root@slave1:/opt
    

    Hadoop集群的启动-配置操作系统环境变量(三个节点都做)

    回到用户目录命令:

    cd /opt/hadoop
    

    然后用vi编辑.bash_profile文件,命令:

    vi ~/.bash_profile
    

    最后把以下代码追加到文件的尾部:

    #HADOOP
    export HADOOP_HOME=/opt/hadoop/hadoop
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    

    保存退出后,执行命令:

    source ~/.bash_profile
    

    source ~/.bash_profile命令是使上述配置生效

    提示:在slave0和slave1使用上述相同的配置方法,进行三个节点全部配置。

    创建Hadoop数据目录(只在master做)

    创建数据目录,命令是:

    mkdir /opt/hadoop/hadoopdata
    

    通过Xftp可查看该hadoopdata

    格式化文件系统(只在master做)

    执行格式化文件系统命令:

    hadoop namenode -format
    

    启动和关闭Hadoop集群(只在master做)

    首先进入安装主目录,命令是:

    cd /opt/hadoop/hadoop/sbin
    

    提示:目前文件位置可在Xshell顶部栏观察

    然后启动,命令是:

    start-all.sh
    

    执行命令后,系统提示 ” Are you sure want to continue connecting(yes/no)”,输入yes,之后系统即可启动。
    注意:可能会有些慢,千万不要以为卡掉了,然后强制关机,这是错误的。

    如果要关闭Hadoop集群,可以使用命令:

    stop-all.sh
    

    下次启动Hadoop时,无须NameNode的初始化,只需要使用start-dfs.sh命令即可,然后接着使用start-yarn.sh启动Yarn。

    实际上,Hadoop建议放弃(deprecated)使用start-all.sh和stop-all.sh一类的命令,而改用start-dfs.sh和start-yarn.sh命令。

    验证Hadoop集群是否启动成功

    读者您可以在终端执行jps命令查看Hadoop是否启动成功。

    在master节点,执行:

    jps
    

    如果显示:SecondaryNameNode、 ResourceManager、 Jps 和NameNode这四个进程,则表明主节点master启动成功
    在这里插入图片描述
    然后分别在slave0和slave1节点下执行命令:

    jps
    

    如果成功显示:NodeManager、Jps 和 DataNode,这三个进程,则表明从节点(slave0和slave1)启动成功
    在这里插入图片描述

    写在后面

    如果觉得本文帮助了你,还请高抬贵手赠予 uh5 项目 一个 Star。

    展开全文
  • Hadoop安装

    千次阅读 2012-12-28 11:08:45
    Centos下安装 Hadoop 硬件条件:两台相同机器 master主服务器 和 slave从服务器 (两台防火墙都关闭) 修改IP # vi /etc/sysconfig/network-scripts/ifcfg-eth0 master设置为 192.168.1.66 slave 设置为 192.168....
  • Hadoop安装部署

    千次阅读 2020-10-07 08:16:14
    Hadoop安装部署 1、 软件包上传并解压 a) tar -zxvf hadoop-2.6.0-cdh5.14.0-with-centos6.9.tar.gz -C …/servers/ 2、 第二步查看hadoop支持的压缩方式以及本地库 a) ./hadoop checknative b) 安装openssl yum -y...
  • Hadoop安装实验报告

    千次阅读 2019-05-21 13:26:46
    jdk安装以及Hadoop 安装
  • 大数据环境搭建—3.Hadoop安装

    千次阅读 2021-03-10 19:12:40
    大数据环境搭建—3.Hadoop安装大数据环境搭建—3.Hadoop安装大数据集群1.具体步骤如下:本地模式运行官方示例使用NotePad++编辑Linux文件 大数据环境搭建—3.Hadoop安装 大数据集群 1.具体步骤如下: ...
  • hadoop 安装教程

    千次阅读 2016-06-16 12:43:40
    当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛。尽管安装其实很简单,书上有写到,官方网站也有 Hadoop 安装配置教程,但由于对 Linux 环境不熟悉,书上跟官网上简略的安装步骤新手往往 Hold ...
  • 环境搭建_Hadoop安装

    千次阅读 2021-03-05 08:44:59
    环境搭建_Hadoop安装 0. Hadoop下载地址: https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/ 1.上传到software目录 1.用SecureCRT工具将hadoop-2.7.2.tar.gz导入到opt目录下面的software文件夹下面 ...
  • hadoop安装和SSH

    千次阅读 2018-04-13 16:34:38
    hadoop安装:1、到官网下载hadoop-x.x.x.tar.gz,不要下成src的了,wget (http://网址);2、tar -zxf 源目录 -C 解压目录3、在local目录下赋权:chown -R hadoop:hadoop ./hadoop4、检查是否安装好:./bin/hadoop ...
  • hadoop 安装hadoop 源码打包

    千次阅读 2014-10-16 18:16:00
    hadoop 安装 本人的linux 机器上已经装过,maven,jdk1.7,
  • Hadoop安装及开发

    千次阅读 2016-05-06 20:35:54
    Hadoop安装 安装环境 本人开发用的电脑操作系统是ubuntu14.04 64位,因此本文讲述的是Hadoop在ubuntu14.0464bit系统下的安装,实际上Hadoop目前也只支持Linux系统。有人号称在Windows下成功安装了Hadoop,我是没有...
  • hadoop安装配置

    千次阅读 2014-07-25 11:19:55
    //hadoop安装配置---coco # by coco #2014-07-25 本资料主要介绍hadoop的安装配置过程。如有不懂的请联系:qq:120890945 本次环境以3台虚拟机为主: 192.168.8.96 db96 192.168.8.98 db98 192.168....
  • Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04   当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛。尽管安装其实很简单,书上有写到,官方网站也有 Hadoop 安装配置教程,但由于对 ...
  • Hadoop安装使用HDFS(Windows)

    千次阅读 2017-12-05 18:34:09
    Hadoop安装使用HDFS(Windows) 转载hadoop安装
  • 在上一步安装好cygwin环境后,下面进入hadoop安装。  - 安装JDK Hadoop运行需要jdk环境,我下载了最新的jdk7u5版本(http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html) ...
  • 实验一 Hadoop安装与配置

    千次阅读 2019-05-21 12:14:06
    Hadoop安装与配置 一、实验目的:Hadoop安装与配置 二、实验的步骤与方法 1、下载安装VMware 2、安装CentOs系统 ①、双击打开VMware,建立新的虚拟机 ②、选择典型按安装步骤一步步进行 ③、设置自己的...
  • Hadoop安装与配置之前,需要准备的环境:虚拟机、Linux系统、配置JDK环境变量。 若以上还没准备,请参考以下文章: 1.VMware下载安装及CentOS7下载安装 2.Linux安装jdk1.8和配置环境变量 步骤二:下载 ...
  • centos7下hadoop安装

    千次阅读 2017-12-25 21:58:09
    centos7下hadoop安装jdk安装1.centos下默认安装的是openjdk,需要先卸载。先检查是否含有openjdk的包 java -version rpm -qa | grep java2.如果发现有安装好的OpenJDK以及安装包的话那么首先依次执行卸载。 卸载命令...
  • Windows环境下hadoop安装和配置详细步骤 一、下载Hadoop http://www.apache.org/dyn/closer.cgi/hadoop/common (我下载的版本是hadoop-2.7.3.tar.gz,这里就以此版本为例) 下载完成后解压,把hadoop-2.7.3放到某个...
  • Hadoop安装部署过程

    千次阅读 2012-12-31 17:08:14
    安装HADOOP先决条件 SHH安装,并且有公用ssh无密码跳转账号:admin(机器默认会安装SSH) 在namenode和各个slave上用机器名互相ping,ping不通的话,无法进行 JAVA环境安装(JDK1.6即可兼容HADOOP0.20.2版本) ...
  • Linux中基于hadoop安装hive(CentOS7+hadoop2.8.0+hive2.1.1)

    万次阅读 多人点赞 2017-05-12 22:37:27
    Linux中基于hadoop安装hive(CentOS7+hadoop2.8.0+hive2.1.1) 关键字:Linux Java CentOS Hadoop Hive
  • 参照Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04(http://www.powerxing.com/install-hadoop/)完成...Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 当开始着手实践 Hadoop 时,安
  • Hadoop安装部署的三种模式

    千次阅读 2018-07-06 18:31:59
    hadoop安装部署有以下三种模式: 本地模式 伪分布模式 全分布模式 安装之前操作: 1.修改主机名,设置好IP 2.设置hadoop的环境变量: 命令:vi ~/.bash_profile ``` ### add for hadoop HADOOP_HOME=/root/...
  • Hadoop安装目录

    千次阅读 2019-07-15 18:45:13
    /root/software/hadoop-2.6.0-cdh5.15.1/etc/hadoop
  • Hadoop安装以及配置文件初始化修改

    千次阅读 2019-06-24 11:26:18
    一、hadoop安装 1、上传安装包 2、在家目录创建一个cloud目录 mkdir /home/cloud 3、解压 tar -zxvf hadoop-1.1.2.tar.gz -C /home/cloud/ 二、hadoop配置文件修改 1、修改hadoop-env.sh vimhadoop-env.sh ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,743
精华内容 28,697
关键字:

hadoop安装