Hadoop-2.6.0 + Zookeeper-3.4.6 + HBase-0.98.9-hadoop2环境搭建示例 http://www.cnblogs.com/morvenhuang/p/4278656.html

完全分布式安装Hbase1.0,基于zookeeper-3.4.6和hadoop 2.6.0分布集群 http://f.dataguru.cn/thread-519503-1-1.html

安装完成后的一些命令

顺序
启动顺序:hadoop–>zookeeper–>hbase
关闭顺序:hbase–>zookeeper–>hadoop

临时命令集合

可以登录web界面检查hadoop是否运行正常:

hdfs管理界面同h1:http://192.168.0.61:50070/ 可以查看datanode信息: http://192.168.0.61:50070/dfshealth.html#tab-datanode
yarn的管理界面h1: http://192.168.0.61:8088/
hbase界面: http://h1:16010/master-status

整合Spring注意, 执行程序的时候, 注意设定变量: -Dhadoop.home.dir=/home/pandy/hadoop-2.7.3/

 

开始安装

规划: 由于我是vm下面做实验, 所以只能分配这些虚拟机的内存是1.3G左右.

Node Name             Hbase1.0 Master          ZooKeeper3.4.6          RegionServer          Hadoop2.6.0
192.168.0.61 h1          yes                                     yes                                     no                             master
192.168.0.61 h2          backup                             yes                                     yes                            slave
192.168.0.61 h3          no                                     yes                                      yes                            slave

 

 

基础配置
1. 打通本地到3个虚拟机的ssh免密码登陆, 通过本地的系统链接到3个服务器去安装,打通信道是为了方便

2. 在3个虚拟机里面 禁用IP6, 修改hosts, 全部关闭防火墙

重启所有虚拟机

3. 配置时钟同步

======================================================打通虚拟机信道
1. 在3个虚拟机里面创建一样的hadoop账户

2. 61服务器对其他服务器的无密码访问配置

 

 

准备安装hadoop
1. 本地传文件jdk1.7, hadoop-2.6.0.tar.gz, zookeeper-3.4.8.tar.gz, hbase-1.1.0-bin.tar.gz到61服务器, 几乎所有配置都是在h1完成, 然后分发到其他服务器

2.  61服务器安装jdk

3.  61服务器解压三个文件和重名名文件夹, 创建hdfs文件夹

4. 配置环境变量, 修改如下:

马上生效和测试:

输出: -Djava.library.path=/home/hadoop/hadoop/lib:/home/hadoop/hadoop/lib/native

 

Hadoop集群配置
5. 修改几个配置文件

本地编译后覆盖服务器的库:

6. 分发到其他服务器

到两个节点去处理, 是因为上面用root权限传入, 到这里要赋权给hadoop账户

注意: 分发后记得去其他服务器修改/home/hadoop/hadoop/etc/hadoop/slaves

7. 其他节点安装jdk, 也设定环境变量, 可以简单的跟上面一致

8. 启动和停止

退出安全模式:

测试:

验证端口是否起作用

 

查看线程信息:

查看日志和输出信息

测试单词统计:
传到服务器:

从服务器到hdfs, 并执行:

问题:
namenode报错:could only be replicated to 0 nodes instead of minReplication
datanode报错: datanode.DataNode: Problem connecting to server
参考: http://bbs.csdn.net/topics/390769368
答案: http://zlfwmm.blog.51cto.com/5892198/1742213
答案: http://blog.csdn.net/renfengjun/article/details/25320043

 

Zookeeper集群配置
1. 安装, 配置需要很注意

2. 分发到其他服务器

注意: 分发记得去其他服务器修改/home/hadoop/zookeeper/conf/zoo.cfg

3. 设置myid, 原文中引号, 会无法启动zookeeper!, 这里要对应server.pid=hostname:p1:p2
h1, nameonde上: echo "1" > /root/zookeeperdata/myid
h2, datanode上: echo "2" > /root/zookeeperdata/myid
h3, datanode上: echo "3" > /root/zookeeperdata/myid

4. 启动和关闭

5. 测试

每个节点的输出文件

问题:
A: zookeeper It is probably not running
其他原因不说,我自己的原因是日志显示: Error processing /home/hadoop/zookeeper/bin/../conf/zoo.cfg, 是因为写入Pid的时候引号不对

B: 正常启动但无法连接其他服务器选举 Cannot open channel to,
解决: http://www.cnblogs.com/wangdaijun/p/5437349.html

 

Hbase集群配置
1. 配置hbase-env.sh

一些配置参数的解释
hbase.zookeeper.property.clientPort:指定zk的连接端口
zookeeper.session.timeout:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的regions重新balance,让其他存活的RegionServer接管.
hbase.zookeeper.quorum:默认值是 localhost,列出zookeepr ensemble中的servers

设定regionservers信息, 注意非master节点, 可以保留localhost

注意: h1讲作为hbase的主要master节点,没有RegionServers。在h1上删除localhost, 其他regionserver节点加上
2. 分发到其他服务器

3. 在master节点启动和关闭, 注意: 这里没有配置master备份服务器

4. 验证

可以看到h1出现HMaster, h2,h3出现HRegionServer

5. 测试;
hbase shell, 进入shell环境之后, 测试list, create, put, scan的命令
查找日志等命令:find / -name hbase*.log
显示日志等命令:

问题:
A: Master is initializing, 其他节点日志显示: HRegionServer: error telling master we are up 无效的参数
查看时钟是否能同步: service ntpd stop && ntpdate 192.168.0.61 && service ntpd start
然后检查hosts, 127.0.0.1的映射可能有问题, 要改成:127.0.0.1 localhost localhost.localdomain
清理日志

 

 

sqoop 1.4.6安装

传到服务器:

解压:

传到服务器:

配置:

设定环境变量:

马上生效和测试:

授权:

参考: https://www.zybuluo.com/aitanjupt/note/209968