一、安装前准备

本次安装所使用软件:

虚拟机:VirtualBox-4.3.8-92456-Win.exe

JDK:jdk-6u24-linux-i586.bin

Hadoop:hadoop-1.1.2.tar.gz

Linux版本:CentOS-5.5-i386-bin-DVD.iso

Hadoop组件依赖关系



Linux系统的安装就不介绍了,下面默认为已经安装好Linux系统了。

设置Linux的静态IP

编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,修改为如下内容:

  1. DEVICE=eth0
  2. BOOTPROTO="static"
  3. HWADDR=08:00:27:22:13:54
  4. IPV6INIT="no"
  5. ONBOOT=yes
  6. DNS=192.168.1.1
  7. IPADDR=192.168.1.150
  8. NETMASK=255.255.255.0
  9. GATEWAY=192.168.1.1

然后执行网络重启命令:

  1. service network restart

最后执行ifconfig命令查看是否修改成功

  1. [root@hadoop-master software]# ifconfig
  2. eth0 Link encap:Ethernet HWaddr 08:00:27:22:13:54
  3. inet addr:192.168.1.150 Bcast:192.168.1.255 Mask:255.255.255.0
  4. inet6 addr: fe80::a00:27ff:fe22:1354/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  6. RX packets:3078 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:423 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:230636 (225.2 KiB) TX bytes:56128 (54.8 KiB)
  10. lo Link encap:Local Loopback
  11. inet addr:127.0.0.1 Mask:255.0.0.0
  12. inet6 addr: ::1/128 Scope:Host
  13. UP LOOPBACK RUNNING MTU:16436 Metric:1
  14. RX packets:76 errors:0 dropped:0 overruns:0 frame:0
  15. TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
  16. collisions:0 txqueuelen:0
  17. RX bytes:6266 (6.1 KiB) TX bytes:6266 (6.1 KiB)
  18. [root@hadoop-master software]#

修改VirtualBox的虚拟网卡地址

该步骤需保证虚拟机中的Linux能与客户机在同一网段并且ping通。

设置VirtualBox虚拟机的网络连接方式为Host-Only



再修改VirtualBox虚拟出那块网卡的ip地址



修改为如下内容:



最后需要验证宿主机和虚拟机是否能够互通

宿主机ping虚拟机:



虚拟机ping宿主机:

  1. [root@hadoop-master software]# ping -c3 192.168.1.100
  2. PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
  3. 64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=0.366 ms
  4. 64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.357 ms
  5. 64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=0.189 ms
  6. --- 192.168.1.100 ping statistics ---
  7. 3 packets transmitted, 3 received, 0% packet loss, time 2000ms
  8. rtt min/avg/max/mdev = 0.189/0.304/0.366/0.081 ms
  9. [root@hadoop-master software]#

修改主机名

修改当前会话主机名(当前会话生效):hostname 主机名

修改配置文件主机名(永久生效):vi /etc/sysconfig/network

  1. [root@hadoop-master software]# cat /etc/sysconfig/network
  2. NETWORKING=yes
  3. NETWORKING_IPV6=no
  4. HOSTNAME=hadoop-master
  5. [root@hadoop-master software]# hostname
  6. hadoop-master

把hostname和ip绑定

修改hosts文件:vi /etc/hosts文件,增加一行

  1. 192.168.1.150 hadoop-master

关闭防火墙:service iptables stop

  1. 查看防火墙状态:service iptables status
  2. 关闭防火墙:service iptables stop
  3. 关闭防火墙的自运行:

    1. 查看自运行状态:chkconfig –list | grep ‘iptables’

      1. [root@hadoop-master sysconfig]# chkconfig --list | grep 'iptables'
      2. iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
    2. 关闭防火墙:chkconfig iptables off

      1. [root@hadoop-master sysconfig]# chkconfig iptables off
    3. 再次查看自运行状态:chkconfig –list | grep ‘iptables’

      1. [root@hadoop-master sysconfig]# chkconfig --list | grep 'iptables'
      2. iptables 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

这样下次开机的时候就会不开启防火墙了

二、SSH免密码登陆

生成秘钥文件

进入~/.ssh文件夹,使用ssh-keygen -t rsa命令

注意:

1.如果没有.ssh文件夹,就使用ssh协议登录一次试试

2.如果还是没有.ssh文件夹,就自己创建一个。修改文件夹权限为700

3.authorized_keys文件的权限为644

  1. [root@hadoop-master software]# cd ~/.ssh/
  2. [root@hadoop-master .ssh]# ssh-keygen -t rsa

查看.ssh文件夹中已经多出了两个文件id_rsa和 id_rsa.pub

  1. [root@hadoop-master .ssh]# ls
  2. id_rsa id_rsa.pub
  3. [root@hadoop-master .ssh]#

将id_rsa.pub公钥文件内容放入到authorized_keys中,变成私钥

  1. [root@hadoop-master .ssh]# cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

测试免密码登陆是否成功

使用:ssh localhost命令连接本机,第一次连接时会让输入yes。以后就不用输入了。

  1. [root@hadoop-master .ssh]# ssh localhost
  2. The authenticity of host 'localhost (127.0.0.1)' can't be established.
  3. RSA key fingerprint is 8c:f4:bf:b5:c4:95:30:7b:1c:d7:cc:f8:69:15:e1:ab.
  4. Are you sure you want to continue connecting (yes/no)? yes
  5. Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
  6. Last login: Sun Apr 5 17:45:25 2015

三、安装JDK

JDK的安装很简单,解压缩。然后配置环境变量即可。

安装步骤如下:

1. 授予执行权限

  1. [root@hadoop-master software]# chmod u+x jdk-6u24-linux-i586.bin

2. 解压缩

  1. [root@hadoop-master software]# ./jdk-6u24-linux-i586.bin

3. 配置环境变量

编辑/etc/profile文件,增加如下代码

  1. # JAVA_HOME
  2. export JAVA_HOME=/opt/modules/jdk1.6.0_24
  3. export PATH=$JAVA_HOME/bin:$PATH
  4. export CLASS_PATH=.:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后使设置立即生效:

  1. source /etc/profile

4. 测试安装

  1. [root@hadoop-master software]# java -version
  2. java version "1.6.0_24"
  3. Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
  4. Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)
  5. [root@hadoop-master software]#

四、安装Hadoop

Hadoop伪分布式的安装也很简单

解压缩,配置环境变量。修改配置文件即可

1、解压缩hadoop-1.1.2.tar.gz

  1. [root@hadoop-master software]# tar -zxvf hadoop-1.1.2.tar.gz

解压完成后,可以看下Hadoop1.x的目录结构

2、添加到环境变量中

编辑/etc/profile文件,在文件最后增加如下内容

  1. # HADOOP_HOME
  2. export HADOOP_HOME=/opt/modules/hadoop-1.1.2
  3. export PATH=$PATH:$HADOOP_HOME/bin

3、使设置立即生效

  1. source /etc/profile

4、修改hadoop的配置文件

伪分布式的安装需要修改Hadoop的6个配置文件(${HADOOP_HOME}/conf),如下:

Hadoop脚本配置文件:hadoop-env.sh

核心配置文件:core-site.xml

HDFS的配置文件:hdfs-site.xml

MapReduces的配置文件:mapred-site.xml

管理节点配置文件:masters

工作节点配置文件:slaves

配置hadoop-env.sh

打开${HADOOP_HOME}/conf/hadoop-env.sh

修改JAVA_HOME变量为自己安装的JDK的位置

  1. export JAVA_HOME=/opt/modules/jdk1.6.0_24
配置core-site.xml

${HADOOP_HOME}/conf/core-site.xml中需要配置HDFS的默认主机名、端口和hadoop在本地的文件系统目录(目录需要存在

为什么要设置HDFS的工作目录呢?

因为不设置的话,Hadoop的HDFS默认的工作目录是在Linux系统的/tmp目录下,



这个目录在Linux重启后内容会被清空。所以你还需要重新再格式化。所以,这里我们指定HDFS的工作目录为我们自定义的目录。

  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>fs.default.name</name>
  7. <value>hdfs://hadoop-master:9000</value>
  8. <description>hadoop-master</description>
  9. </property>
  10. <property>
  11. <name>hadoop.tmp.dir</name>
  12. <value>/opt/data/tmp</value>
  13. </property>
  14. </configuration>
配置hdfs-site.xml

${HADOOP_HOME}/conf/hdfs-site.xml中主要配置:

文件块的副本数(dfs.replication):由于是伪分布式,主节点和从节点都在同一台机器上,所以副本数为1

是否进行权限检查(dfs.permissions):false

  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>dfs.replication</name>
  7. <value>1</value>
  8. </property>
  9. <property>
  10. <name>dfs.permissions</name>
  11. <value>false</value>
  12. </property>
  13. </configuration>
配置mapred-site.xml

${HADOOP_HOME}/conf/mapred-site.xml中主要配置MapReduce的jobTracker的主机和端口

  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>mapred.job.tracker</name>
  7. <value>hadoop-master:9001</value>
  8. </property>
  9. </configuration>
配置masters

指定SecondaryNameNode的位置(主机名)。

打开${HADOOP_HOME}/conf/masters文件,增加如下内容:

  1. hadoop-master
配置slaves

指定DataNode和TaskTracker的位置(主机名)。

打开${HADOOP_HOME}/conf/slaves文件,增加如下内容:

  1. hadoop-master

5、格式化NameNode

配置完成后需要格式化NameNode,第一次使用时需要格式化,之后再次使用时就不再需要。

在${HADOOP_HOME}/bin/目录下执行

  1. [root@hadoop-master bin]# hadoop namenode -format

五、测试Hadoop安装是否成功

启动Hadoop

Hadoop的执行命令都在${HADOOP_HOME}/bin目录下,启动和停止的2种方式

  1. 全部启动或停止:

    启动:start-all.sh

    启动顺序为

    NameNode–>DataNode–>SecondaryNameNode–>JobTracker–>TaskTracker

    停止:stop-all.sh

    停止顺序为

    JobTracker–>TaskTracker–>NameNode–>DataNode–>SecondaryNameNode

  2. 单个启动:

    启动:start-dfs.sh start-mapred.sh

    停止:stop-dfs.sh stop-mapred.sh

这里我们直接全部启动:start-all.sh

  1. [root@hadoop-master bin]# start-all.sh
  2. starting namenode, logging to /opt/modules/hadoop-1.1.2/libexec/../logs/hadoop-root-namenode-hadoop-master.out
  3. hadoop-master: starting datanode, logging to /opt/modules/hadoop-1.1.2/libexec/../logs/hadoop-root-datanode-hadoop-master.out
  4. hadoop-master: starting secondarynamenode, logging to /opt/modules/hadoop-1.1.2/libexec/../logs/hadoop-root-secondarynamenode-hadoop-master.out
  5. starting jobtracker, logging to /opt/modules/hadoop-1.1.2/libexec/../logs/hadoop-root-jobtracker-hadoop-master.out
  6. hadoop-master: starting tasktracker, logging to /opt/modules/hadoop-1.1.2/libexec/../logs/hadoop-root-tasktracker-hadoop-master.out
  7. [root@hadoop-master bin]#

可以从控制台看到,启动后的日志信息都存在在了HADOOPHOME/logs/目录下,如果启动报错可以去查看相应的日志信息。当然这个日志目录可以自定义。默认是在HADOOPHOME/logs/目录下,如果启动报错可以去查看相应的日志信息。当然这个日志目录可以自定义。默认是在{HADOOP_HOME}/logs/目录下。打开${HADOOP_HOME}/conf/hadoop-env.sh文件,里面有如下一行配置:

  1. # Where log files are stored. $HADOOP_HOME/logs by default.
  2. # export HADOOP_LOG_DIR=${HADOOP_HOME}/logs

日志类型有2种,分别以log和out结尾。

  1. 以log结尾的日志

    通过log4j采用每日滚动的方式来记录日志,主要记录了启动和停止的日志信息。
  2. 以out结尾的日志

    记录标准输出和标准错误的日志,内容比较少。

日志文件名格式:

hadoop-root-datanode-hadoop-master.log

hadoop-用户名-守护进程名称-运行守护进程的节点名称.log

消除start-all.sh时候的警告信息

如果启动过程中出现如下警告信息

  1. Warning: $HADOOP_HOME is deprecated

出现该警告的原因为:${HADOOP_HOME}/bin/hadoop-config.sh文件中的如下代码



主要是:$HADOOP_HOME_WARN_SUPPERSS变量内容为空的原因,

解决办法是设置其不为空即可!

修改vi /etc/profile文件,增加如下代码

  1. export HADOOP_HOME_WARN_SUPPRESS=1

然后使设置生效

  1. source /etc/profile

通过jps命令查看Hadoop的5个守护进程

ps表示查看Linux系统中的进程。jps表示查看系统中的Java进程

  1. [root@hadoop-master bin]# jps
  2. 6432 DataNode
  3. 6639 JobTracker
  4. 6915 Jps
  5. 6316 NameNode
  6. 6545 SecondaryNameNode
  7. 6791 TaskTracker
  8. [root@hadoop-master bin]#

登陆WEB管理页面

在Windwos系统的hosts文件中配置ip地址和hostname的映射

打开C:\Windows\System32\drivers\etc\hosts文件,增加如下内容。这样在访问192.168.1.150时,可以直接输入hadoop-master来访问了。

  1. ## Hadoop1.1.2
  2. 192.168.1.150 hadoop-master
HDFS的管理页面

http://hadoop-master:50070

MapReduce的管理页面

http://hadoop-master:50030

各监控页面显示正常的话,表示Hadoop伪分布式安装成功!

Hadoop1.1.2伪分布式安装的更多相关文章

  1. Hadoop1.2.1 伪分布式安装

    Hadoop1.2.1 单机模式安装 Hadoop组件依赖图(从下往上看) 安装步骤: 详细步骤: 设置ssh自动登录(如下图): 1.输入命令 [ssh-keygen -t rsa],然后一直按回车 ...

  2. Hadoop1.1.2伪分布式安装笔记

    一.设置Linux的静态IP 修改桌面图标修改,或者修改配置文件修改 1.先执行ifconfig,得到网络设备的名称eth0 2.编辑/etc/sysconfig/network-scripts/if ...

  3. Hadoop1.0.4伪分布式安装

    前言: 目前,学习hadoop的目的是想配合其它两个开源软件Hbase(一种NoSQL数据库)和Nutch(开源版的搜索引擎)来搭建一个知识问答系统,Nutch从指定网站爬取数据存储在Hbase数据库 ...

  4. redhat 安装hadoop1.2.1伪分布式

    完整安装过程参考:http://www.cnblogs.com/shishanyuan/p/4147580.html 一.环境准备    1.安装linux.jdk      2.下载hadoop2. ...

  5. hadoop伪分布式安装之Linux环境准备

    Hadoop伪分布式安装之Linux环境准备 一.软件版本 VMare Workstation Pro 14 CentOS 7 32/64位 二.实现Linux服务器联网功能 网络适配器双击选择VMn ...

  6. Hadoop开发第3期---Hadoop的伪分布式安装

    一.准备工作 1. 远程连接工具的安装 PieTTY 是在PuTTY 基础上开发的,改进了Putty 的用户界面,提供了多语种支持.Putty 作为远程连接linux 的工具,支持SSH 和telne ...

  7. 第二章 伪分布式安装hadoop hbase

    安装单机模式的hadoop无须配置,在这种方式下,hadoop被认为是一个单独的java进程,这种方式经常用来调试.所以我们讲下伪分布式安装hadoop. 我们继续上一章继续讲解,安装完先试试SSH装 ...

  8. HBase基础和伪分布式安装配置

    一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...

  9. Zookeeper 初体验之——伪分布式安装(转)

    原文地址: http://blog.csdn.net/salonzhou/article/details/47401069 简介 Apache Zookeeper 是由 Apache Hadoop 的 ...

随机推荐

  1. Day06 DOM4J&schema介绍&xPath

    day06总结 今日内容 XML解析之JAXP( SAX ) DOM4J Schema   三.XML解析器介绍   操作XML文档概述   1 如何操作XML文档 XML文档也是数据的一种,对数据的 ...

  2. Mirror--生成用于镜像用户同步的脚本

    USE master GO IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PR ...

  3. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  4. 使用Markdown写博客

    初识Markdown Markdown是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿这广泛使用.Markdown的设计目标是「易读易写」,语法十分简单,常用的标记符号不超 ...

  5. [golang grpc] 框架介绍

    官方网站 http://www.grpc.io/ http://www.grpc.io/docs/quickstart/go.html grpc安装 • go安装 目前grpc需要go 1.5以上版本 ...

  6. http之响应报文response

    一般情况下,服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息. HTTP响应也由四个部分组成,分别是:状态行.消息报头.空行和响应正文. http响应消息格式.jpg 例子 HTTP/ ...

  7. Spring Cloud组件完整

    有关项目启动和配置的说明: 1.最先启动的是eureka-server,并且你需要在整个测试过程中保持它的启动状态,因为它是注册中心,大多数服务必须依赖于它才能实现必要的功能. 2.如果你想测试配置中 ...

  8. 大数据,why python

    大数据,why python ps, 2015-12-4 20:47:46 python" title="大数据,why python">http://www.op ...

  9. poj1942 Paths on a Grid(无mod大组合数)

    poj1942 Paths on a Grid 题意:给定一个长m高n$(n,m \in unsigned 32-bit)$的矩形,问有几种走法.$n=m=0$时终止. 显然的$C(m+n,n)$ 但 ...

  10. Ubuntu下的MongoDB GUI 可视化管理工具

    目录 1 Robo 3T 2 NoSQLBooster for MongoDB(收费) 3 JetBrains Plugin Repository :: Mongo Plugin Ubuntu下的Mo ...