时间:2021-07-01 10:21:17 帮助过:13人阅读
由于sqoop2还不是很完善,官方建议生产环境不建议使用,在此就sqoop1.4.6来作介绍
Cenos7系统
sqoop版本:1.4.6
Hadoop:2.7.3
MySQL:5.7.15
JDK :1.8
安装在一台节点上就可以了
点击 sqoop 下载地址,下载Sqoop安装文件sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz。将文件上传到服务器的/usr/local文件夹中。
下面执行以下命令
1. cd ~ #进入当前用户的用户目录 2. cd /usr/local 3. sudo tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local #解压安装文件 5. sudo mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop146 #修改文件名 6. sudo chown -R hadoop:hadoop sqoop146 #修改文件夹属主,如果你当前登录用户名不是hadoop,请修改成你自己的用户名 (hadoop为用Hadoop创建的用户组和用户名,sqoop将与Hadoop组合使用)
1. cd sqoop146/conf/ 2. cat sqoop-env-template.sh >> sqoop-env.sh #将sqoop-env-template.sh复制一份并命名为sqoop-env.sh 3. vi sqoop-env.sh #编辑sqoop-env.sh
修改sqoop-env.sh的如下信息,若有其它的可以都加上
export HADOOP_COMMON_HOME=/usr/local/hadoop273
export HADOOP_MAPRED_HOME=/usr/local/hadoop273
export HBASE_HOME=/usr/local/hbase
export HIVE_HOME=/usr/local/hive
export ZOOCFGDIR= #如果读者配置了ZooKeeper,也需要在此配置ZooKeeper的路径
打开当前用户的环境变量配置文件:
vi ~/.bash_profile
在配置文件第一行键入如下信息:
export SQOOP_HOME=/usr/local/sqoop146 export PATH=$PATH:$SBT_HOME/bin:$SQOOP_HOME/bin export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib
保存该文件,退出vim编辑器。
然后,执行下面命令让配置文件立即生效:
source ~/.bash_profile
下面要把MySQL驱动程序和hadoop-connector jar包拷贝到$SQOOP_HOME/lib目录下,不存在先下载驱动包。
cp ./mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/sqoop146/lib
cp $HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.3.jar $SQOOP_HOME/lib
注释掉HCatalog,Accumulo检查(除非你准备使用HCatalog,Accumulo等HADOOP上的组件)
##Moved to be a runtime check in sqoop. #if[ ! -d "${HCAT_HOME}" ]; then # echo "Warning: $HCAT_HOME does notexist! HCatalog jobs will fail." # echo ‘Please set $HCAT_HOME to the root ofyour HCatalog installation.‘ #fi #if[ ! -d "${ACCUMULO_HOME}" ]; then # echo "Warning: $ACCUMULO_HOME does notexist! Accumulo imports will fail." # echo ‘Please set $ACCUMULO_HOME to the rootof your Accumulo installation.‘ #fi #Add HCatalog to dependency list #if[ -e "${HCAT_HOME}/bin/hcat" ]; then # TMP_SQOOP_CLASSPATH=${SQOOP_CLASSPATH}:`${HCAT_HOME}/bin/hcat-classpath` # if [ -z "${HIVE_CONF_DIR}" ]; then # TMP_SQOOP_CLASSPATH=${TMP_SQOOP_CLASSPATH}:${HIVE_CONF_DIR} # fi # SQOOP_CLASSPATH=${TMP_SQOOP_CLASSPATH} #fi #Add Accumulo to dependency list #if[ -e "$ACCUMULO_HOME/bin/accumulo" ]; then # for jn in `$ACCUMULO_HOME/bin/accumuloclasspath | grep file:.*accumulo.*jar |cut -d‘:‘ -f2`; do # SQOOP_CLASSPATH=$SQOOP_CLASSPATH:$jn # done # for jn in `$ACCUMULO_HOME/bin/accumuloclasspath | grep file:.*zookeeper.*jar |cut -d‘:‘ -f2`; do # SQOOP_CLASSPATH=$SQOOP_CLASSPATH:$jn # done #fi
首先请确保mysql服务已经启动了,如果没有启动,请执行下面命令启动:
service mysql start
然后就可以测试sqoop与MySQL之间的连接是否成功:
sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -password root
root为数据库的用户名和密码,mysql的数据库列表显示在屏幕上表示连接成功。
如何将mysql数据导入Hadoop之Sqoop安装
标签:无法 strong profile 节点 height apach jdk install exp