(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. 在centos7下安装.net core

    在这里记录下安装的过程: 一开始需要去官网下载centos相关的dotnetcore的sdk 上传到linux,解压,发现需要安装libunwind, 安装libunwind:yum install  ...

  2. Linux 踩过的坑系列-01

    关于默认网关的添加.记得楼主之前有一次,无意之间,也不知道做了什么删除文件里面内容的操作,配置好静态IP之后上不了外网.翻阅个各种资料都是没有找到问题.最后发现问题在于配置的虚拟机网卡文件的网关打错了 ...

  3. java -jar参数携带问题

    方式一 -DpropName=propValue的形式携带,要放在-jar参数前面,亲测,放在它后面好像取不到值 java -fileName=JOURNAL_TREENODE_DATA-201904 ...

  4. JS 对Array集合排序的方法

    我的业务是根据距离的远近经行一个排序: 第一种方法:冒泡排序 排序前的数据是这样子的: 排序后是这样子的: 代码可以直接复制使用的: <!doctype html> <html> ...

  5. java 查找类的所有子类

    package _02; import java.io.File; import java.net.URL; public class MainTest_FindAllSubClass { publi ...

  6. 使用SqlServer_Profiler跟踪慢查询

    使用SQLProfiler(事件探查器)跟踪数据库操作及慢查询 1:应用程序连接SQL SERVER数据库服务器: 2:打开SQL Profiler开启数据库事件跟踪: (1):打开SQL Serve ...

  7. 利用web.py快速搭建网页helloworld

    访问web.py官网 http://webpy.org/ 根据网站步骤,利用 pip install web.py 若没有 PIP 则先安装pip 运行 sudo apt-get install py ...

  8. python---循环双向链表实现

    这个方案里的尾插入,就使用了更高效的prev指标. 但感觉remove的代码不够和前面统一, 我有代码洁癖了???? # coding = utf-8 # 双向链表 class Node: # 双向链 ...

  9. python基础篇_004_装饰器函数

    python装饰器函数 1.装饰器函数引导 功能:计算函数执行时长 import time """ 方式一: 函数首位添加时间,差值就是函数执行时间 缺点:每个函数都要加 ...

  10. LightOJ 1031 Easy Game (区间DP)

    <题目链接> 题目大意: 给定一段序列,两人轮流取数,每人每次只能从序列的两端的任意一段取数,取的数字位置必须连续,个数不限,问你这两人取数的最大差值是多少. 解题分析: 每人取数时面对的 ...