你的位置:首页 > 数据库

[数据库]hadoop概述和安装配置


北京尚学堂提供

Hadoop说明

对于hadoop,apache官方wiki给出的说明为

  1. Apache Hadoop is a framework for running applications on large cluster built of commodity hardware. The Hadoop framework transparently provides applications both reliability and data motion. Hadoop implements a computational paradigm named Map/Reduce, where the application is divided into many small fragments of work, each of which may be executed or re-executed on any node in the cluster. In addition, it provides a distributed file system (HDFS) that stores data on the compute nodes, providing very high aggregate bandwidth across the cluster. Both MapReduce and the Hadoop Distributed File System are designed so that node failures are automatically handled by the framework.   

大意为:

Apache Hadoop是一个在大型集群的商品硬件上运行的应用程序的框架。Hadoop框架透明的提供了应用程序的可靠性和数据访问的方法。Hadoop实现了Map/Reduce计算模型,每个应用程序被切分成许多碎片化的工作段,每个段可在任何急群众的节点(重复)执行。此外,它还提供了用以在计算节点中存储数据的分布式文件系统HDFS,HDFS提供了节点间的高度聚合能力。MapReduce和Hadoop分布式文件系统都设计成拥有节点故障时自动处理的能力。

先决条件

支持平台

  • GNU/Linux是产品开发和运行的平台。 Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。
  • Win32平台是作为开发平台支持的。由于分布式操作尚未在Win32平台上充分测试,所以还不作为一个生产平台被支持。

所需软件

Linux和Windows所需软件包括:

  1. JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本。         
  2. ssh 必须安装并且保证 sshd一直运行,以便用Hadoop     脚本管理远端Hadoop守护进程

Windows下的附加软件需求

Cygwin - 提供上述软件之外的shell支持。 

安装软件

如果你的集群尚未安装所需软件,你得首先安装它们。

以Ubuntu Linux为例:

  1. $ sudo apt-get install ssh   
  2. $ sudo apt-get install rsync   

linuxhadoop安装

hadoop生产环境是linux,这里我在虚拟机上进行软件的安装,系统为centos7-64bit

ssh设置及主机名修改

修改主机名

  1. 执行主机名修改(ip要与实际对应上)

修改192.168.88.128对应机器的hostname,在该ip对应的主机执行命令

  1. hostname master  

相应的,对其他两台机器分别执行

  1. hostname slave1  
  2. hostname slave2  

同时依次修改机器上的etc/host文件

  1. 192.168.88.128  master  
  2. 192.168.88.129  slave1  
  3. 192.168.88.130  slave2  
    1. 开启ssh服务   

安装openssh-server:$ sudo apt-get install openssh-server

       3.  建立ssh无密码登录

  • 在NameNode 上实现无密码登录本机:
  1. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  

直接回车,完成后会在~/.ssh/生成两个文件:id_dsa 和id_dsa.pub。这两个是成对
出现,类似钥匙和锁。再把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys
文件):$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys。完成后可以实现无密码
登录本机:$ ssh localhost。

  • 实现NameNode 无密码登录其他DataNode:把NameNode 上的id_dsa.pub 文件追加到dataNode 的authorized_keys 内( 以
    192.168.88.128 节点为例):
  1. 拷贝NameNode的id_dsa.pub 文件:
  2. scp ~/.ssh/id_dsa.pub root@192.168.88.129:/root  
    1. 登录192.168.88.129
  3. cat /root/id_dsa.pub >> ~/.ssh/authorized_keys  

 jdk安装

  1. 首先从oracle官网下载jdk6,下载地址为http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6-oth-JPR,我下载的是.bin后缀的文件
  2. 第二步,修改.bin文件的可执行权限,这里我放在了桌面上
  3. chmod 755 *.bin  
    1. 解压缩bin文件
  4. ./*.bin  
    1. 对解压的文件重命名(这不也可省略,主要是path等设置的时候简明)
  5. mv jdk* jdk 

设置path路径,首先打开vi编辑器

  1. vi /etc/profile  

在/etc/profile末尾加上(按insert按键)

  1. export JAVA_HOME=/root/Desktop/jdk  
  2. exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  3. export PATH=$PATH:$JAVA_HOME/bin   

最后保存并关闭立即应用更改

  1. source /etc/profile  

安装hadoophadoop版本0.20.2

  1. 下载hadoop-0.20.2.tar.gz文件(免积分下载地址会稍后给出)
  2. 解压
  3. tar -zxvf hadoop-0.20.2.tar.gz  

    1. 重命名
  4. mv hadoop-0.20.2 hadoop  
    1. 设置hadoop运行环境,进入重命名的hadoop目录下的conf目录并编辑hadoop-env.sh
  5. cd hadoop/conf  
    1. 找到#export JAVA_HOME=/usr/lib/j2sdk1.5-sun
      设置JAVA_HOME
  6. export JAVA_HOME=/root/Desktop/jdk  
    1. 配置conf/masters和conf/slaves 文件:(只在namenode 上配置)
  7. masters  
  8.    192.168.88.128   
  9. slaves  
  10.        192.168.88.129  
  11.        192.168.88.130  
    1. 配置core-site、mapred-site、hdfs-site三个

core-site.

  1. <configuration>  
  2. <!--- global properties -->  
  3. <property>  
  4. <name>hadoop.tmp.dir</name>  
  5. <value>/home/hexianghui/tmp</value>  
  6. <description>A base for other temporary directories.</description>  
  7. </property>  
  8. <!-- file system properties -->  
  9. <property>  
  10. <name>fs.default.name</name>  
  11. <value>hdfs://192.168.88.128:9000</value>  
  12. </property>  
  13. </configuration>  

hdfs-site.

  1. <configuration>  
  2. <property>  
  3. <name>dfs.replication</name>  
  4. <value>1</value>  
  5. </property>  
  6. </configuration>  

mapred-site.

  1. <configuration>  
  2. <property>  
  3. <name>mapred.job.tracker</name>  
  4. <value>192.168.88.128:9001</value>  
  5. </property>  
  6. </configuration>  

 最后不要忘记修改path,将hadoop加入到path路径,在/etc/profile文件最后加入

  1. export HADOOP_HOME=/root/Desktop/hadoop  
  2. export PATH=$PATH:$HADOOP_HOME/bin  

格式化hadoop文件系统并启动

  1. #格式化hadoop文件系统  
  2. hadoop namenode -format  
  3. #启动hadoop  
  4. start-all.sh  
  5. #最后用jps查看启动的进程个数  
  6. jps  

在Namenode节点上结果如下

  1. 12091 JobTracker  
  2. 12026 SecondaryNameNode  
  3. 11875 NameNode  
  4. 12171 Jps  

DataNode结果如下

  1. 7274 Jps  
  2. 7049 DataNode  
  3. 7159 TaskTracker  

至此,hadoop分布式文件系统安装完毕。

 

【最新文档更新请加入尚学堂www.sxt.cn】【专业大数据培训机构,真正零首付入学www.bjsxt.com】