(1)我的电脑环境

CentOS6.5,64位,在虚拟机下实现。

(2)jdk1.6的安装

jdk我用的是1.6.0_27,自己在网上下载jdk-6u27-linux-x64.zip

先在/usr/local/下新建名为java的文件夹

下载链接:http://download.csdn.net/detail/tiney/3678995

下载好了之后,将该文件先通过u盘拷贝到桌面,然后从桌面复制到java中

命令:cp  /home/桌面/Jdk-6u27-linux-x64.bin /usr/local/java/

(复制不过去,就切换到root下进行)su  root

然后就是进入该解压文件的路径下解压文件  tar zxvf  jdk-6u27-linux-x64.zip

然后就是执行安装即可,Jdk-6u27-linux-x64.bin。

命令:./ Jdk-6u27-linux-x64.bin

自动完成

设置环境变量

vi /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.6.0_27

export PATH=.:$JAVA_HOME/bin:$PATH

输入 source /etc/profile使配置文件生效。

检查jdk是否安装配置成功,java -version,若显示如下,表示安装成功。

[root@Hadoop0 ~]# java –version

Java version “1.6.0_27”

(以上内容表示JDK就安装好了)

安装jdk过程中出现的问题

系统自带了jdk,应该先将其删掉

比如,此图在网上截取得到(图片不影响我要表达的内容)

输入方框中的命令,发现系统自带有jdk,这个时候,应该讲横线箭头处的四个文件全部删掉

注意删除的命令:(很重要,花了我好久才搞懂)

rpm -e --nodeps java-1.6.0-openjdk

(不能写rpm -e –nodeps

java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.e16_3.x86_64 )反正不能写的这么全面,

否则删不掉了,然后删除后面三个,以此类推,千万不能写全

这样自带的jdk就删掉了,删掉之后,就很好做了,然后按照文章里面写的,然后终于把自己的jdk装上了

接下来就是安装hadoop了

切记一条:首先要创建一个hadoop用户,搭建集群的话,几台电脑,最好是在同一个用户进行

命令:useradd hadoop  #表示创建一个名为hadoop的用户

命令:passwd hadoop #表示要给hadoop的用户创建密码

(这里我给的密码都是KATOA2015,因为实验室的名称是KATOA)

接下来的工作,都先切换到hadoop用户下进行

命令:su hadoop

如果切换不过来的话,先进入root,然后再进hadoop用户即可

命令:su root

先在/usr/local/下创建hadoop文件夹

命令:mkdir /usr/local/hadoop

然后将hadoop的压缩包复制到hadoop文件夹里面,命令同上

(如果复制不过来的话,就换到root下面,弄完之后记得切换到hadoop用户,或者给haodop用户root权限也可以,这里的授权的命令自己百度去)

接下来,配置SSH 免密码登陆

  1. 查看当前用户下(hadoop)是否有.ssh的隐藏文件

命令:cd ~/.ssh  #查看有没有.ssh的文件

如果没有,就新建一个

命令:mkdir ~/.ssh

  1. 输入ssh-keygen -t rsa

这个命令会在.ssh文件夹下生成id_dsa和id_ds.pub两个文件,这私钥和公钥。

(这里,注意一点,输入完ssh-keygen –t rsa之后,接下来直接按enter,不管它要你输入什么,都直接输入enter就可以了,不然会出错,我的一点经验之谈,直到enter出一个黑框框里面乱七八糟的,卡不懂的,那个就是秘钥 ,就可以了,再进行3)

3.输入cp id_rsa.pub authorized_keys

这条命令是把公钥加到用于认证的公钥文件中

4.验证SSH是否安装成功,以及是否可以免密码登陆本机

ssh localhost

如果显示如下,表示安装成功

修改主机名

为了方便,这里我把主机名改为hadoop0;

(从机给的是hadoop2,,hadoop3)

输入:hostname可以显示当前主机名;

输入:vi /etc/sysconfig/network修改HOSTNAME,如下,保存并退出

(编辑模式下,按一下esc,然后输入:wq 再enter,就可以保存修改并退出了,:x!是强制保存修改并退出,有时会用到)

将hostname与ip地址绑定

这个时候,如果直接ping hadoop0,那么是不成功的,因为hadoop0没有和本机地址绑定;

输入:vi /etc/hosts,增加一行:

10.109.0.49 hadoop0

这里10.109.0.49是我本机的Ip地址,之后再ping hadoop0就成功了。

(我在服务器上装虚拟机弄的,这里学校给我们实验室弄了个专用ip)  (ifconfig可以查看电脑ip)

安装并运行Hadoop

下载并将hadoop-1.1.2.tar.gz解压到当前用户目录下(/usr/local/hadoop)。

tar -zxvf hadoop-1.1.2.tar.gz。

采用伪分布式hadoop配置

进入hadoop文件夹下的conf夹,修改配置文件。

1.指定jdk安装位置:

Hadoop-env.sh:

export JAVA_HOME=/usr/local/java/jdk1.6.0_27

2.hadoop核心配置文件,配置HDFS地址和段口号。

core-site.xml

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

注意:这里hadoop是你的电脑主机名,根据自己的主机名来修改。

3.hdfs-site.xml,默认的配置方式是3,在单机版的hadoop中,将其改为1

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

4.配置MapReduce文件,配置JobTracker的地址和端口

mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>Hadoop0:9001</value>
</property>
< /configuration>

注意:这里hadoop是你的电脑主机名,根据自己的主机名来修改。

5.接下来,在启动hadoop前,需要格式化hadoop的HDFS。进入hadoop文件夹,

输入bin/hadoop namenode -format

格式化文件系统,接下来启动hadoop

输入命令,启动所有进程:

bin/start-all.sh

可以通过jps命令来查看运行的进程,如果成功运行,那么将会有5个进程运行,如下图:

分别是:JobTracker、secondaryNameNode、TaskTracker、NameNode和DataNode。

最后验证hadoop是否安装成功。

打开浏览器,分别输入网址:

localhost:50030(mapreduce的web页面)

localhost:50070(HDFS的web页面)

如果想在windows下访问这两个网址,那么就需要关闭CentOS的防火墙,否则访问不了。

命令:service iptables stop

使用:chkconfig iptables off,可以关闭防火墙的自动运行

这样,单机版的hadoop就可以搭建成功了

然后就是在单机版的基础上,搭建集群了

Hadoop集群环境的搭建和单机版的搭建差不多,就是多了一些文件的配置操作。

3台主机的hostname修改和IP地址绑定

接下来的操作还是在hadoop用户下进行,如果不行的话,就给hadoop用户root权限,或者转到root下,不过马上得转到hadoop下

我在虚拟机下安装了3个centos6.5系统,其IP地址和主机名分别如下:

10.109.0.49 Hadoop0

10.109.0.54 Hadoop2

10.109.0.55 Hadoop3

IP地址与hostname绑定

在Hadoop0主机下操作类似,将HOSTNAME修改为Hadoop0;在Hadoop2主机下操作类似,将HOSTNAME修改为hadoop2。在Hadoop3主机下操作类似,将HOSTNAME修改为hadoop3。

在Hadoop0主机下:

输入:vi /etc/hosts,在hosts下添加如下内容:

10.109.0.49 Hadoop0

10.109.0.54 Hadoop2

10.109.0.55 Hadoop3

然后通过scp命令,将修改好的hosts复制到Hadoop2和Hadoop3的/etc/hosts文件夹下覆盖:

scp  /etc/hosts  hadoop@Hadoop2:/etc/hosts
scp  /etc/hosts  hadoop@Hadoop3:/etc/hosts

(注意,这个地方,scp是复制文件的命令,我的理解是,超级复制的意思,至于能不能用来复试文件夹,还不清楚,hadoop是当前用户,@后面的是主机名)

测试3太主机之间是否能Ping通

在3台主机下分别输入:

ping Hadoop0
ping Hadoop2
ping Hadoop3

如果3太主机都能ping通,那说明前面的配置成功。

Ping三台主机对应的ip也是一样子的(centos下区分大小写)

ping 10.109.0.49

ping 10.109.0.55

ping 10.109.0.54

SSH免密码登陆(这是之前单机版的工作,单机版做了,就不用管了)

在hadoop主机下:

1.查看当前用户下(root)是否有.ssh的隐藏文件,如果没有就创建一个

mkdir .ssh

2.输入ssh-keygen -t rsa

这个命令会在.ssh文件夹下生成id_dsa和id_ds.pub两个文件,这私钥和公钥。

3.输入

cp id_rsa.pub authorized_keys

这条命令是把公钥加到用于认证的公钥文件中

4.验证SSH是否安装成功,以及是否可以免密码登陆本机

ssh localhost

如果显示如下,表示安装成功

(请参阅此步骤的上图)

5.将authorized_keys复制到hadoop2和hadoop3下的.ssh文件,这样就可以免密码登陆hadoop2和hadoop3了。

scp authorized_keys hadoop@Hadoop2:.ssh/
scp authorized_keys hadoop@Hadoop3:.ssh/

(这里,hadoop@Hadoop2,hadoop是当前用户,要在hadoop用户下搭建集群,网上也有说可以不在hadoop用户下,但是对于小白而言,还是乖乖乖滴都在hadoop用户搭建吧,Hadoop2是主机名)

6.测试

在hadoop主机下输入:

ssh Hadoop2

ssh Hadoop3

在第一次登陆是需要密码,以后则不要。到此,ssh的免密码登陆完成。

安装jdk1.6

集群jdk的配置同单机的,单机版的jdk配好了的话,这里就不用配置了

设置环境变量

环境变量的配置同单机的,单机版的环境变量配好了的话,这里就不用配置了

配置hadoop

在Hadoop0主机下:

进入hadoop文件夹下的conf夹,修改配置文件。

1.指定jdk安装位置:

Hadoop-env.sh:

export JAVA_HOME=/usr/local/java/jdk1.6.0_27

2.hadoop核心配置文件,配置HDFS地址和段口号。

core-site.xml

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://Hadoop0:9000</value>(hadoop依据主机名来写,我的主机名是Hadoop0)
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property>
</configuration>

3.hdfs-site.xml,默认的配置方式是3,这里因为我们搭建的是3个集群,所以给的是3

hdfs-site.xml

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

4.配置MapReduce文件,配置JobTracker的地址和端口

mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>Hadoop0:9001</value>(hadoop是依据主机名来写,我的主机名是Hadoop0)
</property>
</configuration>

5‘修改masters文件

hadoop

6.修改slaves文件

Hadoop2
hadoop3

然后将hadoop文件夹复制到另外2台主机。

scp /uer/local/hadoop hadoop@Hadoop2:/etc/local/
scp /uer/local/hadoop hadoop@Hadoop3:/etc/local/

(如果复制不过来,就一个一个地配置,做重复工作而已)

接下来要修改环境变量:

vi /etc/profile

export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

同样,将profile复制到另外两台主机上,操作见三(2)。

(3)启动hadoop

在hadoop下:

输入:

hadoop namenode -format

然后通过start-all.sh启动所有进程:

start-all.sh

可以通过jps命令来查看运行的进程,如果成功运行,那么将会有5个进程运行,如下图:
在Hadoop0 下:

在Hadoop2下:

在Hadoop2下:

至此,hadoop集群启动成功,要想看集群状态,可以打开下面两个网址:

localhost:50030(mapreduce的web页面)

localhost:50070(HDFS的web页面)

如果想在windows下访问这两个网址,那么就需要关闭CentOS的防火墙,否则访问不了。(3台主机都要关闭防火墙)

命令:service iptables stop

使用:chkconfig iptables off,可以关闭防火墙的自动运行

有不清楚的地方,请联系笔者。Q:718364491

虚拟机下hadoop1.1.2安装(单机版)与(集群版)的更多相关文章

  1. (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版

    http://blog.csdn.net/yerenyuan_pku/article/details/72863323 我们知道Jedis在处理Redis的单机版和集群版时是完全不同的,有可能在开发的 ...

  2. linux下安装Elasticsearch(单机版和集群版)

    一.linux下安装Elasticsearch(单机) 1.软件下载 下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsea ...

  3. Redis单机版以及集群版的安装搭建以及使用

    1,redis单机版 1.1   安装redis n  版本说明 本教程使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install g ...

  4. Redis单机版和集群版的安装和部署

    1.单机版的安装 本次使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install gcc-c++ 1.1 安装redis 1.下载re ...

  5. redis单机版和集群版搭建笔记-简略版

    搭建单机版: 解压 tar -zxf redis-3.0.0.tar.gz 编译 cd redis-3.0.0 安装 make install prefix=/usr/local/redis-inst ...

  6. shiro的单机版 和 集群版

    在我们的开发当中  我们一般权限都是个 比较繁琐 但又必不可少的 一部分 [不管我们的 数据库设计  还是我们采用何种技术 我们的权限库表 大多都是大同小异  业务逻辑也是如此] 在我们不使用任何框架 ...

  7. 使用jedis客户端连接redis,单机版和集群版

    单机版 1.入门实例 @Test public void testJedis(){ //创建一个jedis对象,需要指定服务的ip和端口号 Jedis jedis=new Jedis("19 ...

  8. redis在项目中的使用(单机版、集群版)

    1.下载jar包:jedis-2.6.2.jar 2.代码: JedisDao.java: package com.test.www.dao; public interface JedisDao { ...

  9. JedisClient操作redis 单机版和集群版

    一.在pom文件中添加依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency&g ...

随机推荐

  1. 华为mate10 UA

    Dalvik/2.1.0 (Linux; U; Android 9; ALP-AL00 Build/HUAWEIALP-AL00) "user-agent": "Mozi ...

  2. Linker errors in Android NDK (undefined reference to `__cxa_end_cleanup')

    在 Android 中移植一个库(该库 使用了 libstlport )时 产生如下错误: ./obj/local/armeabi/objs/jniWrapper/native.o: In funct ...

  3. 小程序 第一个学习示例(TodoList)

    1. 概述 1.1 说明 在微信开发者工具环境下开发一个简易的TodoList功能,以便能够进行学习与熟练小程序相关功能与信息.. 示例中,初步计划包含以下功能: 1.能够进行新增计划信息 2.计划信 ...

  4. sublime自动保存设置

    首选项——用户设置 (Preferences:Settings - User) 行末添加"save_on_focus_lost": true 注意用逗号分隔 保存即可 save_o ...

  5. avalonjs学习笔记之实现一个简单的查询页

    官网地址:http://avalonjs.coding.me/ 因为是为了学习js,所以对样式没什么要求,先放效果图: 步骤为:初始页面-------条件查询-------编辑员工1-------保存 ...

  6. CSS使用小记

    1. 省略显示 max-width: 200px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; 固定宽度,nowra ...

  7. Java Spring Boot VS .NetCore (三)Ioc容器处理

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  8. java 小程序开发PKCS7Padding 解密方法实现,以及错误Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法

    近日在对接小程序API,其中wx.getUserInfo api返回的数据encryptedData 的解密算法要求为: AES-128-CBC,数据采用PKCS#7填充. 经过一番查询,得到java ...

  9. Beta冲刺4/7

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(4/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 ppt模板 接下来的计划 做好机动. ...

  10. labview使用了报表模块,在生成exe时需要添加以下内容,否则打包后不能开启excel功能

    1.在你的安装目录下找到文件夹(D:\Program Files (x86)\National Instruments\LabVIEW 2016\vi.lib\Utility\NIReport.llb ...