问题导读
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
http://localhost:60010/master-status
这里可以看见Hbase数据库中所有的表和信息,除此之外还有一种 方式在终端内实现查看(适用于非图形界面的系统)
在HbasePath目录下,在终端输入
[mw_shl_code=bash,true] ./bin/hbase shell
[/mw_shl_code]
启动Hbase的Shell模式,如下图
可以实用简单的指令实现查询
[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]
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]
我们可以清楚的看出hadoop的执行过程,dfs与yarn,hadoop成功启动
有兴趣的看官们,本熊强烈推荐可以去试试hadoop自带的WordCount程序来体验一把hadoop,具体的部分可以参照hadoop官网的说明,十分有助于理解hadoop的工作机制哦
|