Apache Solr 简明教程

Apache Solr - On Hadoop

Solr 可以与 Hadoop 一起使用。由于 Hadoop 处理大量数据,Solr 帮助我们从如此大的资源中找到所需的信息。在本节中,让我们了解如何在您的系统上安装 Hadoop。

Downloading Hadoop

以下是要遵循的将 Hadoop 下载到系统上的步骤。

Step 1 - 转到 Hadoop 主页。可以使用链接 - www.hadoop.apache.org/ 。单击 Releases 链接,如以下屏幕截图所示。

hadoop home page

它会将您重定向到包含用于 Hadoop 各种版本源文件和二进制文件的镜像链接的 Apache Hadoop Releases 页,如下所示 −

hadoop releases

Step 2 − 选择最新版本的 Hadoop(在本教程中,为 2.6.4),然后单击其 binary link 。它会将您带到一个提供 Hadoop 二进制镜像的页面。单击其中一个镜像以下载 Hadoop。

Download Hadoop from Command Prompt

打开 Linux 终端并以超级用户身份登录。

$ su
password:

转到需要安装 Hadoop 的目录,并使用前面复制的链接将文件保存在该目录中,如下面的代码块所示。

# cd /usr/local
# wget http://redrockdigimark.com/apachemirror/hadoop/common/hadoop-
2.6.4/hadoop-2.6.4.tar.gz

下载 Hadoop 后,使用以下命令将其解压缩。

# tar zxvf hadoop-2.6.4.tar.gz
# mkdir hadoop
# mv hadoop-2.6.4/* to hadoop/
# exit

Installing Hadoop

按照以下步骤安装 Hadoop 伪分布式模式。

Step 1: Setting Up Hadoop

您可以将以下命令附加到 ~/.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
export HADOOP_INSTALL = $HADOOP_HOME

接下来,将所有更改应用到当前运行的系统中。

$ source ~/.bashrc

Step 2: Hadoop Configuration

您可以在 “$HADOOP_HOME/etc/hadoop” 位置找到所有 Hadoop 配置文件。根据您的 Hadoop 基础架构,需要更改这些配置文件中的内容。

$ cd $HADOOP_HOME/etc/hadoop

为了用 Java 开发 Hadoop 程序,必须将 hadoop-env.sh 文件中的 Java 环境变量重置为系统的 Java 位置来替换 JAVA_HOME 值。

export JAVA_HOME = /usr/local/jdk1.7.0_71

以下是配置 Hadoop 需要编辑的文件列表 −

  1. core-site.xml

  2. hdfs-site.xml

  3. yarn-site.xml

  4. mapred-site.xml

core-site.xml

core-site.xml 文件包含信息,例如用于 Hadoop 实例的端口号、分配给文件系统内存、用于存储数据的内存限制和读/写缓冲区的大小。

打开 core-site.xml,并在 <configuration>、</configuration> 标记内添加以下属性。

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
   </property>
</configuration>

hdfs-site.xml

hdfs-site.xml 文件包含信息,例如复制数据的值、 namenode 路径和本地文件系统的 datanode 路径。这意味着您想要存储 Hadoop 基础架构的位置。

让我们假设以下数据。

dfs.replication (data replication value) = 1

(In the below given 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

打开此文件,并在 <configuration>、</configuration> 标记内添加以下属性。

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>

   <property>
      <name>dfs.name.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
   </property>

   <property>
      <name>dfs.data.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
   </property>
</configuration>

Note − 在上述文件中,所有属性值都是用户定义的,您可以根据 Hadoop 基础架构进行更改。

yarn-site.xml

此文件用于将 Yarn 配置到 Hadoop 中。打开 yarn-site.xml 文件并在该文件中的 <configuration>、</configuration> 标记之间添加以下属性。

<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
</configuration>

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 文件并在 <configuration>、</configuration> 标记内添加以下属性。

<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
</configuration>

Verifying Hadoop Installation

以下步骤用于验证 Hadoop 安装。

Step 1: Name Node Setup

使用命令“hdfs namenode –format”设置 namenode,如下所示。

$ 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.6.4
...
...
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
************************************************************/

Step 2: Verifying the Hadoop dfs

以下命令用于启动 Hadoop dfs。执行此命令将启动 Hadoop 文件系统。

$ start-dfs.sh

预期输出如下所示 −

10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-2.6.4/logs/hadoop-
hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop-2.6.4/logs/hadoop-
hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]

Step 3: Verifying the Yarn Script

以下命令用于启动 Yarn 脚本。执行此命令将启动 Yarn 守护进程。

$ start-yarn.sh

预期输出如下所示 −

starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop-2.6.4/logs/yarn-
hadoop-resourcemanager-localhost.out
localhost: starting nodemanager, logging to /home/hadoop/hadoop-
2.6.4/logs/yarn-hadoop-nodemanager-localhost.out

Step 4: Accessing Hadoop on Browser

用于访问 Hadoop 的默认端口号是 50070。使用以下 URL 在浏览器上获取 Hadoop 服务。

accessing hadoop

Installing Solr on Hadoop

按照以下步骤下载并安装 Solr。

Step 1

单击以下链接打开 Apache Solr 主页 − https://lucene.apache.org/solr/

solr home page

Step 2

单击 download button (在上方的屏幕截图中突出显示)。单击后,您将被重定向到包含多个 Apache Solr 镜像的页面。选择一个镜像并单击它,这将把您重定向到一个页面,您可以在其中下载 Apache Solr 的源文件和二进制文件,如下图所示。

apache mirror

Step 3

单击后,名为 Solr-6.2.0.tqz 的文件夹将下载到系统下载文件夹中。解压下载的文件夹内容。

Step 4

在 Hadoop 主目录中创建一个名为 Solr 的文件夹,并将解压文件夹的内容移到该目录中,如下所示。

$ mkdir Solr
$ cd Downloads
$ mv Solr-6.2.0 /home/Hadoop/

Verification

浏览 Solr 主目录的 bin 文件夹,并使用 version 选项验证安装,如下面的代码块所示。

$ cd bin/
$ ./Solr version
6.2.0

Setting home and path

使用以下命令打开 .bashrc 文件:

[Hadoop@localhost ~]$ source ~/.bashrc

现在按照以下方式设置 Apache Solr 的主页和路径目录:

export SOLR_HOME = /home/Hadoop/Solr
export PATH = $PATH:/$SOLR_HOME/bin/

打开终端并执行以下命令:

[Hadoop@localhost Solr]$ source ~/.bashrc

现在,您可以在任何目录中执行 Solr 命令。