Hadoop伪分布式搭建

Contents

  1. 1. 准备Linux环境
  2. 2. 安装JDK
  3. 3. 安装hadoop2.2.0

准备Linux环境

  1. 点击VMware快捷方式,右键打开文件所在位置,然后双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.8.0 子网掩码:255.255.255.0 -> apply -> ok
    回到windows –> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.8.100 子网掩码:255.255.255.0 -> 点击确定
    在虚拟软件上 –My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok
  2. 修改主机名
    vim /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=centos01
  3. 修改IP
    两种方式: 第一种:通过Linux图形界面进行修改(强烈推荐)
    进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.8.88 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply
    第二种:修改配置文件方式(屌丝程序猿专用):
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=”eth0”
    BOOTPROTO=”static” ###
    HWADDR=”00:0C:29:3C:BF:E7”
    IPV6INIT=”yes”
    NM_CONTROLLED=”yes”
    ONBOOT=”yes”
    TYPE=”Ethernet”
    UUID=”ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c”
    IPADDR=”192.168.8.88” ###
    NETMASK=”255.255.255.0” ###
    GATEWAY=”192.168.8.1” ###
  4. 修改主机名和IP的映射关系
    vim /etc/hosts
    192.168.8.88 centos01
  5. 关闭防火墙
    查看防火墙状态
    service iptables status
    关闭防火墙
    service iptables stop
    查看防火墙开机启动状态
    chkconfig iptables –list
    关闭防火墙开机启动
    chkconfig iptables off
  6. 重启Linux
    Reboot
    其实,不管是分布式还是伪分布式的集群搭建,1.0–1.5是基本的步骤。

安装JDK

  1. 上传
  2. 解压jdk
    创建文件夹
    mkdir /ideas/java
    解压
    tar -zxvf jdk-7u76-linux-i586.gz -C /ideas/java/
  3. 将java添加到环境变量中
    vim /etc/profile
    在文件最后添加
    export JAVA_HOME=/ideas/java/jdk1.7.0_76
    export PATH=$PATH:$JAVA_HOME/bin
    刷新配置
    source /etc/profile

安装hadoop2.2.0

注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改5个配置文件

  1. 配置hadoop
    第一个:hadoop-env.sh
    vim hadoop-env.sh
    export JAVA_HOME=/ideas/java/jdk1.7.0_76
    第二个:core-site.xml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!-- 制定HDFS的老大(NameNode)的地址 -->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://centos01:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/itcast/hadoop-2.2.0/tmp</value>
    </property>

第三个:hdfs-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
```
**第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)**
```python
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

第五个:yarn-site.xml

1
2
3
4
5
6
7
8
9
10
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

  1. 将hadoop添加到环境变量
    vim /etc/proflie
    export JAVA_HOME=/ideas/java/jdk1.7.0_76
    export HADOOP_HOME=/itcast/hadoop-2.2.0
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    source /etc/profile
  2. 格式化namenode(是对namenode进行初始化)
    hdfs namenode -format (hadoop namenode -format)
  3. 启动hadoop
    先启动HDFS:sbin/start-dfs.sh
    再启动YARN:sbin/start-yarn.sh
  4. 验证是否启动成功
    使用jps命令验证
    1
    2
    3
    4
    5
    6
    27408 NameNode
    28218 Jps
    27643 SecondaryNameNode
    28066 NodeManager
    27803 ResourceManager
    27512 DataNode

一般遇到DataNode没有启动起来,重启一下机器就行了
http://192.168.8.88:50070 (HDFS管理界面)
http://192.168.8.88:8088 (MR管理界面)