CentOS 7下安装Hadoop2.2

这里就介绍CentOS的安装了,直接进入Hadoop2.2伪分布模式安装。

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用户的password为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有三种执行模式:单机模式、伪分布式与全然分布式。伪分布式是仅仅有一个节点的集群。这里仅仅介绍伪分布式的安装。主要用户学习。

2.3.1.配置SSH免password登陆

Hadoop须要通过SSH来启动Slave节点的守护进程,即使安装伪分布式也须要SSH。

我在安装CentOS的时候。就已经安装了SSH。仅仅须要配置免password登陆就能够了。假设没有安装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

验证能否够免password登陆

$ sshlocalhost

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

出现这种信息。表示SSH配置成功。

2.3.2.hadoop2.2安装与配置

hadoop的安装过程很easy。仅仅须要解压到指定的文件夹就能够了,事实上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

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的地址及port,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

[[email protected] ~]$ 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

[[email protected] 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

统计结果正确!

时间: 2024-10-20 18:06:25

CentOS 7下安装Hadoop2.2的相关文章

怎样在CentOS linux下安装MPEG-1 Layer 3 (MP3)解码器

怎样在CENTOS linux下安装MPEG-1 Layer 3 (MP3)解码器 提片上的信息显示我们没有安装解码器,这是因为版权问题软件 没有自带解码器 我的是centos 32位系统所以用下面第一个源 32位系统 第三方源 rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm 64位系统 第三方源 rpm -ivh http://pkgs.repoforge.

centOS 6下安装java、tomcat

centOS 6 下安装java centOS  默认有java的运行环境(gcj),安装sun的jdk前先卸载 gcj. 卸载gcj: #java -version            <-查看当前gcj java的版本号(我这里得到的是 1.4.2) #yum -y remove java-1.4.2-gcj-compat   <- 卸载gcj (y参数表示 在y/n 提问时均回答 y) #chmod a+x jdk-6u14-linux-i586-rmp.bin    <- a+

Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6),然后在windows系统下访问此虚拟机的ip地址,却访问不了. 因为前段时间有知道过iptable的限制,所以在想是不是因为iptable限制了80端口呢! 所以在网上找了下iptable的命令,并且把tcp的80端口设置成允许任何IP都可以访问: iptables -I INPUT -p TCP

centos 7 下安装cobbler报“ Apps aren&#39;t loaded yet”

版本信息: cobbler-web-2.6.11-1.el7.noarchcobbler-2.6.11-1.el7.x86_64Python 2.7.5Django 1.8.7 yum源: epel-release-7-8.noarch 安装各种包后,启动http报错" Apps aren't loaded yet" 解决方法: [[email protected] web]# pwd/usr/share/cobbler/web[[email protected] web]# vim

CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用.正如其名称所暗示的, LEMP 包是由 Linux.nginx.MariaDB/MySQL 和 PHP 组成的.在传统的 LAMP 包中使用的 Apache HTTP 协议服务器性能低下而且难于大规模集群,相比来说 nginx 的高性能及轻量级等特性,正是其的替代方案. MariaDB 是一款社

CentOS 6 下安装Python 3

可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http://python.org/ftp/python/3.5.2//Python-3.5.2.tgz #tar xzf Python-3.5.2.tgz #cd Python-3.5.2 #./configure --prefix=/opt/apps/python3 #make #make instal

Centos | Linux 下安装启动 mysql 出现 8618 [ERROR] Aborting,查看日志:Plugin &#39;FEDERATED&#39; is disabled.

1.试试启动时指定配置文件 ./bin/mysqld_safe --defaults-file=mysql.cnf 或 ./bin/mysqld_safe --defaults-file=mysql.cnf $ 2.试试修改 mysql.cnf(也可能是my.cnf) 在 [mysqld]下指定tmpdir tmpdir = youTmpdir Centos | Linux 下安装启动 mysql 出现 8618 [ERROR] Aborting,查看日志:Plugin 'FEDERATED'

一、Ubuntu14.04下安装Hadoop2.4.0 (单机模式)

一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创建hadoop用户 sudo adduser -ingroup hadoop hadoop 回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码,输入回车即可. 如果不输入密码,回车后会重新提示输入密码,即密码不能为空. 最后确认信息是否正确,如果没问题,输入 Y,回车即可. 3.为ha

Centos 6 下安装 erlang 手记

基于openfire的IM项目已经成功上线,接下来的计划准备开始调研 ejabberd. ejabberd  是基于erlang开发的,那么就先从搭建 erlang环境开始吧. 选择的操作系统为Centos6 ,erlang的最新版OTP17.0: 1. 下载最新版erlang otp_17.0 2. 解压缩 tar -zxvf otp_src_17.0 3. 进入解压缩后的目录 4. ./configure --prefix=/opt/erlang  --without-javac 出现错误大