首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)

2012-06-28 
CentOS 安装 hadoop hbase 使用 cloudera 版本。(一)使用Virtualbox安装系统和 hadoop ,hbase?参考安装:clo

CentOS 安装 hadoop hbase 使用 cloudera 版本。(一)
使用Virtualbox安装系统和 hadoop ,hbase

?

参考安装:

cloudera 的hadoop 只支持 64bit的版本.而要用虚拟机安装 64bit 的要满足 4个条件.

?

?

1, 64bit的cpu


3, 64bit的操作系统


3, 64bit的VirtualBox


4, 必须允许硬件虚拟化(需要到 bios 里面打开virtualization的一项)

?

Debian 64bit install VirtualBox.

?

#修改apt source 权限。

sudo chmod +w /etc/apt/sources.list

添加一行。

?

sudo vi /etc/apt/sources.list

?

?

#virtual box.

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

#再把权限修改回去。

sudo chmod -w /etc/apt/sources.list

?

?

#添加key

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

sudo apt-get install virtualbox-4.1?

?

创建一个许虚拟机。然后安装 64bit的 CentOS 系统。

?

?安装过程略。可参考前面的文章:

?

http://toeo.iteye.com/admin/blogs/1233372

?

只不过这里是安装 64bit的CentOS .

?

http://mirrors.163.com/centos/6.0/isos/x86_64/CentOS-6.0-x86_64-minimal.iso

?

安装系统。

?


CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)


CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)


CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)

?

然后就可以安装 64bit 的CentOS了.

?

?

?

https://ccp.cloudera.com/display/CDHDOC/CDH3+Installation

?

首先安装源.

?

wget http://archive.cloudera.com/redhat/6/x86_64/cdh/cdh3-repository-1.0-1.noarch.rpm


rpm -ivh?cdh3-repository-1.0-1.noarch.rpm

?

cd /etc/yum.repos.d/

?

wget?http://archive.cloudera.com/redhat/6/x86_64/cdh/cloudera-cdh3.repo
rpm --import?http://archive.cloudera.com/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
yum search hadoop
yum install hadoop
然后就可以安装了。

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?总共大小 45MB。

安装 hbase。
?sudo yum install hadoop-hbase
CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?配置启动 hadoop
要启动hadoop hbase 这样还不行。
[参考]?http://hadoop.apache.org/common/docs/r0.20.2/quickstart.html
yum install?rsync
使用 cloudera 的hadoop 安装的完成 ,其实 hadoop的目录是在 /usr/lib/hadoop/
修改配置文件:
conf/core-site.xml:
<configuration>? <property>? ? <name>fs.default.name</name>? ? <value>hdfs://localhost:9000</value>? </property></configuration>
conf/hdfs-site.xml:
<configuration>? <property>? ? <name>dfs.replication</name>? ? <value>1</value>? </property></configuration>
conf/mapred-site.xml:
<configuration>? <property>? ? <name>mapred.job.tracker</name>? ? <value>localhost:9001</value>? </property></configuration>
说明下。 rpm 安装包安装之后 将会创建一个 hdfs的用户。并且将用户的根目录设置在 /usr/lib/hadoop/下。但是这个目录可以访问但不能创建文件夹。所以要用户root 创建一个 .ssh的文件夹。并将所有着给hdfs。
配置ssh
#root 操作mkdir /usr/lib/hadoop/.ssh#修改所有者。chown hdfs:hdfs /usr/lib/hadoop/.ssh -R
#切换用户su hdfs
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa?
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#测试ssh localhost#如果可以登录说明配置好了。

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?

同时安装包修改了主机名。也要修改 hosts文件添加一个 127.0.0.1 的别名 bogon?vi /etc/hosts
CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?
然后就可以测试是否可以启动。停止了。
su hdfs
cd /usr/lib/hadoop/bin#启动sh start-all.sh#停止sh stop-all.sh
如果没有报错误。就说明都配置对了。并且可以正常启动关闭。

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?在启动前一点要格式化 namenode
hadoop namenode -format

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?
#然后启动 hadoop。
sh start-all.sh
创建一个文件夹测试下。没有包错就说明成功了。


CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?然后就可以运行下 官方的测试了。

官方的例子是统计一个文章里面的字符出现的频率。(很经典的例子)
这里直接把Hadoop 目录下的 README.txt 拷贝到文件系统上。
#上传到hadoop的文件系统.hadoop fs -put /usr/lib/hadoop/README.txt /tmp/input?#执行example 例子。hadoop jar hadoop-examples.jar wordcount /tmp/input /output
运行结果如下:

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?
CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?运行结果。如下:显示每个单词出现的次数。
CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?配置启动 Hbase
同样的道理。还使用 hdfs的用户启动 hbase。
[参考]?http://hbase.apache.org/book/quickstart.html
https://ccp.cloudera.com/display/CDHDOC/HBase+Installation#HBaseInstallation-SettingUserLimitsforHBase

首先要修改 配置文件hbase-site.xml。目录在/usr/lib/hbase/conf/。?
vi /usr/lib/hbase/conf/hbase-site.xml
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>? <property>? ? <name>hbase.rootdir</name>? ? <value>hdfs://localhost:9000/hbase</value>? </property>? <property>? ? <name>dfs.replication</name>? ? <value>1</value>? </property></configuration>
修改配置文件。hbase的根目录指向 hadoop的 hdfs 文件系统。
CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?


启动 hbase。使用 hdfs 用户
这里要注意下。发现没有 hbase 用户。所以用的 hdfs 用户。
需要修改下 /var/log/hbase/ 这个文件夹的权限。否则在启动的时候会报文件没有创建。
#root 用户修改
chmod 777 /var/log/hbase/
修改hbase-env.sh 文件。在里面设置JAVA_HOME,需要重新设置下。
vi /usr/lib/hbase/conf/hbase-env.sh
java 默认安装 在 /usr/java/default/ 目录下。

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?


#使用hdfs 用户启动 hbase。su hdfs
sh /usr/lib/hbase/bin/start-hbase.sh
正常启动。

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?
进入 hbase 命令行。
hbase shell
这个时候可以进入 shell 但是报错:

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?
ERROR: org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect toZooKeeper but the connection closes immediately. This could be a sign that the server has too manyconnections (30 is the default).
需要修改 limits.conf
vi?/etc/security/limits.conf
在最后添加两行:
hdfs ?- ? ? ? nofile ?32768hbase ?- ? ? ? nofile ?32768

CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?
重启下 hbase 就可以创建表查询表了。。


CentOS 装配 hadoop hbase 使用 cloudera 版本。(一)
?
都没有报错。
命令 是 参考?http://hbase.apache.org/book/quickstart.html
hbase(main):003:0> create 'test', 'cf'0 row(s) in 1.2200 secondshbase(main):003:0> list 'table'test1 row(s) in 0.0550 secondshbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'0 row(s) in 0.0560 secondshbase(main):005:0> put 'test', 'row2', 'cf:b', 'value2'0 row(s) in 0.0370 seconds
其他的就自己去练习吧。
可以用root 在 hdfs的主目录 创建 两个 启动停止的脚本:
--start_hadoop_hbase.shsh /usr/lib/hadoop-0.20/bin/start-all.shsh /usr/lib/hbase/bin/start-hbase.sh--stop_hadoop_hbase.shsh /usr/lib/hadoop-0.20/bin/stop-all.shsh /usr/lib/hbase/bin/stop-hbase.sh
?
总结:

在linux的服务器一般 用的都是 redhat 或 centos。没有使用 apache的 hadoop 而是用的?cloudera 的版本。

cloudera 的版本很简单。也很方便。比自己配置问题少很多。并且有专门的公司维护这个。yum 安装更新也很方便。

?

这次是 安装使用 hadoop 遇到问题比较少的一次。。接下来要研究 集群。和使用 java 联系 hadoop hbase。

同样也是在 虚拟机上面。但是虚拟机比真实的要慢很多。

持续更新中。

热点排行