hadoop环境配置

Hadoop启动模式

Hadoop集群有三种启动模式:

  • 单机模式:默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境
  • 伪分布模式:在单个机器上模拟成分布式多节点环境,每一个Hadoop守护进程都作为一个独立的Java进程运行
  • 完全分布式模式:真实的生产环境,搭建在完全分布式的集群环境

用户及用户组

需要先添加用来运行Hadoop进程的用户组hadoop及用户hadoop。

  1. 添加用户及用户组,创建用户hadoop

    1
    $ sudo adduser hadoop
  2. 添加sudo权限,将hadoop用户添加进sudo用户组

    1
    $ sudo usermod -G sudo hadoop

安装及配置依赖的软件包

  1. 安装openssh-server、java、rsync等

    1
    2
    3
    4
    5
    $ sudo apt-get update
    $ sudo apt-get install openssh-server rsync
    $ sudo service ssh restart
    $ sudo apt-get install openjdk-7-jdk
    $ java -version
  2. 配置ssh免密码登录,ssh登录到本机

    1
    2
    3
    4
    $ su -l hadoop
    $ ssh-keygen -t rsa -P ""
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    $ ssh localhost

下载并安装Hadoop

  1. 下载Hadoop 2.6.0

    1
    $ wget http://labfile.oss.aliyuncs.com/hadoop-2.6.0.tar.gz
  2. 解压并安装

    1
    2
    3
    $ tar zxvf hadoop-2.6.0.tar.gz
    $ sudo mv hadoop-2.6.0 /usr/local/hadoop
    $ sudo chmod 774 /usr/local/hadoop
  3. 配置Hadoop

    1
    $ vim /home/hadoop/.bashrc

    在/home/hadoop/.bashrc文件末尾添加下列内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #HADOOP START
    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
    export HADOOP_INSTALL=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_INSTALL/bin
    export PATH=$PATH:$HADOOP_INSTALL/sbin
    export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
    export HADOOP_COMMON_HOME=$HADOOP_INSTALL
    export HADOOP_HDFS_HOME=$HADOOP_INSTALL
    export YARN_HOME=$HADOOP_INSTALL
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
    #HADOOP END

    保存退出后,激活新加的环境变量

    1
    $ source ~/.bashrc

至此,Hadoop单机模式安装完成,可以通过下述步骤的测试来验证安装是否成功。

测试验证

创建输入的数据,暂时采用/etc/protocols文件作为测试

1
2
3
$ cd /usr/local/hadoop
$ sudo mkdir input
$ sudo cp /etc/protocols ./input

执行Hadoop WordCount应用(词频统计)

1
$ bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar org.apache.hadoop.examples.WordCount input output

查看生成的单词统计数据

1
$ cat output/*

参考资料:

【1】实验楼:https://www.shiyanlou.com/

坚持原创技术分享,您的支持将鼓励我继续创作!