如何在CentOS,Ubuntu和LinuxMint安装Hadoop 2.7.1

本文将帮助您安装Hadoop单节点集群。如何在CentOS,Redhat,Ubuntu,Debian和LinuxMint中安装Hadoop 2.7.1

Apache的Hadoop 2.7.1较稳定的2.7版本显著改善。这个版本在HDFS和MapReduce许多改进。该如何引导将帮助您安装Hadoop 2.7.1单节点集群在CentOS / RHEL 7/6/5,Ubuntu,Debian和LinuxMint系统。这篇文章已经过测试与Ubuntu 14.04 LTS,它不包含的Hadoop的整体配置,我们只有开始使用Hadoop工作所需的基本配置。 Hadoop的安装在Linux上

第1步:安装Java

Java是任何系统上运行Hadoop的主要的要求,因此,请确保您有使用下面的命令在系统上安装了Java。
# java -version 

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
如果您在系统上没有安装Java,使用下面的一个环节先安装它。 在CentOS / RHEL 7/6/5安装Java 8 在Ubuntu上安装Java 8

第2步:创建Hadoop用户

我们建议创建工作的Hadoop正常(nor root)账户。因此,创建一个使用以下命令的系统帐号。
# adduser hadoop
# passwd hadoop
创建帐户后,还需要基于密钥的ssh设置为自己的账户。要做到这一点使用执行下面的命令。
# su - hadoop
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
让我们验证基于密钥登录。下面的命令不应该索要密码,但第一次会提示添加RSA已知主机列表。
$ ssh localhost
$ exit

第3步:下载Hadoop 2.7.1

现在,使用下面的命令下载的Hadoop 2.7.1源存档文件。您也可以选择另外的下载镜像提高下载速度。
$ cd ~
$ wget http://apache.claz.org/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz
$ tar xzf hadoop-2.7.1.tar.gz
$ mv hadoop-2.7.1 hadoop

第4步:配置Hadoop的Pseudo-Distributed模式

4.1。安装Hadoop的环境变量

首先,我们需要通过Hadoop的设置环境变量的用途。编辑~/.bashrc文件,并在文件末尾追加下面的值。
export HADOOP_HOME=/home/hadoop/hadoop
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/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
现在适用于当前运行环境的变化
$ source ~/.bashrc
现在编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件,并设置JAVA_HOME环境变量。更改Java路径,按您的系统上安装。此路径可能按你的操作系统版本和安装源有所不同。因此,请确保您使用的是正确的路径。
export JAVA_HOME=/usr/lib/jvm/java-8-oracle

4.2安装Hadoop的配置文件

Hadoop的有很多的配置文件,这需要配置按你的Hadoop基础架构的需求。让我们开始基本的hadoop单节点集群安装的配置。首先进入到以下位置
$ cd $HADOOP_HOME/etc/hadoop

编辑 core-site.xml

<configuration>
<property>
  <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
</property>
</configuration>

编辑 hdfs-site.xml

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

<property>
  <name>dfs.name.dir</name>
    <value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>

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

编辑 mapred-site.xml

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

编辑 yarn-site.xml

<configuration>
 <property>
  <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
 </property>
</configuration>

4.3。格式化 Namenode

现在,使用以下命令格式名称节点,确保存储目录
$ hdfs namenode -format
输出示例:
15/11/13 14:48:31 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = localhost/127.0.0.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 2.7.1
...
...
...
15/11/13 14:48:41 INFO common.Storage: Storage directory /home/hadoop/hadoopdata/hdfs/namenode has been successfully formatted.
15/11/13 14:48:42 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
15/11/13 14:48:42 INFO util.ExitUtil: Exiting with status 0
15/11/13 14:48:42 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
************************************************************/

第5步:启动Hadoop集群

让我们开始使用这些脚本Hadoop集群提供了Hadoop。只要浏览到您的Hadoop sbin目录和一个执行脚本之一。
$ cd $HADOOP_HOME/sbin/
现在运行start-dfs.sh脚本。
$ ./start-dfs.sh
输出示例:
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-namenode-svr1.howtoing.com.out
localhost: starting datanode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-datanode-svr1.howtoing.com.out
Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
ECDSA key fingerprint is 0a:50:c6:62:70:84:3d:b8:76:56:10:cd:46:6f:5c:7d.
Are you sure you want to continue connecting (yes/no)? yes
0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-secondarynamenode-svr1.howtoing.com.out
15/11/13 14:54:12 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
现在运行start-yarn.sh脚本。
$ ./start-yarn.sh
输出示例:
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop/logs/yarn-hadoop-resourcemanager-svr1.howtoing.com.out
localhost: starting nodemanager, logging to /home/hadoop/hadoop/logs/yarn-hadoop-nodemanager-svr1.howtoing.com.out

第6步:在浏览器访问Hadoop服务

Hadoop的NameNode开始端口50070默认值。访问端口50070的服务器用你喜欢的网页浏览器。
http://svr1.howtoing.com:50070/
Hadoop的2-7-1-的NameNode 现在访问端口8088用于获取有关群集和所有应用程序的信息
http://svr1.howtoing.com:8088/
Hadoop的2-7-1-的NameNode 访问端口50090用于获取有关第二个NameNode的细节。
http://svr1.howtoing.com:50090/
Hadoop的2-7-1-secondry-的NameNode 访问端口50075,以获取有关的DataNode细节

第7步:测试Hadoop的单个节点设置

7.1 -请使用以下命令所需的HDFS目录。
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/hadoop
7.2 -现在所有的文件从本地文件系统中的 /var/log/httpd 使用下面的命令来Hadoop分布式文件系统
$ bin/hdfs dfs -put /var/log/apache2 logs
7.3 -现在通过在浏览器中打开下面的网址浏览Hadoop分布式文件系统。您将看到列表apache2目录。点击文件夹名称,以打开,你会找到所有的日志文件。
 http://svr1.howtoing.com:50070/explorer.html#/user/hadoop/logs/
Hadoop的2-7-1,例如数据 7.4 -现在复制日志目录Hadoop分布式文件系统到本地文件系统。
$ bin/hdfs dfs -get logs /tmp/logs
$ ls -l /tmp/logs/