目前hadoop1的稳定版本是1.2.1,我们以版本1.2.1为例详细的介绍hadoop1的安装,此过程包括OS安装与配置,JDK的安装,用户和组的配置,这些过程在hadoop2也有可能用到。

Hadoop 版本:1.2.1

OS 版本: Centos6.4

Jdk 版本: jdk1.6.0_32

环境配置

机器名

Ip地址

功能

Hadoop1

192.168.124.135

namenode, datanode,

secondNameNode

jobtracker, tasktracer

Hadoop2

192.168.124.136

Datanode, tasktracker

Hadoop3

192.168.124.137

Datanode, tasktracker

OS安装

从Centos官网上下载Centos6.4版本的系统,然后在Vmware Player虚拟机中安装虚拟机

默认的20G空间可能不够用,修改为80G空间

点下一步,可以看出虚拟机的默认配置,1G内存,NAT网卡

点击播放虚拟机,点击Playerà 可移动设备àCD/DVD(IDE)à设置,在弹出的对话框中设置:使用ISO映像文件,选择Centos系统的文件

然后一步步的安装系统,可以按照下面的流程做

这一步一定要配置Configure Network,否则网卡就不会工作的

选中Connect automatically

如果密码过短或者比较简单,会出现下面的问题,不用管它,点击Use Anyway

一定要将变化写进磁盘,点击Write changes to disk

在Desktop, Mininal Desktop, Minimal, Basic Server, Database Server, Web Server, Virtual Host, Software Development Workstation 中,选择Minimal可以保证最清洁的hadoop集群。

然后启动安装过程,大约需要安装211个rpm包,安装过程大约5分钟

最后重启

按照上面的过程安装hadoop2和hadoop3

配置Centos系统

Selinux

将/etc/sysconfig/selinux 中的SELINUX置为disabled

SELINUX=disabled

Hosts文件

192.168.124.135 hadoop1.localdomain hadoop1

192.168.124.136 hadoop2.localdomain hadoop2

192.168.124.137 hadoop3.localdomain hadoop3

防火墙

Centos默认是开机启动防火墙,我们需要把它关闭,运行下面两个命令

service iptables stop
chkconfig iptables off

介绍一下防火墙的命令

启动/停止防火墙service iptables start/stop

开机启动/停止防火墙chkconfig iptables off/on

创建用户和组

创建组groupadd hadoop

创建用户useradd -g hadoop hadoop

切换用户su - hadoop

配置ssh

安装ssh客户端yum install openssh-clients

运行ssh-keygen -t rsa 生成一对公钥/私钥

然后在/home/hadoop/.ssh下,可以看到两个文件:id_rsa  id_rsa.pub

cp .ssh/id_rsa.pub  .ssh/authorized_keys

将hadoop2和hadoop3中的.ssh/id_rsa.pub文件内存添加到hadoop1中的.ssh/authorized_keys

然后通过下面两条命令,可以讲.ssh/authorized_keys复制到hadoop2和hadoop3上

scp .ssh/authorized_keys hadoop@hadoop2:/home/hadoop/.ssh/authorized_keys

scp .ssh/authorized_keys hadoop@hadoop2:/home/hadoop/.ssh/authorized_keys

这样,hadoop1,hadoop2,haoop3都可以用hadoop用户登录到其他机器,并且不需要密码。

测试是否登录成功

ssh hadoop2

安装 jdk和hadoop

使用FileZilla将jdk-6u32-linux-x64.bin和Hadoop-1.2.1上传到hadoop1,hadoop2,hadoop3

赋予jdk执行权限

chown a+x  jdk-6u32-linux-x64.bin

运行安装./ jdk-6u32-linux-x64.bin

然后jdk就安装在/home/hadoop/jdk1.6.0_32目录下

测试一下jdk是否安装成功

/home/hadoop/jdk1.6.0_32/bin/java –version

hadoop的安装很简单,只需要解压压缩包即可

tar xzvf hadoop-1.2.1.tar.gz

配置hadoop-1.2.1

进入hadoop-1.2.1目录

cd hadoop-1.2.1

vi conf/hadoop-env.sh,修改jdk目录

export JAVA_HOME=/home/hadoop/jdk1.6.0_32

vi conf/core-site.xml,需要配置temp目录和hdfs地址

<configuration>

<property>

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

<value>/home/hadoop/repo4/tmp</value>

<description>A base for other temporary directories.</description>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://hadoop1:9000</value>

</property>

</configuration>

vi conf/hdfs-site.xml,需要配置name node,data node的目录,以及一个replication因子

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

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

<value>/home/hadoop/repo4/name</value>

</property>

<property>

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

<value>/home/hadoop/repo4/data</value>

</property>

</configuration>

需要注意的是需要创建如下几个目录

Mkdir –p /home/hadoop/repo4/name

Mkdir –p /home/hadoop/repo4/data

Mkdir –p /home/hadoop/repo4/tmp

vi conf/mapred-site.xml,仅仅只需要配置jobtracker的地址

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>http://hadoop1:9001</value>

</property>

</configuration>

vi conf/masters

hadoop1

vi conf/slaves

hadoop1

hadoop2

hadoop3

将这些配置文件,复制到hadoop2和hadoop3上

cp -r conf/* hadoop@hadoop2:/home/hadoop/hadoop-1.2.1/conf/

cp -r conf/* hadoop@hadoop3:/home/hadoop/hadoop-1.2.1/conf/

在启动hadoop集群之前,需要格式化namenode

bin/hadoop namenode –format

启动hadoop集群

bin/start-all.sh

可以看出,先启动namenode, data, secondarynamenode, jobtracker, tasktracker

通过jps验证是否启动

在 hadoop1上, 运行jps

在hadoop2上,运行jps

在hadoop3上,运行jps

很显然,NameNode, DataNode, SecondaryNameNode, JobTracker, TaskTracker都已启动了

查看hadoop集群状态

bin/hadoop dfsadmin -report

hadoop提供了web页面的接口

在浏览器里输入:http://hadoop1:50070

在浏览器里输入:http://hadoop1:50030

到目前为止hadoop的安装就结束了

测试一下mapred的程序,我们运行hadoop自带的wordcount

创建一个输入目录:

bin/hadoop dfs -mkdir /user/hadoop/input

上传一些文件

bin/hadoop dfs -copyFromLocal  conf/* /user/hadoop/input/

看一下文件

bin/hadoop dfs -ls /user/hadoop/input

启动mapred程序

bin/hadoop jar hadoop-examples-1.2.1.jar wordcount /user/hadoop/input /user/hadoop/output

自此,hadoop-1.2.1已经成功安装了,hadoop安装的难点在于要非常熟悉linux系统,了解ssh的配置,防火墙,用户和组。希望大家都能安装好自己的hadoop系统。

Hadoop1的安装的更多相关文章

  1. hadoop1.X安装

    1.      配置主机的名称 master,slave1,slave2 2.      安装JDK: 3.      配置IP与主机名称的映射: 192.168.0.100 master 192.1 ...

  2. Hadoop1.x安装配置文件及参数说明

    一.常用文件及参数说明Core-site.xml       配置Common组件的属性 hdfs-site.xml         配置hdfs参数,比如备份数目,镜像存放路径 Mapred-sit ...

  3. Hadoop第1~2周练习—Hadoop1.X和2.X安装

        练习题目     Hadoop1.X安装 2.1    准备工作 2.1.1   硬软件环境 2.1.2   集群网络环境 2.1.3   安装使用工具 2.2  环境搭建 2.2.1   安 ...

  4. Coudera-Manager/CDH的安装和部署

    由于之前部署的集群采用的是用apache hadoop的方式来实现,但是考虑到运维的成本问题,下面将apache hadoop转换成cloudera cdh.下面主要讲解一下cloudera cdh的 ...

  5. Hadoop2的简单安装

    前面花了很多时间来介绍hadoop1的安装,随着hadoop的发展,hadoop2的应用也越来越普及,hadoop2解决了hadoop1中的很多问题,比如单点故障,namenode容量小的问题. 我们 ...

  6. hive1.2.1安装步骤(在hadoop2.6.4集群上)

    hive1.2.1在hadoop2.6.4集群上的安装 hive只需在一个节点上安装即可,这里再hadoop1上安装 1.上传hive安装包到/usr/local/目录下 2.解压 tar -zxvf ...

  7. Hadoop安装与配置

    Hadoop介绍 上面是官方介绍,翻一下来总结一句话就是:Hadoop是一个高可用,用于分布式处理大规模计算的工具. Hadoop1.2 下载 . Hadoop1.2 安装 1. 安装jDK 2. 配 ...

  8. 【HIVE】hive的安装与使用教程

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...

  9. 八、hive3.1.2 安装及其配置(本地模式和远程模式)

    目录 前文 hive3.1.2 安装及其配置(本地模式和远程模式) 1.下载hive包 2.修改其环境变量 3.MySQL配置 Centos7 MySQL安装步骤: 1.设置MySQL源 2.安装My ...

随机推荐

  1. 一个.net Cookie组件的bug引发的题外话

    在.net里,做过Http模拟发送请求的朋友们应该遇到过,有个时候无论怎么努力,都没办法让Cookie跟网页用浏览器所收集的一样,其中原因除了有些Cookie大概是ReadOnly之外,似乎另有隐情: ...

  2. winfrom 底层类 验证码

    效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzgxNjcwOQ==/font/5a6L5L2T/fontsize/400/fill/I ...

  3. Win7下Python WEB环境搭建

    环境介绍: Win7 64位 SP1 Python:2.7.6 网关接口:flup Nginx安装:http://blog.csdn.net/jacson_bai/article/details/46 ...

  4. Firefly 性能测试 通报

    http://bbs.gameres.com/forum.php?mod=viewthread&tid=220516 Firefly 性能测试 主要考虑点 网络IO的并发 进程间通信压力 数据 ...

  5. 关于JSP乱码问题

    关于jsp乱码问题的解决. 1 最基本的乱码问题. 这个乱码问题是最简单的乱码问题.一般新会出现.就是页面编码不一致导致的乱码. <%@ page language="java&quo ...

  6. 【VB编程】05.MsgBox与InputBox函数

    在VBA程序中,数据的输入输出是通过函数实现的,其实现的方式是通过对话框的形式表示出来的.例如MsgBox,Inputbox等,不要误认为是输入输出语句的关键字,其实仅仅是一个普通函数而已. [Msg ...

  7. Mysql主从(主从不同步解决办法,常见问题及解决办法,在线对mysql做主从复制)

    一.主从不同步解决办法 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status; 也正常. mys ...

  8. mybatis想要在控制台显示sql语句配置文件

    在src目录下创建一个properties文件 配置内容如下 log4j.rootLogger=debug,stdout,logfile log4j.appender.stdout=org.apach ...

  9. Maven实战(一)搭建Nexus伺服器

    在搭建伺服器之前我们先要说明一下为什么要搭建伺服器以及伺服器的作用是什么.在进行分布式开发中maven工具的使用可以极大的提高我们管理项目颗粒的效率,既然是管理颗粒那总得有地方存放才行,而伺服器扮演的 ...

  10. swift -变量的定义与使用

    使⽤用let来声明常量,使⽤用var来声明变量. ⼀一个常量的值在编译时并不须要获取,可是你仅仅能为它赋值⼀一次.也就是说你能够⽤用常量来表⽰示这样⼀一个值:你仅仅须要决定⼀一次,可是须要使⽤用非常多 ...