分享

Nutch 2.3.1 Hbase Hadoop Solr 整合(三)


问题导读


1.Hbase如何查询表?
2.Hadoop如何配置?
3.如何实现SSH免密码登录?






这是本指南的第三篇,本熊做这个的初衷就是刷刷小Y的好感度,但直到完成还是迷迷糊糊的。对于本熊而言读女人心简直堪比读算法导论,虽然两个都不太读得懂。本熊这段时间看到过关于交友平台的机器人的纪录片,让机器算法来搭讪自己潜在的伴侣,这是个很浪漫有趣的想法,会有人喜欢上这个像dull dull dull 的人类的机器人吗? I'm curious



纯初学者说明模式
本章节主讲实现本地模式

  • Hbase的安装配置
  • Hbase的简单语句
  • 相对应的Hadoop配置
  • SSH免密码登录



0.路径说明
本熊假设Hadoop的主目录为HadoopPath,Hbase的主目录为HbasePath

[mw_shl_code=bash,true]以下是本熊的解压位置:
HadoopPath的值就是 /usr/Dzy/hadoop-2.5.2
HbasePath的值就是 /usr/Dzy/hbase-0.98.8-hadoop2
NutchPath的值就是 /usr/Dzy/apache-nutch-2.3.1
[/mw_shl_code]

各位可以按照自己的路径进行设置,本熊再次只为说明方便


1.Hbase安装与配置1.1 Hbase配置修改
本熊只配置所需的最低设定了,各位可以参照官方文档尝试更多的有趣的设置
  • 在HbasePath下,在/conf下修改hbase-env.sh,添加以下设置

[mw_shl_code=bash,true]  export JAVA_HOME=/usr/jdk/
[/mw_shl_code]

  • 在相同目录下修改hbase-site.xml,在<configuration></configuration>标签中添加以下设置


[mw_shl_code=bash,true] <property>  
      <name>hbase.rootdir</name>  
      <value>hdfs://localhost:9000/hbase</value>  
  </property>  
  <property>  
      <name>hbase.cluster.distributed</name>  
      <value>true</value>  
  </property>[/mw_shl_code]

因为采用的是hdfs,hbase.rootdir代表hbase的主目录在hdfs的位置,hbase.cluster.distributed代表hbase的启动模式是本机还是集群

1.2 Hbase启动与简单查询
在HbasePath目录下,启动终端输入

[mw_shl_code=bash,true]  bash ./bin/start-hbase.sh
[/mw_shl_code]

开启Hbase的服务,此时在浏览器输入以下网址 http://localhost:60010/master-status 可以看见Hbase的homepage

1.png

http://localhost:60010/master-status

这里可以看见Hbase数据库中所有的表和信息,除此之外还有一种 方式在终端内实现查看(适用于非图形界面的系统)

在HbasePath目录下,在终端输入

[mw_shl_code=bash,true]  ./bin/hbase shell
[/mw_shl_code]

启动Hbase的Shell模式,如下图

1.png

可以实用简单的指令实现查询

[mw_shl_code=bash,true]  list
[/mw_shl_code]

查看Hbase数据库内所有的表

[mw_shl_code=bash,true]  scan 'Table'
[/mw_shl_code]

查看Hbase数据库内名为Table表的内容
以上是使用Nutch的Hbase的简单的基础语法和配置


2.Hadoop安装与配置
在HadoopPath下 /etc/hadoop目录中的修改core-site.xml内在<configuration></configuration>标签中添加以下设置

[mw_shl_code=bash,true]  <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
  </property>
  <property>
       <name>dfs.replication</name>
       <value>1</value>
  </property>
  <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/tmp</value>
   </property>[/mw_shl_code]

这三个属性分别是hdfs的主机位置,再连接的次数与hadoop缓存存放位置
在相同目录下,将 mapred-site.xml.template 在当前目录复制黏贴,并重命名为mapred-site.xml 在<configuration></configuration>标签中添加以下设置


[mw_shl_code=bash,true]<property>
       <name>mapred.job.tracker</name>
       <value>localhost:9001</value>
  </property>[/mw_shl_code]

此处代表执行map phase的tracker的主机,因为是本地伪集群,故写成这样

3.SSH免密码登录
采用ssh策略的原因为了hadoop中zookeeper的管理便利,我们所知远程访问主机采取的多为 用户名+密码 的模式,往往因为权限问题导致错误,本熊发现ssh策略就可以很好的回避这点

开启终端,输入以下指令,安装ssh
[mw_shl_code=bash,true] sudo  apt-get install openssh-server
[/mw_shl_code]


在终端,输入以下指令,开启ssh服务

[mw_shl_code=bash,true] service sshd restart
[/mw_shl_code]

输入以下命令,制作ssh密钥上传到本机

[mw_shl_code=bash,true] ssh-keygen  -t  dsa -P '' -f  ~/.ssh/id_dsa
cat  ~/.ssh/id_dsa.pub  >>  ~/.ssh/authorized_keys[/mw_shl_code]

可以用以下命令检测是否成功,成功的话会显示系统版本及登录时间

[mw_shl_code=bash,true] ssh localhost
[/mw_shl_code]

2.png


4.Hadoop的启动
启动Hadoop
在HadoopPath下,在终端输入以下命令,执行namenode初始化

[mw_shl_code=bash,true]  bin/hadoop  namenode -format
[/mw_shl_code]
在终端输入下面的命令,成功后可以下图
[mw_shl_code=bash,true]  bash ./sbin/start-all.sh
[/mw_shl_code]


3.png


我们可以清楚的看出hadoop的执行过程,dfs与yarn,hadoop成功启动

有兴趣的看官们,本熊强烈推荐可以去试试hadoop自带的WordCount程序来体验一把hadoop,具体的部分可以参照hadoop官网的说明,十分有助于理解hadoop的工作机制哦



已有(1)人评论

跳转到指定楼层
zhou4304261988 发表于 2016-8-16 08:49:31
谢谢楼主学习中,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条