Apache Solr - 在 Hadoop 上


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

下载Hadoop

下面给出了将 Hadoop 下载到您的系统上所需遵循的步骤。

步骤 1 - 转到 Hadoop 的主页。您可以使用链接 - www.hadoop.apache.org/。单击链接Releases,如以下屏幕截图中突出显示的那样。

Hadoop 主页

它将您重定向到Apache Hadoop 版本页面,其中包含各种 Hadoop 版本的源镜像和二进制文件的链接,如下所示 -

Hadoop 版本

步骤 2 - 选择最新版本的 Hadoop(在我们的教程中为 2.6.4)并单击其二进制链接。它将带您进入一个页面,其中提供了 Hadoop 二进制文件的镜像。单击这些镜像之一以下载 Hadoop。

从命令提示符下载 Hadoop

打开 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 

安装Hadoop

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

第 1 步:设置 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

第2步:Hadoop配置

您可以在“$HADOOP_HOME/etc/hadoop”位置找到所有 Hadoop 配置文件。需要根据您的 Hadoop 基础设施对这些配置文件进行更改。

$ cd $HADOOP_HOME/etc/hadoop

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

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

以下是配置 Hadoop 时必须编辑的文件列表 -

  • 核心站点.xml
  • hdfs-site.xml
  • 纱线站点.xml
  • mapred-site.xml

核心站点.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> 

注意- 在上面的文件中,所有属性值都是用户定义的,您可以根据您的 Hadoop 基础设施进行更改。

纱线站点.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> 

验证 Hadoop 安装

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

第 1 步:名称节点设置

使用命令“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 
************************************************************/ 

步骤 2:验证 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] 

第 3 步:验证 Yarn 脚本

以下命令用于启动 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 

第四步:在浏览器上访问Hadoop

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

http://本地主机:50070/

访问 Hadoop

在 Hadoop 上安装 Solr

按照下面给出的步骤下载并安装 Solr。

步骤1

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

Solr 主页

第2步

单击下载按钮(在上面的屏幕截图中突出显示)。单击后,您将被重定向到具有各种 Apache Solr 镜像的页面。选择一个镜像并单击它,这将重定向到一个页面,您可以在其中下载 Apache Solr 的源代码和二进制文件,如下面的屏幕截图所示。

阿帕奇镜像

步骤3

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

步骤4

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

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

确认

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

$ cd bin/ 
$ ./Solr version 
6.2.0 

设置主页和路径

使用以下命令打开.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的命令。