阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下Hadoop2.2伪分布模式安装

128次阅读
没有评论

共计 10995 个字符,预计需要花费 28 分钟才能阅读完成。

这里就不介绍 CentOS 的安装了,具体看下面的连接,直接进入 Hadoop2.2 伪分布模式安装。

VMware 虚拟机下安装 CentOS7.0 图文教程  http://www.linuxidc.com/Linux/2014-10/108013.htm

U 盘安装 64 位 CentOS 6.5 方法 http://www.linuxidc.com/Linux/2014-04/100035.htm

Win7 安装 64 位 CentOS 6.4 双系统详细图文教程 http://www.linuxidc.com/Linux/2014-04/100032.htm

UEFI+GPT 安装 Windows8 和 CentOS 双系统 http://www.linuxidc.com/Linux/2014-05/101575.htm

Windows8.1 和 CentOS6.5 双系统安装 http://www.linuxidc.com/Linux/2014-05/101581.htm

1. 安装包下载
1.1. 下载 JDK1.7
目前 JDK 的版本是 jdk1.8.0_25,这里下载的是 jdk1.7.0_67。

下载页面:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

1.2. 下载 Hadoop2.2
目前 Hadoop 的最新版本是 hadoop2.5, 这里下载的是 Hadoop2.2

下载页面:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/

2. 安装 Hadoop2.2
2.1. 配置安装环境
2.1.1. 创建 hadoop 用户
使用 root 账号登陆 CentOS,执行一下操作:

# /usr/sbin/groupaddhadoop

创建 hadoop 用户,隶属于 hadoop 组

# /usr/sbin/useradd -ghadoophadoop

修改 hadoop 用户的密码为 hadoop:

# passwd hadoop

2.1.2. 配置 hadoop 用户
编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,设置静态 IP 地址信息。

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.15.136

NETMASK=255.255.255.0

GATEWAY=192.168.15.2

使修改的参数立即生效:

先关闭:

#  /sbin/ifdown eth0

再启动:

# /sbin/ifup eth0

编辑 /etc/hostname 文件,设置主机名称

# vi /etc/hostname

Master.Hadoop

编辑 /etc/hosts 文件,设置主机名称与 IP 映射关系

# vi /etc/hosts

192.168.15.136Master.Hadoop

2.1.3. 创建软件目录
创建 u01 目录,用于安装 hadoop 软件。

mkdir-p /u01/hadoop

chown -Rhadoop:hadoop /u01/hadoop/

chmod -R775 /u01/hadoop/

hadoop 数据存放目录

mkdir-p /data/hadoop

chown-R hadoop:hadoop /data/hadoop

chmod-R 775 /data/hadoop

以上都是使用 root 账号进行操作,接下以 hadoop 用户登陆,开始安装 hadoop2.2

2.1.4. 上传安装包
以 hadoop 用户登陆 CentOS,使用 FTP 工具将安装包上传到 /u01/hadoop/ 目录。

2.2. 安装 JDK
由于下载 JDK 是免安装版,只需解压到指定的目录就完成了安装,将 JDK 安装到 /u01/hadoop/jdk 目录下。

# tar-zxvf jdk-7u67-linux-x64.tar.gz

# mv jdk1.7.0_67/ /u01/hadoop/jdk

配置 JDK 环境变量

vi .bash_bash_profile

export JAVA_HOME=/u01/hadoop/jdk
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar
export PATH=$JAVA_HOME/bin:$PATH

(注意:在配置 PATH 环境变量时,一定要将 $JAVA_HOME/bin 放置在 $PATH 前面。这样就不会使用系统默认的 JDK)

执行 source 命令,立即生效 JDK 环境变量

# source .bash_profile

查看 JDK 是否安装成功!

# java -version
java version “1.7.0_67”
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

出现以上的信息,表明 JDK 安装成功!

2.3. 安装 Hadoop2.2
Hadoop 有三种运行模式:单机模式、伪分布式与完全分布式。伪分布式是只有一个节点的集群。这里只介绍伪分布式的安装,主要用户学习。

————————————– 分割线 ————————————–

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

————————————– 分割线 ————————————–

2.3.1. 配置 SSH 免密码登陆
Hadoop 需要通过 SSH 来启动 Slave 节点的守护进程,即使安装伪分布式也需要 SSH。我在安装 CentOS 的时候,就已经安装了 SSH。只需要配置免密码登陆就可以了。如果没有安装 SSH 的话,就先安装 SSH 后,再进入下面的步骤。

在 hadoop 用户的 home 目录执行以下命令:

$ ssh-keygen -t dsa -P ‘ ‘ -f ~/.ssh/id_dsa

(注解:ssh-keygen 表示生成密钥;- t 指定密钥类型;-P 提供密语;- f 生成的密钥文件)

$ cat~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

$ chmod600 ~/.ssh/authorized_keys

验证是否可以免密码登陆

$ sshlocalhost
Last login: Sat Oct 25 07:42:43 2014

出现这样的信息,表示 SSH 配置成功。

2.3.2.hadoop2.2 安装与配置
hadoop 的安装过程非常简单,只需要解压到指定的目录就可以了,其实 hadoop 的安装步骤主要是在配置文件。将 hadoop 安装包解压到 /u01/hadoop/hadoop 目下。

tar-zxvf hadoop-2.2.0.tar.gz

mv  hadoop-2.2.0 /u01/hadoop/hadoop

主要配置这五个文件:hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

进入 hadoop 配置文件目录

cd /u01/hadoop/hadoop/etc/hadoop/

指定 JDK 的 home 目录:

#vi hadoop-env.sh

exportJAVA_HOME=/u01/hadoop/jdk

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-10/108448p2.htm

Hadoop 核心配置文件:

$ vi core-site.xml

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://Master.Hadoop:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

      <value>file:/data/hadoop/tmp</value>

        <description>Abase for othertemporary directories.</description>

    </property>

</configuration>

 

(注释:fs.defaultFS 指定 HDFS 的地址及端口,hadoop.tmp.dir 可选配置)

 

$ vi hdfs-site.xml

<configuration>

    <property>

      <name>dfs.replication</name>

        <value>1</value>

    </property>

    <property>

      <name>dfs.namenode.name.dir</name>

      <value>file:/data/hadoop/dfs/name</value>

    </property>

    <property>

      <name>dfs.datanode.data.dir</name>

      <value>file:/data/hadoop/dfs/data</value>

    </property>

    <property>

      <name>dfs.namenode.checkpoint.dir</name>

      <value>file:/data/hadoop/dfs/namesecondary</value>

    </property> 

</configuration>

 

(注解:dfs.replication 指定 HDFS 文件的备份方式默认 3,由于是伪分布式,因此需要修改为 1。其他为可选项)

 

$ vi mapred-site.xml

<configuration>

    <property>

      <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    <property>

      <name>yarn.app.mapreduce.am.staging-dir</name>

        <value>/data/hadoop/staging</value>

    </property>

</configuration>

 

(注解:mapreduce.framework.name 配置 mapreduce 框架,其他可选)

 

viyarn-site.xml

<configuration>

    <!– Site specific YARN configurationproperties –>

    <property>

      <name>yarn.nodemanager.aux-services</name>

      <value>mapreduce_shuffle</value>

    </property>

    <property>

      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

      <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

    <property>

      <name>yarn.resourcemanager.hostname</name>

        <value>Master.Hadoop</value>

    </property>

</configuration>

(注解:配置 YARN 信息)

 

2.3.3. 配置 Hadoop 环境变量
export JAVA_HOME=/u01/hadoop/jdk
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar
export HADOOP_HOME=/u01/hadoop/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=”-Djava.library.path=$HADOOP_HOME/lib”
export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

2.3.4. 格式 HDFS 文件系统
在启动 Hadoop 前,需要格式化 Hadoop 的 HDFS 文件系统,如果配置 Hadoop 环境变量,可以直接执行 hadoop 命令。否则,进入 Hadoop 的 bin 目录执行文件格式命令:

$ hadoop namenode -format

此时,Hadoop 整个安装与配置过程完成了。

 

3. 启动 Hadoop
进入 Hadoop 的 sbin 目录,启动 Hadoop,验证是否安装成功!

# ./start-all.sh

使用 java 的 jps 命令查看是否有 hadoop 的进程

# jps

10197 NameNode
10769 ResourceManager
10579 SecondaryNameNode
11156 Jps
10898 NodeManager
10344 DataNode

出现以上进程,说明 Hadoop 安装成功。

(注意:Hadoop2.0 使用 YARN 管理代替了 JobTracke 和 TaskTracker,因此这里只有 ResourceManager 进程,没有 JobTracke 和 TaskTracker 两个进程了)

 

打开浏览器,输入:

http://localhost:50070/

如果能够查看信息说明 Hadoop 安装成功了

 

4. 运行 WordCount 实例
创建测试两侧文件 file1.txt,file2.txt

$ vi file1.txt

welcome to hadoop

hello world!

$ vi file2.txt

hadoop hello

 

在 HDFS 上创建输入 input 输入目录:

$ hdfs dfs -mkdir /input

 

将 file1.txt 与 file2.txt 文件上传到 HDFS 的 input 目录

$ hdfs dfs -put file1.txt /input
$ hdfs dfs -put file2.txt /input

查看刚才上传的两个文件

$ hdfs dfs -put file2.txt /input
14/10/25 14:43:33 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
[hadoop@Master ~]$ hdfs dfs -ls /input
14/10/25 14:43:43 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
Found 2 items
-rw-r–r–  1 hadoop supergroup        31 2014-10-25 14:43 /input/file1.txt
-rw-r–r–  1 hadoop supergroup        13 2014-10-25 14:43 /input/file2.txt

 

执行 hadoop 自带的 WordCount 程序,统计单词数

$ cd $HADOOP_HOME/share/hadoop/mapreduce

$ hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount  /input /output

执行没报错,查看运行结果:

$ hdfs dfs -ls /outputpart-r-00000
14/10/25 14:54:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
ls: `/outputpart-r-00000′: No such file or directory
[hadoop@Master mapreduce]$ hdfs dfs -cat /output/part-r-00000
14/10/25 14:54:30 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
hadoop 2
hello 2
to 1
welcome 1
world! 1

统计结果正确!

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

这里就不介绍 CentOS 的安装了,具体看下面的连接,直接进入 Hadoop2.2 伪分布模式安装。

VMware 虚拟机下安装 CentOS7.0 图文教程  http://www.linuxidc.com/Linux/2014-10/108013.htm

U 盘安装 64 位 CentOS 6.5 方法 http://www.linuxidc.com/Linux/2014-04/100035.htm

Win7 安装 64 位 CentOS 6.4 双系统详细图文教程 http://www.linuxidc.com/Linux/2014-04/100032.htm

UEFI+GPT 安装 Windows8 和 CentOS 双系统 http://www.linuxidc.com/Linux/2014-05/101575.htm

Windows8.1 和 CentOS6.5 双系统安装 http://www.linuxidc.com/Linux/2014-05/101581.htm

1. 安装包下载
1.1. 下载 JDK1.7
目前 JDK 的版本是 jdk1.8.0_25,这里下载的是 jdk1.7.0_67。

下载页面:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

1.2. 下载 Hadoop2.2
目前 Hadoop 的最新版本是 hadoop2.5, 这里下载的是 Hadoop2.2

下载页面:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/

2. 安装 Hadoop2.2
2.1. 配置安装环境
2.1.1. 创建 hadoop 用户
使用 root 账号登陆 CentOS,执行一下操作:

# /usr/sbin/groupaddhadoop

创建 hadoop 用户,隶属于 hadoop 组

# /usr/sbin/useradd -ghadoophadoop

修改 hadoop 用户的密码为 hadoop:

# passwd hadoop

2.1.2. 配置 hadoop 用户
编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,设置静态 IP 地址信息。

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.15.136

NETMASK=255.255.255.0

GATEWAY=192.168.15.2

使修改的参数立即生效:

先关闭:

#  /sbin/ifdown eth0

再启动:

# /sbin/ifup eth0

编辑 /etc/hostname 文件,设置主机名称

# vi /etc/hostname

Master.Hadoop

编辑 /etc/hosts 文件,设置主机名称与 IP 映射关系

# vi /etc/hosts

192.168.15.136Master.Hadoop

2.1.3. 创建软件目录
创建 u01 目录,用于安装 hadoop 软件。

mkdir-p /u01/hadoop

chown -Rhadoop:hadoop /u01/hadoop/

chmod -R775 /u01/hadoop/

hadoop 数据存放目录

mkdir-p /data/hadoop

chown-R hadoop:hadoop /data/hadoop

chmod-R 775 /data/hadoop

以上都是使用 root 账号进行操作,接下以 hadoop 用户登陆,开始安装 hadoop2.2

2.1.4. 上传安装包
以 hadoop 用户登陆 CentOS,使用 FTP 工具将安装包上传到 /u01/hadoop/ 目录。

2.2. 安装 JDK
由于下载 JDK 是免安装版,只需解压到指定的目录就完成了安装,将 JDK 安装到 /u01/hadoop/jdk 目录下。

# tar-zxvf jdk-7u67-linux-x64.tar.gz

# mv jdk1.7.0_67/ /u01/hadoop/jdk

配置 JDK 环境变量

vi .bash_bash_profile

export JAVA_HOME=/u01/hadoop/jdk
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar
export PATH=$JAVA_HOME/bin:$PATH

(注意:在配置 PATH 环境变量时,一定要将 $JAVA_HOME/bin 放置在 $PATH 前面。这样就不会使用系统默认的 JDK)

执行 source 命令,立即生效 JDK 环境变量

# source .bash_profile

查看 JDK 是否安装成功!

# java -version
java version “1.7.0_67”
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

出现以上的信息,表明 JDK 安装成功!

2.3. 安装 Hadoop2.2
Hadoop 有三种运行模式:单机模式、伪分布式与完全分布式。伪分布式是只有一个节点的集群。这里只介绍伪分布式的安装,主要用户学习。

————————————– 分割线 ————————————–

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

————————————– 分割线 ————————————–

2.3.1. 配置 SSH 免密码登陆
Hadoop 需要通过 SSH 来启动 Slave 节点的守护进程,即使安装伪分布式也需要 SSH。我在安装 CentOS 的时候,就已经安装了 SSH。只需要配置免密码登陆就可以了。如果没有安装 SSH 的话,就先安装 SSH 后,再进入下面的步骤。

在 hadoop 用户的 home 目录执行以下命令:

$ ssh-keygen -t dsa -P ‘ ‘ -f ~/.ssh/id_dsa

(注解:ssh-keygen 表示生成密钥;- t 指定密钥类型;-P 提供密语;- f 生成的密钥文件)

$ cat~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

$ chmod600 ~/.ssh/authorized_keys

验证是否可以免密码登陆

$ sshlocalhost
Last login: Sat Oct 25 07:42:43 2014

出现这样的信息,表示 SSH 配置成功。

2.3.2.hadoop2.2 安装与配置
hadoop 的安装过程非常简单,只需要解压到指定的目录就可以了,其实 hadoop 的安装步骤主要是在配置文件。将 hadoop 安装包解压到 /u01/hadoop/hadoop 目下。

tar-zxvf hadoop-2.2.0.tar.gz

mv  hadoop-2.2.0 /u01/hadoop/hadoop

主要配置这五个文件:hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

进入 hadoop 配置文件目录

cd /u01/hadoop/hadoop/etc/hadoop/

指定 JDK 的 home 目录:

#vi hadoop-env.sh

exportJAVA_HOME=/u01/hadoop/jdk

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-10/108448p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计10995字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中