CentOS 安装 hadoop hbase 使用 cloudera 版本。(一)
参考安装:
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
安装系统。
然后就可以安装 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 然后就可以安装了。
![](http://dl.iteye.com/upload/attachment/585071/994b6cb6-34df-390d-a10f-4cc243661cd8.jpg)
总共大小 45MB。 安装 hbase。 sudo yum install hadoop-hbase
![](http://dl.iteye.com/upload/attachment/585158/72d6b7e0-ad7b-313b-8136-a6cc3b617e9d.jpg)
配置启动 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 #如果可以登录说明配置好了。
![](http://dl.iteye.com/upload/attachment/585436/44ee2859-a540-3d19-b3ac-46f728fcebd9.jpg)
同时安装包修改了主机名。也要修改 hosts文件 添加一个 127.0.0.1 的别名 bogon vi /etc/hosts
![](http://dl.iteye.com/upload/attachment/585444/45285089-8c94-3940-a70c-6bd5621877bd.jpg)
然后就可以测试是否可以启动。停止了。 su hdfs cd /usr/lib/hadoop/bin sh start-all.sh sh stop-all.sh 如果没有报错误。就说明都配置对了。并且可以正常启动关闭。
![](http://dl.iteye.com/upload/attachment/585456/71789807-ddf6-395c-9b41-b0b6fefd2f6d.jpg)
在启动前一点要格式化 namenode hadoop namenode -format
![](http://dl.iteye.com/upload/attachment/585482/66281e52-d695-374f-97c1-d1f00b7dc08b.jpg)
#然后启动 hadoop。 sh start-all.sh 创建一个文件夹测试下。没有包错就说明成功了。
![](http://dl.iteye.com/upload/attachment/585480/8c859941-3f55-3e47-98a0-589be537182b.jpg)
然后就可以运行下 官方的测试了。 官方的例子是统计一个文章里面的字符出现的频率。(很经典的例子) 这里直接把Hadoop 目录下的 README.txt 拷贝到文件系统上。 #上传到hadoop的文件系统. hadoop fs -put /usr/lib/hadoop/README.txt /tmp/input #执行example 例子。 hadoop jar hadoop-examples.jar wordcount /tmp/input /output 运行结果如下:
![](http://dl.iteye.com/upload/attachment/585550/2323762e-c7e1-3166-bb3c-9dd253ce5d15.jpg)
![](http://dl.iteye.com/upload/attachment/585555/1bcb6a74-045f-395c-bbee-f82856c25cbf.jpg)
运行结果。如下:显示每个单词出现的次数。
![](http://dl.iteye.com/upload/attachment/585557/d604161d-994a-3d88-93fe-441003ca328f.jpg)
配置启动 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
![](http://dl.iteye.com/upload/attachment/585568/e14145fe-d3e4-395f-84d2-0832cb8267db.jpg)
启动 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/ 目录下。
![](http://dl.iteye.com/upload/attachment/585599/169e031a-e711-3f62-94df-1780ab6bdfeb.jpg)
#使用hdfs 用户启动 hbase。 su hdfs sh /usr/lib/hbase/bin/start-hbase.sh 正常启动。
![](http://dl.iteye.com/upload/attachment/585602/e97b2702-bd9e-3923-80bd-4f989873021a.jpg)
进入 hbase 命令行。 hbase shell 这个时候可以进入 shell 但是报错:
![](http://dl.iteye.com/upload/attachment/585604/60268260-e272-3b9f-bf02-332ae99c4f2f.jpg)
ERROR: org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect to ZooKeeper but the connection closes immediately. This could be a sign that the server has too many connections (30 is the default). 需要修改 limits.conf vi /etc/security/limits.conf 在最后添加两行: hdfs - nofile 32768 hbase - nofile 32768
![](http://dl.iteye.com/upload/attachment/585608/91b1f551-1336-34cf-a358-7fae9928fe9f.jpg)
重启下 hbase 就可以创建表查询表了。。
![](http://dl.iteye.com/upload/attachment/585610/103a3066-fc29-3f74-a6a2-98d28ce625fc.jpg)
都没有报错。 命令 是 参考 http://hbase.apache.org/book/quickstart.html hbase(main):003:0 create test, cf 0 row(s) in 1.2200 seconds hbase(main):003:0 list table 1 row(s) in 0.0550 seconds hbase(main):004:0 put test, row1, cf:a, value1 0 row(s) in 0.0560 seconds hbase(main):005:0 put test, row2, cf:b, value2 0 row(s) in 0.0370 seconds 其他的就自己去练习吧。 可以用root 在 hdfs的主目录 创建 两个 启动停止的脚本:
--start_hadoop_hbase.sh sh /usr/lib/hadoop-0.20/bin/start-all.sh sh /usr/lib/hbase/bin/start-hbase.sh --stop_hadoop_hbase.sh sh /usr/lib/hadoop-0.20/bin/stop-all.sh sh /usr/lib/hbase/bin/stop-hbase.sh
在linux的服务器一般 用的都是 redhat 或 centos。没有使用 apache的 hadoop 而是用的 cloudera 的版本。
cloudera 的版本很简单。也很方便。比自己配置问题少很多。并且有专门的公司维护这个。yum 安装更新也很方便。
这次是 安装使用 hadoop 遇到问题比较少的一次。。接下来要研究 集群。和使用 java 联系 hadoop hbase。
同样也是在 虚拟机上面。但是虚拟机比真实的要慢很多。
持续更新中。
相关文章
- 报错:关闭HBase时无法找到Master:no hbase master found(完美解决)
- CentOS 7.0 安装中文输入法
- 在CentOS 6.4上安装Ampache流媒体服务
- 如何在CentOS 7中禁止IPv6
- 怎样在 CentOS 里下载 RPM 包及其所有依赖包
- Hbase报错:org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
- 第8章 CentOS包管理详解
- 基于 CentOS 7 搭建 GitLab
- CentOS安装jdk的三种方法
- CentOS 7 安装配置带用户认证的squid代理服务器
- CentOS 7.0下使用yum安装MySQL
- 浅析CentOS安装docker及遇到的问题:Failed to start docker.service: Unit not found或docker: command not found
- Hbase之Spark通过BlukLoad的方式批量加载数据到HBase中
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】
- CentOS 6.3下rsync服务器的安装与配置[转]
- centos 或 ubuntu虚拟机与windows通过Xshell进行文件互传
- centos 7 hadoop mapreduce程序运行 -eclipse安装
- #Centos 网卡不一致导致出现问题
- 云服务器 ECS 建站教程:部署Ghost博客(CentOS 7)
- CentOS下ssh sftp配置及权限设置
- Linux CentOS 开机报错