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两个进程了)
打开浏览器,输入:
假设可以查看信息说明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
统计结果正确!
CentOS 7下安装Hadoop2.2的更多相关文章
- CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)
在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...
- Ubuntu14.04下安装Hadoop2.5.1 (单机模式)
本文地址:http://www.cnblogs.com/archimedes/p/hadoop-standalone-mode.html,转载请注明源地址. 欢迎关注我的个人博客:www.wuyudo ...
- 二、Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)
在Ubuntu14.04下安装Hadoop2.4.0 (单机模式)基础上配置 一.配置core-site.xml /usr/local/hadoop/etc/hadoop/core-site.xml ...
- CentOS 6 下安装Python 3
可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http ...
- CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)
原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...
- CentOS 7下安装vertica记录
CentOS 7下安装vertica记录 1. 安装好centeros 并更新 Centeros安装就不说了,安装完之后联网环境下 yum update.更新下,使得那些包都是新的.(要想用中文 ...
- CentOS系统下安装python3+Django
转载:CentOS系统下安装python3+Django 1.首先用yum安装下vim,因为CentOS 7可能根本没自带完整vim,经常出现输入乱码:yum -y install vim 2.安装开 ...
- CentOS 7下安装Python3.6
CentOS 7下安装Python3.6.4 CentOS 7下安装Python3.5 •安装python3.6可能使用的依赖 yum install openssl-devel bzip2-de ...
随机推荐
- 【Linux】 JDK安装及配置 (linux-tar.gz版)
安装环境:Linux(CentOS 7 64位 版) JDK安装:tar.gz为解压后就可以使用的版本,这里使用jdk-8u211-linux-x64.tar.gz版,安装到/usr/java/(us ...
- 10.4 缓冲流 BufferedReader & BufferedWriter & 缓冲流特殊功能readLine
缓冲流和正常流的使用大致相同,缓冲流效率更高. package day10_io_fileWrite_Read.buffer_stream; import java.io.*; /* * Buffer ...
- 梦想CAD控件COM接口搜索图面上的文字
点击此处下载演示实例 主要用到函数说明: _DMxDrawX::NewSelectionSet 实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数. _DMxDrawX::NewResbuf ...
- A3. JVM 类加载器
[概述] 虚拟机设计团队把类加载阶段中的 “通过一个类的全限定名来获取描述此类的二进制字节流” 这个动作放到 Java 虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类.实现这个动作的代码 ...
- 顶点的度 (20 分) Java解法
顶点的度 顶点的图.给定一个有向图,输出各顶点的出度和入度. 输入格式: 输入文件中包含多个测试数据,每个测试数据描述了一个无权有向图.每个测试数据的第一行为两个正整数n 和m,1 ≤ n ≤ 100 ...
- HTML5网页如何调用浏览器APP的微信分享功能?
if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Al ...
- MFC 程序 手写创建顺序
MFC 程序 手写创建顺序 1.继承CWinApp类 覆盖 class CMyApp : public CWinApp { virtual BOOL InitInstance(); } BOOL CM ...
- python实现定时发送qq消息
因为生活中老是忘记各种事情,刚好又在学python,便突发奇想通过python实现提醒任务的功能(尽管TIM有定时功能),也可定时给好友.群.讨论组发送qq消息.其工作流程是:访问数据库提取最近计划— ...
- python文件读写及形式转化和CGI的简单应用
一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...
- linux设置系统时间与各种阻塞
前阵子做了一个P2P的通信系统,发现开机的时候和中间运行的时候会莫名报错,这个问题找了好久,后来从日志中看出来,所有节点上阻塞的操作同时超时. 而在超时左右,有新节点自动加入系统. 在新节点加入系统的 ...