HDFS+MapReduce+Hive+HBase十分钟快速入门(二)

9.3.    编译 Hive

在编译 Hive 之前,请确保 HADOOP_HOME IVY_HOME 两个环境变量已经生效。

1)         使用 svn http://svn.apache.org/repos/asf/hadoop/hive/trunk 下载 Hive 源代码

2)         将下载来的 Hive 源代码打包,然后上传到 Hadoop-A 机器

3)         解压 Hive 源代码包

4)         修改 shims/ivy.xml

只保留 0.20.0 的配置,否则编译会出错

 

5)         运行 ant 开始编译:

ant -Dtarget.dir=/usr/local/hadoop/hive -Dhadoop.version=0.20.0 package

这步完成之后, Hive 会被安装到 /usr/local/hadoop/hive 目录下

6)         添加 Hive 环境变量,在 /etc/profile 文件中增加如下两行:

export HIVE_HOME=/usr/local/hadoop/hive

export PATH=$HIVE_HOME/bin:$PATH

10.             安装 HBase

1)         http://svn.apache.org/repos/asf/hadoop/hbase/trunk 下载最新的 HBase 源代码

2)         HBase 源代码打包,并上传到 Linux

3)         解压 HBase 源代码包

4)         编译 HBase

ant -Dtarget.dir=/usr/local/hadoop/hbase -Dhadoop.version=0.20.0 package

5)         编译成功之后, HBase 可能并不象 Hive 一样自动安装到 /usr/local/hadoop/hbase 目录下,这个时候需要手工复制到 HBase 安装目录下:将 build/hbase-0.21.0-dev 整个目录复制到 /usr/local/hadoop 目录下,并将 hbase-0.21.0-dev 重命名成 hbase 即可

6)         进入 /usr/local/hadoop/hbase/conf 目录,将 hbase-default.xml 复制一份,并命名成 hbase-site.xml

7)         修改 hbase-site.xml

设置 hbase.rootdir 的值为: hdfs://Hadoop-A:54310/hbase

设置 hbase.master hbase.master 可能为 hbase.master.port )的值为: Hadoop-A:60000

8)         修改 hbase-env.sh

设置环境变量 JAVA_HOME export JAVA_HOME=/usr/local/jre

9)         Master 节点,还需要修改 regionservers ,在这个文件中列出所有的 slave 机器,一行一个机器名:

Hadoop-B

Hadoop-C

这一步不用在 slave 节点上操作。

10)     通过以上操作, HBase 已经安装和配置好,然后应当打包,将它部署到集群的所有节点上

11.             体验

11.1.        启动和停止

11.1.1. hadoop

在启动 Hadoop 集群之前,需要先格式化,在 master 节点上执行下面的命令即可:

hadoop namenode -format

11.1.2. start-all.sh

这个脚本用来启动 Hadoop

可以通过 http://172.25.38.127:50070 来查看 HDFS 的启动情况。

 

可以通过 http://172.25.38.127:50030 来查看 MapReduce 的启动情况。

 

11.1.3. stop-all.sh

这个脚本用来停止 Hadoop

11.2.        体验 HDFS

HDFS 的使用和普通的 Linux 命令差不多,只不过各类操作都必须作为 hadoop 命令的参数,如在 hadoop 上执行 ls 操作:

hadoop fs -ls /

这条命令相当于 Linux 下的 ls /

11.3.        体验 MapReduce

体验 MapReduce ,可以使用 Hadoop 自带的 WordCount ,如:

hadoop jar wordcount.jar /x/x /z

其中 wordcount.jar WordCount 的可执行包, /x/x 是源文件,是一段以逗号分隔的英文片断,而 /z 是结果存放的目录。

11.4.        体验 Hive

Hive 的使用非常简单,照着 http://wiki.apache.org/hadoop/Hive/GettingStarted 上说的来操作就可以了。

 

12.             FAQ

12.1.        如何查看 Hadoop 进程

如果安装了 JDK ,则在 JDK bin 目录下有一个 jps 命令,可以用来查看 java 进程,如:

# jps

27612 NameNode

17369 Jps

16206 HQuorumPeer

15423 HMaster

27761 SecondaryNameNode

27839 JobTracker

其中,第一列为进程号,第二列为进程名称。

12.2.        ssh 端口问题

如果 ssh 不是使用默认端口,则需要修改 hadoop-env.sh 文件中的 HADOOP_SSH_OPTS 环境变量,假设 ssh 端口号为 8000 ,则可以简单设置为: export HADOOP_SSH_OPTS="-p 8000"

如果安装了 HBase ,还应当修改 hbase-env.sh 文件中的 HBASE_SSH_OPTS

12.3.        首次 ssh 登录问题

首次通过 ssh 登录另一台机器时,可能会遇到一个 yes 确认过程,因此在启动之前,应当先手工或使用其它脚本 ssh 成功登录一次,否则容易遇到如下错误:

r# ./start-hbase.sh

DOSS38-127-sles10: Host key not found from database.

DOSS38-127-sles10: Key fingerprint:

DOSS38-127-sles10: xuror-ledab-buhim-zohok-tanop-cyrig-tysac-gyhyp-refan-semim-pyxex

DOSS38-127-sles10: You can get a public key's fingerprint by running

DOSS38-127-sles10: % ssh-keygen -F publickey.pub

DOSS38-127-sles10: on the keyfile.

DOSS38-127-sles10: warning: tcgetattr failed in ssh_rl_set_tty_modes_for_fd: fd 1: Invalid argument

 

你可能感兴趣的:(mapreduce,hadoop,linux,ssh,hbase)