fenghzy 发表于 2018-10-29 06:38:27

hadoop2.6.5+sqoop1.4.6环境部署与测试(一)

  情景描述:
  用户的登录信息以记录的方式被存放在mysql(版本为5.1.73)的表中,现打算使用sqoop将登录记录抽取并存放到hdfs上,并使用mapreduce程序统计每个用户的登录次数。
  环境描述:
  采用4台虚拟机部署hadoop2.6.5的完全分布式环境,在其中一台担任namenode节点的主机上安装mysql-server和sqoop,用于存放和抽取源数据。除此之外,使用一台另外的机器编写mapreduce程序和发布jar包,提供给hadoop使用。
  4台部署hadoop机器信息与集群中担任的角色信息如下:
IP         主机名            hadoop集群担任角色  
10.0.1.100    hadoop-test-nn    NameNode,ResourceManager
  
10.0.1.101    hadoop-test-snn   SecondaryNameNode
  
10.0.1.102    hadoop-test-dn1   DataNode,NodeManager
  
10.0.1.103    hadoop-test-dn2   DataNode,NodeManager
  涉及软件:
  1. jdk1.7.0_45 --hadoop和sqoop运行必须。
  2. hadoop2.6.5 --下载地址:http://apache.fayea.com/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
  3. sqoop1.4.6 --下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.6/ 注:请选择sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz下载,其他版本可能存在于hadoop2.6.5不兼容,导致抽取数据时出现异常。
  4. mysql-connector-java-5.1.32-bin.jar,连接mysql的可执行JAR包,用于提供给sqoop连接mysql数据库,可以从https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.32.tar.gz 下载的tar包中解压后的目录中获得。
  准备工作:
  1. 修改主机名,修改/etc/hosts文件,配置主机名和IP映射关系,使各VM间可以互相解析主机名:
  在每个VM的/etc/hosts文件中添加如下记录:
10.0.1.100      hadoop-test-nn nn  
10.0.1.101      hadoop-test-snn snn
  
10.0.1.102      hadoop-test-dn1 dn1
  
10.0.1.103      hadoop-test-dn2 dn2
  2. 在每个VM上建立hadoop用户,以后的配置工作使用hadoop用户来进行,并使用ssh-keygen和ssh-copy-id命令配置各VM的hadoop用户可以SSH互信访问。
  3. 安装JDK并配置环境变量:为每台VM解压jdk的jar包到/usr/local/java下,安装JDK,并配置JAVA_HOME变量,在/etc/profile中添加如下记录:
export JAVA_HOME=/usr/local/java/jdk1.7.0_45  
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  
export PATH=$JAVA_HOME/bin:$PATH
  下一节介绍hadoop完全分布式环境搭建。


页: [1]
查看完整版本: hadoop2.6.5+sqoop1.4.6环境部署与测试(一)