LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > Linux教程 >

Hadoop2.4.1伪分布式配置详解

时间:2015-03-05 09:43来源:oschina 编辑:gooke 点击:
实验环境: VMware Workstation 10.0 CentOS 6.5 Hadoop 2.4.1 Jdk1.7.0 一. Linux系统环境准备 用WindSCP等软件,把JDK和Hadoop的安装包上传到CentOS虚拟机中。 用户设置 如果用普通用户进行以下操作,先把
实验环境:
    VMware Workstation 10.0  
    CentOS 6.5   
    Hadoop 2.4.1
    Jdk1.7.0

一. Linux系统环境准备   
用WindSCP等软件,把JDK和Hadoop的安装包上传到CentOS虚拟机中。

用户设置
如果用普通用户进行以下操作,先把普通用户添加到/etc/sudoers文件中,以便能执行sudo命令。
切换到root
$su -
添加普通用户到sudoers
#vim /etc/sudoers
在文件的99行添加 hadoop ALL=(ALL) ALL
添加普通用户hadoop

配置IP
虚拟机使用NAT模式。
用图形界面或直接修改/etc/sysconfig/network-scripts/ifcfg-eth0文件
IP:192.168.18.101
MASK:255.255.255.0
ROUTE:192.168.18.1

修改主机名
非必须步骤,为了以后的方便,还是配置的好。
修改主机名为hadoop001,重启生效
[root@localhost ~]# vim /etc/sysconfig/network
   NETWORKING=yes
   HOSTNAME=hadoop001
查看主机名
[root@localhost ~]# hostname

配置主机名和IP的映射
为了测试方便,也可以再配置宿主机windows的映射 C:\Windows\System32\drivers\etc\hosts
[root@localhost ~]# vim /etc/hosts
添加: 192.168.18.101 hadoop001

关闭防火墙
不关闭防火墙,其他主机不能访问http等服务。当然,如果你会,自己配置防火墙更好。
关闭防火墙
[root@localhost ~]# service iptables stop
查看防火墙状态
[root@localhost ~]# service iptables status
iptables: Firewall is not running.
设置开机不启动防火墙
[root@localhost ~]# chkconfig iptables off
配置完成,重启CentOS
reboot

二. 安装JDK和Hadoop
解压JDK和Hadoop的安装包*.tar.gz.

配置环境变量
重新编译环境变量配置文件
#source /etc/profile
测试命令
$java -version
$hadoop

三.Hadoop配置
1. etc/hadoop/hadoop-env.sh
修改 HADOOP_HOME/etc/hadoop/hadoop-env.sh

把27行,${JAVA_HOME}换成jdk的绝对路径。

可能是hadoop的shell脚本问题,这里经常获取JAVA_HOME失败,所以替换成jdk的绝对路径。
2. etc/hadoop/core-site.xml
<configuration>
     <property>
         <name>fs.defaultFS</name>
         <value>hdfs://hadoop001:9000</value>
         <discription> 
            hdfs://hostname|IP:port
             文件系统的名字,默认端口号为8020(见NameNode源码),
        </discription>
     </property>
    <property>
          <name>hadoop.tmp.dir</name>
          <value>/home/hadoop/apps/hadoop-2.4.1/tmp</value>
          <discription>
               指定name table(fsimage)在本地系统的存放位置,
               如果value是以逗号分隔的多个目录,则会在每个目录中保存一份,作为冗余备份。
               注意:如果最前面不加/ 就是相对HADOOP_HOME的路径
          </discription>
     </property>
</configuration>

3. etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
        <description>
            block副本的数量(副本因子)
            在搭建伪分布式时,值为1就行,覆盖hdfs-default.xml中配置的默认值3。
         </description>
    </property>
<configuration>

4. etc/hadoop/mapred-site.xml
修改mapred-site.xml.template文件名为mapred-site.xml
<configuration>
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
     <description>
        指定MapReduce运行在Yarn上
     </description>
</configuration>

5. etc/hadoop/yarn-site.xml
</configuration>
    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop001</value>
    </property>
        <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

四. 启动Hadoop
SSH免密码登录
设置无密码登录NameNode等节点。因为我们是伪分布式实验环境,所以启动或关闭HDFS和Yarn时每次输入密码不方便。

测试一下,是否可以通过SSH免密码的登录
$ ssh localhost

If you cannot ssh to localhost without a passphrase, execute the following commands:
 $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
 $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
 #然后再用ssh localhost测试一下,如果不行,就改一下秘钥的权限。
 #chmod 600 .ssh/*

格式化HDFS
为什么需要格式化?

和使用新买的硬盘时,也需要格式一下一个道理,根据选择的文件系统类型对磁盘进行配置。

windows下选择NTFS文件系统,这个是HDFS文件系统,只不过HDFS的是一个逻辑磁盘
hfds namenode -format  
或hadoop namenode -form  这是hadoop1.x中的命令,已经过时。

格式化成功后,Hadoop会在core-site.xml文件中配置的hadoop.tmp.dir目录下自动创建dfs/name目录。

格式化信息:
查看初始状态下dfs/name下只有fsimage文件。

启动Hadoop服务
hadoop 1.x通过start-all.sh启动hdfs和MapReduce
$ bin/start-all.sh
hadoop2.x
启动hdfs服务
$start-dfs.sh
启动yarn
$start-yarn.sh

验证成功启动
1) 用JPS查看java进程
2)Browse the web interface for the NameNode and theMapReduce
NameNode Web UI- http://localhost:50070/
MapReduce Web UI - http://localhost:8088/

转载请保留固定链接: https://linuxeye.com/Linux/2242.html

------分隔线----------------------------
标签:Hadoop
栏目列表
推荐内容