📅  最后修改于: 2020-11-29 08:21:27             🧑  作者: Mango
由于Sqoop是Hadoop的子项目,因此只能在Linux操作系统上运行。请按照以下步骤在系统上安装Sqoop。
在安装Sqoop之前,您需要在系统上安装Java。让我们使用以下命令来验证Java安装-
$ java –version
如果您的系统上已经安装了Java,则会看到以下响应-
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
如果您的系统上未安装Java,请执行以下步骤。
请按照下面给出的简单步骤在系统上安装Java。
通过访问以下链接下载Java(JDK <最新版本>-X64.tar.gz)。
然后将jdk-7u71-linux-x64.tar.gz下载到您的系统上。
通常,您可以在“下载”文件夹中找到下载的Java文件。验证它并使用以下命令解压缩jdk-7u71-linux-x64.gz文件。
$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz
为了使Java对所有用户可用,您必须将其移动到“ / usr / local /”位置。打开root,然后键入以下命令。
$ su
password:
# mv jdk1.7.0_71 /usr/local/java
# exitStep IV:
要设置PATH和JAVA_HOME变量,请将以下命令添加到〜/ .bashrc文件。
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
现在将所有更改应用于当前正在运行的系统。
$ source ~/.bashrc
使用以下命令来配置Java替代品-
# alternatives --install /usr/bin/java java usr/local/java/bin/java 2
# alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2
# alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2
# alternatives --set java usr/local/java/bin/java
# alternatives --set javac usr/local/java/bin/javac
# alternatives --set jar usr/local/java/bin/jar
现在,如上所述,从终端使用命令java -version验证安装。
在安装Sqoop之前,必须在系统上安装Hadoop。让我们使用以下命令来验证Hadoop的安装-
$ hadoop version
如果您的系统上已经安装了Hadoop,那么您将收到以下响应-
Hadoop 2.4.1
--
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768
Compiled by hortonmu on 2013-10-07T06:28Z
Compiled with protoc 2.5.0
From source with checksum 79e53ce7994d1628b240f09af91e1af4
如果您的系统上未安装Hadoop,请继续以下步骤-
使用以下命令从Apache Software Foundation下载并解压缩Hadoop 2.4.1。
$ su
password:
# cd /usr/local
# wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/
hadoop-2.4.1.tar.gz
# tar xzf hadoop-2.4.1.tar.gz
# mv hadoop-2.4.1/* to hadoop/
# exit
请按照下面给出的步骤以伪分布式模式安装Hadoop 2.4.1。
您可以通过将以下命令附加到〜/ .bashrc文件来设置Hadoop环境变量。
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
现在,将所有更改应用到当前正在运行的系统中。
$ source ~/.bashrc
您可以在“ $ HADOOP_HOME / etc / hadoop”位置找到所有Hadoop配置文件。您需要根据Hadoop基础结构在这些配置文件中进行适当的更改。
$ cd $HADOOP_HOME/etc/hadoop
为了使用Java开发Hadoop程序,您必须通过用系统中Java的位置替换JAVA_HOME值来重置hadoop-env.sh文件中的Java环境变量。
export JAVA_HOME=/usr/local/java
下面给出的是您需要编辑以配置Hadoop的文件列表。
core-site.xml
core-site.xml文件包含以下信息,例如用于Hadoop实例的端口号,为文件系统分配的内存,用于存储数据的内存限制以及读/写缓冲区的大小。
打开core-site.xml,并在
fs.default.name
hdfs://localhost:9000
hdfs-site.xml
hdfs-site.xml文件包含诸如本地文件系统的复制数据值,namenode路径和datanode路径之类的信息。这意味着您要存储Hadoop基础架构的位置。
让我们假设以下数据。
dfs.replication (data replication value) = 1
(In the following path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)
namenode path = //home/hadoop/hadoopinfra/hdfs/namenode
(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)
datanode path = //home/hadoop/hadoopinfra/hdfs/datanode
打开此文件,并在此文件的
dfs.replication
1
dfs.name.dir
file:///home/hadoop/hadoopinfra/hdfs/namenode
dfs.data.dir
file:///home/hadoop/hadoopinfra/hdfs/datanode
注–在上面的文件中,所有属性值都是用户定义的,您可以根据Hadoop基础结构进行更改。
yarn-site.xml
该文件用于将yarn配置到Hadoop中。打开yarn-site.xml文件,并在此文件的
yarn.nodemanager.aux-services
mapreduce_shuffle
mapred-site.xml
该文件用于指定我们使用的MapReduce框架。默认情况下,Hadoop包含一个yarn-site.xml模板。首先,您需要使用以下命令将文件从mapred-site.xml.template复制到mapred-site.xml文件。
$ cp mapred-site.xml.template mapred-site.xml
打开mapred-site.xml文件,并在此文件的
mapreduce.framework.name
yarn
以下步骤用于验证Hadoop安装。
如下所示,使用命令“ hdfs namenode -format”设置名称节点。
$ cd ~
$ hdfs namenode -format
预期结果如下。
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to
retain 1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/
以下命令用于启动dfs。执行此命令将启动Hadoop文件系统。
$ start-dfs.sh
预期的输出如下-
10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]
以下命令用于启动yarn脚本。执行此命令将启动yarn守护程序。
$ start-yarn.sh
预期的输出如下-
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out
localhost: starting node manager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out
访问Hadoop的默认端口号是50070。使用以下URL在浏览器上获取Hadoop服务。
http://localhost:50070/
下图描绘了Hadoop浏览器。
访问群集的所有应用程序的默认端口号是8088。使用以下URL访问此服务。
http://localhost:8088/
下图描述了Hadoop集群浏览器。
我们可以从以下链接下载最新版本的Sqoop。对于本教程,我们使用的是1.4.5版本,即sqoop-1.4.5.bin__hadoop-2.0.4-alpha.tar.gz 。
以下命令用于提取Sqoop tar球并将其移动到“ / usr / lib / sqoop”目录。
$tar -xvf sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz
$ su
password:
# mv sqoop-1.4.4.bin__hadoop-2.0.4-alpha /usr/lib/sqoop
#exit
您必须通过将以下行添加到〜/ .bashrc文件来设置Sqoop环境-
#Sqoop
export SQOOP_HOME=/usr/lib/sqoop export PATH=$PATH:$SQOOP_HOME/bin
以下命令用于执行〜/ .bashrc文件。
$ source ~/.bashrc
要使用Hadoop配置Sqoop,您需要编辑sqoop-env.sh文件,该文件位于$ SQOOP_HOME / conf目录中。首先,使用以下命令重定向到Sqoop配置目录并复制模板文件-
$ cd $SQOOP_HOME/conf
$ mv sqoop-env-template.sh sqoop-env.sh
打开sqoop-env.sh并编辑以下行-
export HADOOP_COMMON_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=/usr/local/hadoop
我们可以从以下链接下载mysql-connector-java-5.1.30.tar.gz文件。
以下命令用于提取mysql-connector-java tarball并将mysql-connector-java-5.1.30-bin.jar移至/ usr / lib / sqoop / lib目录。
$ tar -zxf mysql-connector-java-5.1.30.tar.gz
$ su
password:
# cd mysql-connector-java-5.1.30
# mv mysql-connector-java-5.1.30-bin.jar /usr/lib/sqoop/lib
以下命令用于验证Sqoop版本。
$ cd $SQOOP_HOME/bin
$ sqoop-version
预期产量-
14/12/17 14:52:32 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5
Sqoop 1.4.5 git commit id 5b34accaca7de251fc91161733f906af2eddbe83
Compiled by abe on Fri Aug 1 11:19:26 PDT 2014
Sqoop安装完成。