Hadoop 分为两大块:HDFS 和 MapReduce



HDFS是一个分布式存储文件系统,Mapreduce是一个分布式计算的框架,两者结合起来,就可以很容易做一些分布式处理任务了。



 



一  安装JDK1.7



Linux会自带JDK,如果不使用自带版本的话需要卸载。



1.  卸载系统自带的jdk版本



查看自带的jdk



#rpm -qa | grep gcj



使用rpm -e --nodeps 命令删除上面查找的内容:




centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统

创建hadoop用户组和用户



groupadd -g  hadoop



useradd -g hadoop hadoop



passwd hadoop



 



2. 安装 java JDK



mkdir /usr/java



解压jdk包:tar -zxvf   jdkXXXXXXX.tar.gz 




centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_02

安装包在其他文件夹的时候要加上解压存放路径:



 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_03

将java添加到环境变量中

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_04



在文件末尾加上:



export JAVA_HOME=/usr/java/jdk1.7.0_79



export PATH=$PATH: /usr/java/jdk1.7.0_79/bin



刷新配置:



source  /etc/profile



 验证jdk是否安装成功:



 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_05

二  配置SSH免密码登陆



首先,确保当前可以连接到互联网。在root下修改/etc/ssh/sshd_config文件(客户端、服务器都需要更改),将



#AuthorizedKeysFile  .ssh/authorized_keys



前面的#号去掉,即启用



AuthorizedKeysFile  .ssh/authorized_keys



如果需要root也能ssh登录,把“#PermitRootLogin yes”前面的#号也去掉。



同样root账户下,重启sshd服务使之生效



/etc/rc.d/init.d/sshd  restart




centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_06

设置免密码登录,生成私钥和公钥



ssh-keygen -t dsa



服务器中,切换到需要ssh登录的帐户下:



如果服务器中尚未建立公私钥对,那么首先按照客户端的方法建立公私钥对



scp  账户名@客户端主机名或ip地址:/home/帐户名/.ssh/id_dsa.pub  /home/帐户名/



将客户端账户的公钥拷到服务器中。客户端用主机名或ip地址均可,但是需与ssh登录命令相符,建议将主机名与ip地址写入/etc/hosts中,此处用主机名即可(下同)。



yes  将客户端写入known_hosts中



输入客户端中的账户密码完成复制


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_大数据_07



此时会在 /home/hadoop/.ssh 下生产两个文件:  id_rsa 和 id_rsa.pub , 前者为私钥,后者为公钥。



下面我们将公钥加到  authorized_keys 中,它用户保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。



cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_08

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_09

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_大数据_10



显示SSH已经安装成功了。输入命令:



 



登录 ssh



ssh 10.0.2.15     (本机客户IP地址或是hostname :比如loaclhost/hadoop1 ) 或是在  /etc/hosts  文件中修改 映射ip地址和主机名,



 




centos安装单机hadoop安装详细步骤 如何安装hadooplinux_大数据_11

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_12



备注将普通用户修改为超级用户的方法:



  进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。



l  添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。



l  编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",输入"i"进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存(就是先摁一下Esc键,然后输入":wq")退出。



l  撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。



 



赋予hadoop用户和root一样的权限:




centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_13

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_14

 



 

 



三   安装hadoop



   先介绍一下Hadoop对各个节点的角色意义:



          Hadoop分别从三个角度将主机划分为两种角色。第一,划分为master和salve,即主人与奴隶;第二,从HDFS的角度,将主机划分为NameNode和DataNode(在分布式文件系统中,目标的管理很重要,管理目录的就相当于主人,而NameNode就是目录管理者);第三,从MapReduce的角度,将主机划分为JobTracker和TaskTracker(一个job经常被划分为多个task,从这个角度不难理解它们之间的关系)。



Hadoop有官方发行版与cloudera版,其中cloudera版是Hadoop的商用版本。下面介绍Hadoop官方发行版的安装方法。



Hadoop有三种运行方式:单节点方式、单击伪分布方式与集群方式。乍看之下,前两种方式并不能体现云计算的优势,在实际应用中并没有什么意义,但是在程序的测试与调试过程中,他们还是很有意义的。



 



 



1.上传hadoop包,我这里使用FileZilla上传到 linux下/root/centos目录下



    



2.解压hadoop包



   



          tar -zxvf hadoop-2.2.0.tar.gz -C /usr/local/



   mv  hadoop-2.2.0 hadoop


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_15



3.配置hadoop伪分布式(要修改etc/下的4个文件)



   可以把伪分布式的Hadoop看作是一个节点的集群,在这个集群中,这个节点既是master,也是salve;既是NameNode也是DataNode;既是JobTracker,也是TaskTracker。



伪分布式的配置过程也很简单,只需要修改几个文件,如下所示。




centos安装单机hadoop安装详细步骤 如何安装hadooplinux_Hadoop_16

第一个:hadoop-env.sh    ( 指定JDK的安装位置)



     vim hadoop-env.sh



     export JAVA_HOME=/usr/java/jdk1.7.0_79



 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_17

 



第二个:core-site.xml



<configuration>



  <property>



      <name>fs.default.name</name>



      <value>hdfs://hadoop1:9000</value>



  </property>



</configuration>



这是hadoop核心的配置文件,这里配置的是HDFS的地址和端口号。



centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_18

 

 



第三个:hdfs-site.xml



 



<configuration>



  <property>



    <name>dfs.replication</name>



    <value>1</value>



  </property>



</configuration>



这是Hadoop中的HDFS的配置,配置的备份方式默认为3,��单机版的Hadoop中,需要将其改为1.


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_19



第四个:mapred-site.xml (需要从此文件复制mapred-site.xml.template) 即cp mapred-site.xml.template  mapred-site.xml



<configuration>



  <property>



      <name>mapred.job.tracker</name>



      <value>hadoop1:9001</value>



  </property>



</configuration>



这是Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。



需要注意的是,如果安装的是0.20之前的版本,那么只有一个配置文件,即为Hadoop-site.xml。



 



4.将Hadoop添加到环境变量中



vim /etc/profile


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_20

5.初始化HDFS(格式化文件系统,此步类似刚买U盘需要格式化)

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_21

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_大数据_22

首先赋予hadoop用户hadoop文件夹的使用权限:


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_大数据_23

输入命令:

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_大数据_24

利用jps查看已经启动的服务:

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_Hadoop_25



找不到 java进程:



 



原因是系统自带的jdk没有删除干净,导致java路径读取的是原系统的路径:


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_运维_26

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_运维_27

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_28



再查看jps:


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_操作系统_29

使用 http://localhost:50070/.会看到 hdfs的管理界面

 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_运维_30



但是   mapreduce的web页面打不开可能有3个原因:



1.防火墙没有关闭,



     查看防护墙状态



     service iptables statu 



     关闭



     service iptables stop     



     查看防火墙开机启动状态



     chkconfig iptables --list



     关闭开机启动



     chkconfig iptables off



 



2.端口没有打开;


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_Hadoop_31

3   /etc/profile 文件中  HADOOP_HOME 路径配置错误

 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_32



然后重新执行  sbin/start-all.sh


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_hadoop_33



再  jps查看一下进程:


 

centos安装单机hadoop安装详细步骤 如何安装hadooplinux_大数据_34



验证是否安装成功:



http://localhost:8088/cluster



 




centos安装单机hadoop安装详细步骤 如何安装hadooplinux_Hadoop_35