Hadoop2.6 伪分布式配置

1.   安装前资源准备

  1. 操作系统(我在这里使用的是centos 6.5 64bit)
  2. 准备jdk的安装包

  NewImage

  3.准备Hadoop安装包

NewImage 

2.   必要环境搭建

2.1  Java环境配置

以root用户登录系统

 NewImage

我把jdk安装到/opt目录下,进入该目录进行解压,命令如下

 NewImage

现在该目录下多了jdk1.7.0_71这个文件夹

 NewImage

现在开始配置Java环境,用vi编辑器打开/etc/profile

NewImage 

到文件末尾插入如下配置:

export JAVA_HOME=/opt/jdk1.7.0_71

export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar

  export PATH=$PATH:$JAVA_HOME/bin

 NewImage

然后退出保存wq

执行source /etc/profile使环境变量生效,然后执行java –version 检验环境是否配置成功,如下图则说明配置成功。

 NewImage

2.2  基础环境登录

2.2.1      修改主机名

在root用户下编辑/etc/sysconfig/network文件

命令:vi /etc/sysconfig/network

 NewImage

将主机名修改为任意名字,我在这里将主机名修改为hadoop。wq保存并退出

修改主机名后需要重启后才能看到效果

 NewImage

修改完主机名后需要更改hosts文件,否则系统不能识别主机名

NewImage 

2.2.2      添加新用户

在这里不建议使用root用户,root权限太大可能会造成很多意外。

先添加一个用户组,我添加一个hadoop用户组

命令:groupadd hadoop

添加新用户,添加一个hadoop用户

命令:useradd hadoop –g hadoop

再为hadoop用户设置密码

命令:passwd hadoop

 NewImage

2.2.3      关闭防火墙

切换到root用户下,执行service iptables stop,然后继续执行chkconfig iptables off禁止防火墙开机自启动。

NewImage 

查看防火墙状态的命令为:service iptables status,若显示如下则证明防火墙已经关闭。

 NewImage

2.2.4      关闭Selinux

执行sestatus –v 查看selinux状态,如果如下显示为enabled,则说明selinux正在工作,需要进行关闭。

 NewImage

编辑文件/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后重启机器即可,这样每次机器启动时SELINUX均未关闭状态。

 NewImage

重启后进行验证,输入sestatus –v,如下图则为已经禁用

NewImage 

2.3  SSH 无密码登录

 切换至hadoop用户,在hadoop用户目录下

 NewImage

执行ssh-keygen -t rsa,一路回车

NewImage 

将公钥文件添加到~/.ssh/authorized_keys文件中

修改~/.ssh/authorized_keys文件的权限

chmod 600 .ssh/authorized_keys

使用ssh localhost测试是否配置成功。

如果成功则不会提示输入密码。

3.   Hadoop环境配置

3.1  解压文件

命令:tar -zxvf cdh/hadoop-2.6.0-cdh5.4.1.tar.gz

3.2  配置Hadoop环境变量

由于hadoop环境只供hadoop用户进行使用,则只需要在.bash_profile中进行配置即可。

vi .bash_profile

 NewImage

保存退出后执行source .bash_profile

3.3  修改Hadoop配置文件

3.3.1      在hadoop文件中加入java_home目录

在以下三个文件中添加export JAVA_HOME=/opt/jdk1.7.0_71(Hadoop配置文件位于$HADOOP_HOME/etc/hadoop/下)

hadoop-env.sh

yarn-env.sh

mapred-env.sh

 NewImage

3.3.2      配置core-site.xml

vi core-site.xml 添加以下内容

<property>

  <name>fs.defaultFS</name>

  <value>hdfs://hadoop:8020</value>

 </property>

 

 <property>

   <name>hadoop.tmp.dir</name>

   <value>/home/hadoop/hadoop-2.6.0-cdh5.4.1/data/tmp</value>

 </property>

 NewImage

1处为主节点的主机名,由于我们采用的是伪分布式部署,则此处为本机主机名,即hadoop。

2处为hadoop临时文件存放目录

3.3.3      配置hdfs-site.xml

vi hdfs-site.xml 添加如下内容

<property>

   <name>dfs.namenode.name.dir</name>

   <value>file:///opt/hadoop-2.6.0/data/dfs/namenode/name</value>

 </property>

<property>

    <name>dfs.namenode.edits.dir</name>

    <value>file:///opt/hadoop-2.6.0/data/dfs/namenode/edits</value>

 </property>

 

 <property>

    <name>dfs.datanode.data.dir</name>

   <value>file:///opt/hadoop-2.6.0/data/dfs/datanode</value>

 </property>

 

 <property>

   <name>dfs.namenode.checkpoint.dir</name>

   <value>file:///opt/hadoop-2.6.0/data/dfs/secondarynamenode/name</value>

 </property>

 

 <property> 

 <name>dfs.replication</name>

 <value>1</value>

 </property>

这里为文件副本数量,伪分布式设置为1就够了

3.3.4      配置yarn-site.xml

vi yarn-site.xml 添加如下内容

<property>

    <name>yarn.resourcemanager.hostname</name>

      <value>master</value>

 </property> 

<property>    

   <name>yarn.nodemanager.aux-services</name>    

   <value>mapreduce_shuffle</value>    

</property>    

<property>    

   <name>yarn.resourcemanager.address</name>    

   <value>master:8032</value>    

</property>

3.3.5      配置mapred-site.xml

vi mapred-site.xml 添加如下内容

<property>  

    <name>mapreduce.framework.name</name>  

    <value>yarn</value>  

 </property>

 

3.4  启动Hadoop

启动之前先格式化namenode,命令如下

hdfs namenode -format

 NewImage

 

确定启动成功后再启动Hadoop

启动hdfs,命令如下

Start-dfs.sh,如果在过程中要求输入yes or no,直接输入yes 回车,启动完毕后使用jps命令查看进程,查看是否有如下进程,若有则说明启动成功。

 NewImage

启动yarn,命令如下

Start-yarn.sh,同理使用jps查看进程

 NewImage

至此,Hadoop配置完成。

posted @ 2016-01-05 11:08  GavinQiu  阅读(956)  评论(0编辑  收藏  举报