hadoop完全分布式集群下安装sqoop

本文详细介绍如何在Hadoop集群上安装配置Sqoop,并通过具体步骤演示如何从关系型数据库抽取数据到Hadoop分布式文件系统中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用场景

当我们按照hadoop完全分布式集群搭建博客搭建了hadoop以后,发现这是一个空的hadoop,只有YARN,MapReduce,HDFS,而这些实际上我们一般不会直接使用,而是需要另外部署Hadoop的其他组件,来辅助使用。比如我们需要把关系型数据库中的数据,抽取到hadoop分布式文件系统中时,我们需要额外安装Spoop组件来方便数据抽取导入操作。

操作步骤

1. Sqoop压缩包下载

sqoop下载地址,将下载的压缩包复制到namenode的/opt目录下
注:sqoop只需要在namenode下安装即可

2. Sqoop解压缩修改目录

 # cd /opt
 # tar -xzvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
 # mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop1.4.6
 # chmod 777 -R /opt/sqoop1.4.6                     # 对sqoop目录进行赋权

3. 配置sqoop的环境变量

 # vim /etc/profile
export JAVA_HOME=/opt/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/opt/hadoop2.6.0
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

export HIVE_HOME=/opt/hive2.1.1
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=.:$HIVE_HOME/lib:$CLASSPATH
export PATH=$PATH:$HIVE_HOME/bin

export SQOOP_HOME=/opt/sqoop1.4.6
export PATH=$PATH:$SQOOP_HOME/bin

 #在最后加上最后两行
 # source /etc/profile             # 使环境变量生效

4. 修改sqoop-env.sh

 # cd /opt/sqoop1.4.6/conf/
 # cp sqoop-env-template.sh  sqoop-env.sh
 # vim sqoop-env.sh

 # 在最后添加如下配置
  export  HADOOP_COMMON_HOME=/opt/hadoop2.6.0
  export  HADOOP_MAPRED_HOME=/opt/hadoop2.6.0
  export  HIVE_HOME=/opt/hive2.1.1

5. 上传mysql的驱动到sqoop的lib下

mysql驱动下载地址
下载后,上传到【/opt/sqoop1.4.6/lib/】目录中

6. sqoop使用

 # sqoop help     # 测试sqoop是否安装成功

这里写图片描述

 # sqoop   list-tables  --username  root   --password  11111     --connect     jdbc:mysql://192.168.210.70:3306/hive?characterEncoding=UTF-8      #测试通过sqoop查看mysql中hive库的所有表

这里写图片描述

这里写图片描述

### CentOS 7 上搭建 Hadoop 完全分布式环境 #### 解压并安装 Hadoop 为了在 CentOS 7 上部署 Hadoop完全分布式模式,首先需要解压已下载的 Hadoop 压缩包到指定位置: ```bash cd /root/module # 进入模块目录 tar -3.1.3.tar.gz -C /usr/local/ # 将Hadoop压缩包解压至/usr/local/ mv /usr/local/hadoop-3.1.3 /usr/local/hadoop # 更改解压后的Hadoop目录名为hadoop以便管理 ``` 上述命令完成了 Hadoop 软件包的基础设置工作[^1]。 #### 配置 SSH 免密登录 实现节点间的无密码通信对于构建高效稳定的集群至关重要。需确保主节点能够通过 SSH 协议免密码访问所有子节点。这通常涉及生成 SSH 密钥对并将公钥分发给各个参与计算的工作节点。 #### 设置 MapReduce 输入文件 准备用于测试 MapReduce 程序的数据集是必要的一步,在此之前可以创建简单的文本文件作为输入源: ```bash [hadoop@bigdata-senior01 modules]$ cat > /opt/data/wc.input <<EOF hadoop mapreduce hive hbase spark storm sqoop hadoop hive spark hadoop EOF ``` 这段脚本会建立一个名为 `wc.input` 的文件,其中包含了几个大数据技术名词供后续处理使用[^2]。 #### 同步配置文件至其他节点 当完成主控机上的全部设定之后,应当把相应的配置同步复制到每一个从属机器上去,保证整个系统的协调一致运行: ```bash scp -r /usr/local/hadoop/etc/hadoop/ worker2:/usr/local/hadoop/etc/hadoop/ ``` 这条指令实现了将本地 `/usr/local/hadoop/etc/hadoop/` 下的所有内容发送给远程主机 `worker2` 的相同路径下[^3]。 #### 修改核心配置文件 针对不同版本的 Hadoop 及具体需求调整其配置参数非常重要。一般情况下至少要编辑以下几个关键性的 XML 文件: - core-site.xml - hdfs-site.xml - yarn-site.xml - mapred-site.xml 这些文件位于 `$HADOOP_HOME/etc/hadoop/` 目录内,修改它们以适应实际网络状况和其他硬件资源情况。 #### 初始化 NameNode 并启动服务 最后执行如下操作初始化 HDFS 文件系统,并开启所有的相关守护进程: ```bash $HADOOP_HOME/bin/hdfs namenode -format start-dfs.sh start-yarn.sh jps ``` 以上步骤验证了各组件是否正常运作,如果一切顺利则表示成功建立了基于 CentOS 7 的 Hadoop 完全分布式平台[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值