软件版本号:

JDK:jdk-8u45-linux-i586.tar.gz

Zookeeper:zookeeper-3.4.6

Hbase:hbase-1.0.0-bin

、JDK版本更换

由于之前安装的jdk-6u45-linux-i586版本较低,与Hbase不兼容,因此更换为jdk-8u45-linux-i586

1.jdk 1.6卸载

(1)删除jdk目录:sudo rm -rf /opt/jdk1.6.0_45
(2)删除jdk环境变量:sudo gedit /etc/profile 删除代码段: # java
export JAVA_HOME=/opt/jdk1.6.0_45
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

2.jdk 1.8安装

(1)复制jdk-8u45-linux-i586.tar.gz到/opt目录下并解压为文件夹jdk

(2)配置jdk环境变量:sudo gedit /etc/profile

添加代码段:
# java
export JAVA_HOME=/opt/jdk1.8.0_45
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

(3)执行命令,使配置生效:source /etc/profile;

(4)执行命令:java -version,若出现java版本号,则说明安装成功。

(5)修改/home/hduser/hadoop/etc/hadoop路径下hadoop-env.sh和yarn-env.sh中jdk的版本号

(6)Ubuntu2执行相同操作

、Zookeeper配置

1.Zookeeper配置

(1)复制zookeeper-3.4.6.tar.gz到/home/hduser目录下并解压为文件夹zookeeper-3.4.6

(2)配置Zookeeper环境变量:sudo gedit /etc/profile

添加代码段:
#zookeeper
export ZOOKEEPER_HOME=/home/hduser/zookeeper-3.4.6
export PATH=$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf:$PATH

(3)新建zoo.cfg并修改:

hduser@Ubuntu1:~/zookeeper-3.4.6$ cp conf/zoo_sample.cfg  conf/zoo.cfg

清空zoo.cfg中代码,然后添加以下代码段:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hduser/zookeeper-3.4.6/zookeeper
dataLogDir=/home/hduser/zookeeper-3.4.6/log
clientPort=2181
server.1=Ubuntu1:2888:3888
server.2=Ubuntu2:2888:3888

(4)在/home/hduser/zookeeper-3.4.6目录下新建文件夹zookeeper,在其中新建文件myid,并写入“1”

(5)Ubuntu2执行相同操作,不同点是myid写入的值为“2”。

2.Zookeeper测试

(1)各节点启动:

hduser@Ubuntu1:~/zookeeper-3.4.6$ bin/zkServer.sh start
hduser@Ubuntu2:~/zookeeper-3.4.6$ bin/zkServer.sh start

(2)jps查看:3347 QuorumPeerMain

(3)查看状态:

hduser@Ubuntu1:~/zookeeper-3.4.6$ bin/zkServer.sh status
JMX enabled by default
Using config: /home/hduser/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower hduser@Ubuntu2:~/zookeeper-3.4.6$ bin/zkServer.sh status
JMX enabled by default
Using config: /home/hduser/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader

(4)停止ZooKeeper:

hduser@Ubuntu1:~/zookeeper-3.4.6$ bin/zkServer.sh stop

、Hbase配置

1.Hbase分布式配置

(1)下载安装包hbase-1.0.0-bin.tar.gz并复制到/home/hduser目录下并解压为文件夹hbase-1.0.0

(2)修改conf/hbase-site.xml文件:

添加代码段:

<property>
<name>hbase.rootdir</name>
<value>hdfs://Ubuntu1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Ubuntu1,Ubuntu2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hduser/zookeeper-3.4.6/zookeeper</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>

(3)修改conf/regionservers文件:

添加:Ubuntu1

Ubuntu2

(4)修改conf/hbase-env.sh文件:

添加:

export JAVA_HOME=/opt/jdk1.7.0_07
export HBASE_MANAGES_ZK=false
export HBASE_HOME=/home/hduser/hbase-1.0.0
export HADOOP_HOME=/home/hduser/hadoop

(5)修改各节点Hadoop的hdfs-site.xml文件:

添加:

<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>

注:该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256

(6)Ubuntu2执行相同操作

Hbase配置

1.Hbase配置单机

(1)下载安装包hbase-1.0.0-bin.tar.gz并复制到到/home/hduser目录下并解压为文件夹hbase-1.0.0

(2)修改conf/hbase-site.xml文件:

添加代码段:

<property>
<name>hbase.rootdir</name>
<value>hdfs://Ubuntu1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Ubuntu1 </value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hduser/zookeeper-3.4.6/zookeeper</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>

(3)修改conf/regionservers文件:

添加:Ubuntu1

(4)修改conf/hbase-env.sh文件:

添加:

export JAVA_HOME=/opt/jdk1.8.0_45
export HBASE_MANAGES_ZK=true
export HBASE_HOME=/home/hduser/hbase-1.0.0
export HADOOP_HOME=/home/hduser/hadoop

(5)修改各节点Hadoop的hdfs-site.xml文件:

添加:

<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>

注:该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256

2.Hbase测试

启动顺序:Hadoop→Zookeeper→Hbase,结束顺序:Hbase→Zookeeper→Hadoop

(1)启动Hbase:

hduser@Ubuntu1:~/hbase-1.0.0$ bin/start-hbase.sh

(2)jps查看:

# 主节点 Ubuntu1: jps

3491 HMaster
2887 NameNode
3640 HRegionServer
3347 QuorumPeerMain
3010 DataNode
3727 Jps
3168 SecondaryNameNode # 从节点Ubuntu2: 2870 DataNode
3280 Jps
2953 QuorumPeerMain
3054 HRegionServer

(3)进入hbase shell:

hduser@Ubuntu1:~/hbase-1.0.0$ bin/hbase shell

(4)查看集群状态

hbase(main):001:0> status

(5)建表测试:

hbase(main):003:0> create 'test1','id1'

0 row(s) in 1.8420 seconds
=>Hbase::Table - test1
=>Hbase::Table - test1
hbase(main):004:0> list
TABLE
test
test1
2 row(s) in 0.1770 seconds
=> ["test", "test1"]

注:如果jps之后显示没有安装jdk,则执行source /etc/profile后再jps

其他

注意:有时会出现Can't get master address from ZooKeeper; znode data == null

解决方法是关掉Hbase 关掉Zookeeper 删除zookeeper数据目录下相关文件(myid文件保留),启动zookeeper ,启动Hbase,

如果不行,还可以关掉hadoop,格式化namenode。

还不行,查看hbase的启动日志。可能是端口被占用,用相关命令查询。比如下面日志例子:

Could not start ZK at requested port of 2181. ZK was started at port:2182. Aborting as clients(e.g. shell) will not be able to find this ZK quorum.

说明进程占用了默认的2181端口导致ZK不能正常启动。使用lsof -i:2181命令查看2181端口的进程情况:

如果Hadoop用户的java进程在使用。Kill对应进程,,重新启动Hbase shell。

启动HDFS:./sbin/start-dfs.sh
停止HDFS:./sbin/stop-dfs.sh
启动yarn:./sbin/start-yarn.sh
停止yarn:./sbin/stop-yarn.sh
启动Zookeeper:bin/zkServer.sh start
停止Zookeeper:bin/zkServer.sh stop
启动Hbase:bin/start-hbase.sh
停止Hbase:bin/stop-hbase.sh

Hadoop学习---Zookeeper+Hbase配置学习的更多相关文章

  1. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  2. HADOOP+SPARK+ZOOKEEPER+HBASE+HIVE集群搭建(转)

    原文地址:https://www.cnblogs.com/hanzhi/articles/8794984.html 目录 引言 目录 一环境选择 1集群机器安装图 2配置说明 3下载地址 二集群的相关 ...

  3. Hadoop及Zookeeper+HBase完全分布式集群部署

    Hadoop及HBase集群部署 一. 集群环境 系统版本 虚拟机:内存 16G CPU 双核心 系统: CentOS-7 64位 系统下载地址: http://124.202.164.6/files ...

  4. Hadoop学习---Hadoop的HBase的学习

    Hbase Hbase的特点: Hbase是bigtable的开源的仿制版本 建立在HDFS之上 可靠性,靠性能 大:一个表可以有上亿行,上百万列 面向列:面向列(族)的存储和权限控制,列(族)独立检 ...

  5. 大数据学习---大数据的学习【all】

    大数据介绍 什么是大数据以及有什么特点 大数据:是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合. 大数据是一种方法论:“一切都被记录,一切都被数字化,从数据中寻找需求,寻找知 ...

  6. Spring Boot 学习摘要--关于配置

    date: 2019-12-27 09:00:00 updated: 2019-12-30 13:20:00 Spring Boot 学习摘要--关于配置 学习教程来自:B站 尚硅谷 1. 关于配置 ...

  7. ZooKeeper学习第二期--ZooKeeper安装配置

    一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境:■ 伪集群模式:就是在一台物 ...

  8. 【转载】ZooKeeper学习第二期--ZooKeeper安装配置

    原文地址(https://www.cnblogs.com/sunddenly/p/4018459.html) 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及 ...

  9. ZooKeeper学习2---ZooKeeper安装配置

    一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境:■ 伪集群模式:就是在一台物 ...

随机推荐

  1. 点击劫持(click jacking)

    什么是点击劫持劫持原理劫持案例代码示例优酷频道刷粉的POC腾讯微博刷粉防御 什么是点击劫持 点击劫持,clickjacking,也被称为UI-覆盖攻击.这个词首次出现在2008年,是由互联网安全专家罗 ...

  2. FileUpload.PostedFile 为null异常 NullReferenceException

    FileUpload控件PostedFile属性总是为null,提示有异常NullReferenceException.我的程序中加了UpdatePannel控件.把UpdatePannel去掉之后就 ...

  3. Python+Selenium(webdriver常用API)

    总结了Python+selenium常用的一些方法函数,以后有新增再随时更新: 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口:  ...

  4. 如何下载Red Hat Enterprise Linux系统

    关于如何下载Red Hat Enterprise Linux系统? 这是一个既简单,又复杂的问题.简单是因为我以为她很简单,复杂是因为下载的过程有点复杂的. 相信去Oracle官网下载过东西的同学对下 ...

  5. lua热重载

    热重载,就是不重新开unity让代码的变化直接看出来,一般在开发时候使用 lua中通过require导入的文件,最终都存在package.loaded这个table中.require会判断是否文件已经 ...

  6. ExtJs6解决添加和修改Form共用一个form的隐藏域的id的取消传值

    问题重现:修改不会有问题,id会绑定之前的grid,有具体数字 添加有问题,因为id是空,传的是绑定值的话会显示“类名-1”,从int类型变成了string类型,后台会出错 这是EduQuestion ...

  7. IDEA启动Jetty报404

    在别的电脑上是OK的,到本机就不行了,很可能是Working路径的问题. 设置这里的路径即可:(你的web模块路径)

  8. 2017年11月26日 C#流&&窗体对话框

    C#流 在顶端加入using System.IO就可以使用流 StreamReder a = new StreamReder();//读取 前面什么都可以 = sr.ReadToEnd();//用法 ...

  9. 《Java并发编程实战》读书笔记(一)----- 简介

    简史 早期的计算机中不包含操作系统,从头至尾都只执行一个程序,并且这个程序能访问计算机所有资源.随着计算机发展,操作系统的出现,使得计算机可以同时运行多个程序,并且每程序都在单独的进程内运行.为什么要 ...

  10. 【转】js判断一个object对象是否为空

    判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in... 遍历属性,为真则为“非空数组”:否则为“空数组” for (var i in obj) { // 如果不为空 ...