hadoop -- setup and configuration

  • Hadoop Modes
  • pre-install setup
    • Creating a user
    • SSH Setup
    • installing java
  • Install Hadoop
    • Install in Standalone Mode

      • lets do a test
    • Install in Pseudo Distributed Mode
      • Hadoop setup
      • Hadoop configuration
      • YARN configuration

本节配置一个基于 linux 的 hadoop 环境。

Hadoop Modes

hadoop 支持三种模式:

  • Local/Standalone Mode: 默认设置是Standalone 模式,作为一个java 进程运行。
  • Pseudo Distributed Mode: 在一个机器上模拟分布式。hdfs, YARN, MapReduce 等这些hadoop daemon 都是一个独立的 java 进程。
  • Fully Distributed Mode: 需要两个或多个机器作为一个集群,实现真正的分布式。

pre-install setup

Creating a user

推荐为 hadoop 建一个独立的用户, 修改目录权限

$ su
    passwd
# useradd hadoop
# passwd hadoop
    New passwd:
    Retype new passwd
# chown -R hadoop /usr/hadoop

SSH Setup

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys 

然后在当前 shell 用ssh 链接 localhost 就无需输入密码了。

$ ssh localhost

installing java

$ java -version

如果这个指令可以正确的查看到java版本那么java已经争取安装,如果不能,请务必要先安装好java。

  • step1: 在这儿下载 java (jdk-*u**-OS-x64.tar.gz).
  • setp2: 切换到java所在文件夹并解压。
$ cd Downloads/
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71   jdk-7u71-linux-x64.gz 
  • step3: 使所有用户可以使用java, 移动java到“/usr/local”, 或者其他你希望安装的地方。
$ su
password:
# mv jdk1.7.0_71 /usr/local/ 
  • step4

    在 ~/.bashrc 里面添加以下内容:

export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH=$PATH:$JAVA_HOME/bin 
$ source ~/.bashrc
  • step5

    为方便管理,把java 加入到版本管理器,ubuntu 下是 update-alternatives:

# alternatives --install /usr/bin/java java usr/local/java/bin/java 2

# alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2

# alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2

# alternatives --set java usr/local/java/bin/java

# alternatives --set javac usr/local/java/bin/javac

# alternatives --set jar usr/local/java/bin/jar

Install Hadoop

在这找到你需要的版本,下载Hadoop, 并加压. 我下载的是 hadoop-2.7.1

$ su
password:
# cd /usr/local
# wget http://apache.claz.org/hadoop/common/hadoop-2.7.1/hadoop-2.4.1.tar.gz
# tar xzf hadoop-2.7.1.tar.gz
# chmod -R 777 /usr/local/hadop-2.7.1

Install in Standalone Mode

在这个模式下没有daemons, 并且都在同一个 JVM 里运行。

把下面的命令写入 ~/.bashrc

export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
$ source ~/.bashrc

然后确认一下 Hadoop 是否可以正常工作:

$ hadoop version

如果安装成功会显示类似以下的结果(这是我的输出):

Hadoop 2.7.1
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 15ecc87ccf4a0228f35af08fc56de536e6ce657a
Compiled by jenkins on 2015-06-29T06:04Z
Compiled with protoc 2.5.0
From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a
This command was run using /usr/local/hadoop-2.7.1/share/hadoop/common/hadoop-common-2.7.1.jar

let’s do a test

现在,我们用 standalone 模式下的 hadoop 做一个小小 wordcount 的测验

$ cd $HADOOP_HOME
$ mkdir input
$ cp *.txt
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar  wordcount input ouput  #请查看你所安装按本的jar文件的名字
$ cat output/*

然后,不出意外的话,你应该就可以看到文件里单词的个数了。

Install in Pseudo Distributed Mode

Hadoop setup

把下面的命令写入 ~/.bashrc

export HADOOP_HOME=/usr/local/hadoop
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/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_LOG_DIR=$HADOOP_HOME/logs #这个是默认位置,也可以自定义你希望的位置
$ source ~/.bashrc

Hadoop configuration

修改 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 中设置 java 环境变量 JAVA_HOME

#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/opt/jdk1.8.0_81

修改 $HADOOP_HOME/etc/hadoop/core-site.xml 文件:

<configuration>
    <property>
        <name>fs.defaultFS</name> //也可以写作 fs.default.name
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

修改 $HADOOP_HOME/etc/hadoop/core-site.xml 文件:

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

     <property>
      <name>dfs.name.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/namenode </value> //这里file后面是三个斜杠,我打成了两个,一直启动不起来NameNode.
   </property>

   <property>
      <name>dfs.data.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/datanode </value>
   </property>
</configuration>

格式化 HDFS 文件系统

$ hdfs namenode -format

启动 NameNode 和 DataNode 的守护进程

$ start-dfs.sh
$ jps  # 查看是否正常启动
    172075 Jps
    169799 SecondaryNameNode
    34918 Nailgun
    169311 NameNode
    169483 DataNode
$ stop-dfs.sh

note: 如果你是按博客里面的内容下载的hadoop-..*.tar.gz的安装包,并且如果你的机器是64位的话,你会出现一个WARNING,如下:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

这个是因为安装包里面的 $HADOOP_HOME/lib/native/libhadoop.so.1.0.0 这个本地的 Hadoop 库是在32位机器上编译的,可以做以下选择:

1. 忽略它,因为只是个WARN,并不会影响HADOOP 的功能

2. 担心它会造成不稳定,下载 Hadoop 的源码包 hadoop-..*-src.tar.gz, 重新编译

具体可以参考【链接1】【链接2

stop之前可以通过浏览器查看 NameNode,其默认端口是50070, DataNode 的默认端口是50030

+ http://localhost:50070

+ http://localhost:50030

如果如果没有正常启动可以在 $HADOOP_LOG_DIR 目录下查看对应的log文件里的内容,对应调试。

YARN configuration

修改 $HADOOP_HOME/etc/hadoop/mapred-site.xml 文件:

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

修改 $HADOOP_HOME/etc/hadoop/yarn-site.xml 文件:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
$ start-yarn.sh
$ jps  # 查看是否正常启动
    152423 JournalNode
    173170 Jps
    34918 Nailgun
    172778 ResourceManager
    172956 NodeManager
$ stop-yarn.sh

ResourceManager默认的浏览器端口是8088,stop之前可以在;浏览器查看:

+ http://localhost:8088

或者可以用脚本 start/stop-all.sh 进行管理

$ start-all.sh
$ stop-all.sh

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-28 02:32:40

hadoop -- setup and configuration的相关文章

Hadoop: Setup Maven project for MapReduce in 5mn

Hadoop: Setup Maven project for MapReduce in 5mn 25 MAY 2013 / ANTOINE AMEND I am sure I am not the only one who ever struggled with Hadoop eclipse plugin installation. This plugin strongly depends on your environment (eclipse, ant, jdk) and hadoop d

[官方摘要]Setup And Configuration memcached with Tomcat

原文地址:https://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration SetupAndConfiguration This page shows what's necessary to get the memcached-session-manager up and running. Featured, Phase-Deploy Updated Jun 15, 2014 by martin.grot

[Node.js] Setup Local Configuration with Node.js Applications

Github To stop having to change configuration settings in production code and to stop secure information like usernames and password being stored in source control its a good idea to use local configuration files. This lesson explains how to read in

Spark部署配置

前提是已经安装了Hadoop ============================ SetUp Spark=============================Configuration spark-env.sh HADOOP_CONF_DIR=/opt/data02/hadoop-2.6.0-cdh5.4.0/etc/hadoop JAVA_HOME=/opt/modules/jdk1.7.0_67 SCALA_HOME=/opt/modules/scala-2.10.4 ######

Hadoop day 1 - Setup ENV

环境: Xshell: 5 Xftp: 4 Virtual Box: 5.16 Linux: CentOS-7-x86_64-Minimal-1511 Vim: yum -y install vim-enhanced JDK: 8 Hadoop: 2.7.3.tar.gz 在Virtual Box中安装完成 Linux后,设置网卡为自动启动: 检查机器网卡: nmcli d 可以看到有一个网卡:enp0s3 用vi打开网卡配置文件: vi /etc/sysconfig/network-scirp

Hadoop MapReduce Next Generation - Setting up a Single Node Cluster

Hadoop MapReduce Next Generation - Setting up a Single Node Cluster. Purpose This document describes how to set up and configure a single-node Hadoop installation so that you can quickly perform simple operations using Hadoop MapReduce and the Hadoop

Hadoop Standalone and Pseudo Mode

. Required Softwareyum install openssh-server rsync java-1.8.0-openjdk-devel . Setup Hostname/etc/hostsx.x.x.x yourhostname . Prepare to Start the Hadoop Clusteretc/hadoop/hadoop-env.sh:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk ? . Standalone

Installing Hadoop on Mac OSX Yosemite Tutorial Part 1.

Installing Hadoop on Mac OSX Yosemite Tutorial Part 1. September 23, 2014 Marek 68 Comments Install HomeBrewInstalling HadoopSSH LocalhostConfiguring HadoopStarting and Stopping HadoopGood to know Additional Resources Github Wordcount example. Instal

Apache Hadoop 入门教程

原文同步至 http://waylau.com/about-hadoop/ Apache Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构.可以让用户在不了解分布式底层细节的情况下,开发出可靠.可扩展的分布式计算应用. Apache Hadoop 框架,允许用户使用简单的编程模型来实现计算机集群的大型数据集的分布式处理.它的目的是支持从单一服务器到上千台机器的扩展,充分利用了每台机器所提供本地计算和存储,而不是依靠硬件来提供高可用性.其本身被设计成在应用层检测和处理故障的库