在Hadoop还未诞生的那个时代,我们一般通过多线程、多任务分解的方式来尽可能的使用计算机资源,最大限度利用计算资源。而在这个大数据 迅速膨胀的今天,显然这样的处理已经不能满足我们的需求,面对互联网越来越多有价值的数据,如何更好的分析这些数据?如何挖掘其中的内 在价值?这时Hadoop作为一个分布式文件系统(Hadoop Distributed File System),简称HDFS应运而生。让使用者在完全不了解其底层实现细节的情况下,完成对 分布式计算应用的开发。HDFS有高容错性的特点,而且可以部署在低廉的硬件上,但是提供高传输率来访问应用程序的数据。
Hadoop是根据 google公司发表的MapReduce和Google档案系统的论文自行实践而成。Hadoop实现了MapReduce (任务分解与结果汇总)的编程范式,将应用程序分割成许多小部分,而且每个小部分都能在集群中的任意节点上执行或重新执行。HDFS是用做存储所 有的计算节点的数据,为整个带来了非常高的带宽。MapReduce和HDFS的结合,可以使整个框架能很好地自动处理节点故障。 Apache Hadoop平台包括:Hadoop内核、MapReduce、HDFS以及相关的项目。eg,Apache Hive、Apache HBase、ZooKeeper、Avro etc.
Hadoop的安装非常简单,目前最新的版本2.5.0 release已经发布。大家可以去官网上下载自己喜欢的版本。本文使用的hadoop-1.1.2。
Hadoop是为了再Linux平台上使用而开发的,当然在windows、UNIX、甚至是Mac OS X 系统上运行也有良好的表现。不过在windows系统上安装就稍显负责一点儿需要安装Cygwin来模拟Linux然后才能安装Hadoop。闲话少说先让我们来看看在Linux如何安装Hadoop吧。
我们都知道Hadoop是用java编写的,所以在安装Hadoop之前需要做点儿准备工作。
1.我们要先来安装Hadoop编译以及MapReduce运行所必须的JDK。这里推荐安装JDK6.
2.由于Hadoop运行在一个分布式集群的环境,所以会在多台机器上进行交互 我们需要安装ssh来实现不输入密码通信
搭建hadoop环境
1.修改ip地址
namenode:192.168.134.100
datanode1:192.168.134.101
datanode2:192.168.134.102
我的namenode的ip设置为
这时候修改完后需要执行一下命令 否则修改不起作用
2.修改hostname
修改相应的位置 保存退出即可。
将hostname与ip绑定
然后验证一下
3.关闭防火墙
4.设置SSH自动登录
创建用户组
groupadd hadoop 添加一个组
useradd hadoop -g hadoop 添加用户
切换到普通用户下,输入ssh-keygen -t rsa 命令生成公钥和私钥
然后进入/home/hadoop/.ssh目录下 执行cp id_rsa.pub authorized_keys
然后可以尝试ssh 连接hostname(第一次需要输入密码,第二次就不用了)
所谓的SSH的无密码登录就是在master上生成一个公钥和私钥对,然后将公钥复制到slave机器上,当master去ssh slave时,在slave上会生成一个随机数并用master的公钥加密后传给master,然后master用自己的私钥解密后回传给slave 去判断是否一致。
在使用ssh无密码登录时我们需要注意:
1.需要且到root下,修改/etc/ssh/sshd_config修改一下配置
2.切到普通用户如hadoop 将.ssh权限设置为700 :chmod 700 .ssh
3.切到普通用户如hadoop 将authorized_keys(公钥) 权限设置为600 chmod 600 authorized_keys
5.jdk安装
执行mkdir /usr/java 然后通过ssh工具将jdk安装包上传到linux中 我使用的版本为jdk-6u45-linux-x64.bin它是一个自解压文件 安装过程如下
# chmod 755 jdk-6u45-linux-x64.bin
# ./jdk-6u45-linux-x64.bin
然后配置环境变量
# vi /etc/profile
添加以下内容
然后 修改保存完毕 需要使文件生效 执行命令 source /etc/profile
然后我们可以测试以下
JDK安装完成。
6.安装tomcat
创建文件夹并上传tomcat安装文件 mkdir /usr/servers 我使用的是apache-tomcat-6.0.39.tar.gz
解压apache-tomcat-6.0.39.tar.gz
# tar -zxvf apache-tomcat-6.0.39.tar.gz
解压OK了 我们可以执行命令 netstat -ano|grep 8080检查8080端口是否被占用 如果没有输出 则未被占用
我们进入apache-tomcat-6.0.39/bin下执行./startup.sh出现如下提示 说明tomcat安装OK了。
基本环境我们已经搞定,现在我们的主角hadoop即将登场,我们可以从Apache官网找到hadoop的压缩包,我们需要使用工具将其上传到Linux中,然后解压 过程跟安装tomcat类似。接下来让我们来看看,如何配置hadoop的吧。
我们首先进入hadoop放置配置文件的文件夹,浏览一下大概内容:
在这之前切记不能忘了修改 %hadoop_home%/confg/hadoop-env.sh文件的Java_home
否则我们会在启动hadoop中报错 ”[hadoop] Error:JAVA_HOME is not set“
然后我们首先来配置一下core-site.xml文件
接下来让我们来配置一下文件系统HDFS的配置文件hdfs-site.xml,由于我们只有俩个数据节点所以设置为2(默认值为3)
接下来我们要对MapReduce进行配置mapred-site.xml
最后来配置一下masters(主) 修改成namenode 与上面保持一致,slaves(从)修改为 datanode1 datanode2
然后需要我们将配置好的hadoop 分发给datanode1和datanode2
scp -r /home/hadoop/hadoop-1.1.2 datanode1:/home/hadoop/
scp -r /home/hadoop/hadoop-1.1.2 datanode2:/home/hadoop/
现在我们开始来尝试启动hadoop吧:
启动前我们需要对HDFS文件系统进行格式化操作
然后我们可以尝试启动我们的hadoop了
执行命令./start-all.sh即可
【遇到的问题】
【解决办法】
修改${hadoop_home}/conf/hadoop-env.sh中的hadoop_pid_dir的内容
【可能遇到的防火墙问题导致hadoop无法启动解决办法】
关闭掉selinux
#/usr/sbin/setenforce 0 立刻关闭selinux
service iptables stop
这时我们可以通过 /hadoop hdfsadmin -report来验证一下
[hadoop@master bin]$./hadoop dfsadmin -report
Configured Capacity: 37558796288 (34.98 GB)
Present Capacity: 28923084830 (26.94 GB)
DFS Remaining: 28923027456 (26.94 GB)
DFS Used: 57374 (56.03 KB)
DFS Used%: 0%
Under replicated blocks: 1
Blocks with corrupt replicas: 0
Missing blocks: 0
-------------------------------------------------
Datanodes available: 2 (2 total, 0 dead)
Name: 192.168.134.102:50010
Decommission Status : Normal
Configured Capacity: 18779398144 (17.49 GB)
DFS Used: 28687 (28.01 KB)
Non DFS Used: 4317794289 (4.02 GB)
DFS Remaining: 14461575168(13.47 GB)
DFS Used%: 0%
DFS Remaining%: 77.01%
Last contact: Sat Sep 20 21:15:45 PDT 2014
Name: 192.168.134.101:50010
Decommission Status : Normal
Configured Capacity: 18779398144 (17.49 GB)
DFS Used: 28687 (28.01 KB)
Non DFS Used: 4317917169 (4.02 GB)
DFS Remaining: 14461452288(13.47 GB)
DFS Used%: 0%
DFS Remaining%: 77.01%
Last contact: Sat Sep 20 21:15:45 PDT 2014
我们也可以通过hadoop的web管理验证
查看jobtracker状态
查看tasktracker状态
查看HDFS状态:
安装zookeeper-3.4.5
使用WinSCP将zookeeper-3.4.5.tar上传到/home/hadoop目录下
tar -zxvf zookeeper-3.4.5.tar 解压
进入zookeeper-3.4.5/conf/目录 我们会看到zoo_simple.cfg配置文件
[hadoop@master zookeeper-3.4.5]$ cd conf/
[hadoop@master conf]$ ls
configuration.xsl log4j.properties zoo_sample.cfg
执行命令 cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件如下:
为了让系统能够识别zoo.cfg中的server.id=host:port:port中server.id,在namenode节点的/home/hadoop/zookeeper-3.4.5/data中创建一个myid 里面只有一个数字1;同理datanode1的/home/hadoop/zookeeper-3.4.5/data下创建一个myid里面只有一个数字2,依次类推...id范围为1-255
这些配置需要复制到集群的每个节点上。
然后切换到root用户修改/etc/profile文件:
然后同步修改其他节点,修改完成后执行zookeeper分发命令
scp -r zookeeper-3.4.5 datanode1:/home/hadoop
scp -r zookeeper-3.4.5 datanode2:/home/hadoop
现在我们可以尝试运行zookeeper了。
[hadoop@namenode bin]$ ./zkServer.sh start
[hadoop@datanode1 bin]$ ./zkServer.sh start
[hadoop@datanode2 bin]$ ./zkServer.sh start
然后我们可以通过
[hadoop@datanode1 bin]$ ./zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: leader
[hadoop@datanode2 bin]$ ./zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower
来验证当前节点在zookeeper中的角色是leader还是follower。
至此zookeeper安装完成。
【可能遇到的问题】
我们打开zookeeper-3.4.5/bin/zookeeper.out会看到这些异常(确实看着让人很不爽)不过我们不用管它,这只是其他节点上的zookeeper未启动导致的。
HBase安装
同样我首先需要上传HBase安装包并解压(具体过程与上一样 略)。
我们使用的是hbase-0.94.7-security.tar.gz 故解压完后将其重命名为hbase-0.94.7。
由于HBase-0.94.7中带有hadoop-core.1.0.4.jar 而我们使用的hadoop-1.1.2所以未了避免冲突,我们需要将hadoop-core-1.0.4.jar换成hadoop-core-1.1.2.jar。
然后打开conf/hbase-env.sh修改一下内容
# The java implementation to use. Java 1.6 required.
export JAVA_HOME=/usr/java/jdk1.6.0_45
# Extra Java CLASSPATH elements. Optional.
export HBASE_CLASSPATH=/home/hadoop/hadoop-1.1.2/conf
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false
接下来需要我们来配置conf/hbase-site.xml
hbase.rootdir指定Hbase数据存储目录,如果/hbase目录不存在,则需要在namenode节点中通过hadoop fs - mkdir /hbase创建该目录
hbase.cluster.distributed 指定是否是完全分布式模式,单机模式和伪分布式模式需要将该值设为false
hbase.master指定Master的位置
hbase.zookeeper.quorum 指定zooke的集群,多台机器以逗号分隔
接下来,打开conf/regionservers添加一下内容
datanode1
datanode2
指定HRegionServer进程将在哪些节点上运行
然后将配置好的HBase分发给各个节点 同上 略...
至此,HBase配置已经OK,在namenode上启动hadoop集群,接着在每台机器上启动zookeeper,最后启动hbase,以./hbase shell进入hbase的shell命令行,运行status查看当前的状态,如果命令可正常运行说明集群配置成功。
验证地址:
http://192.168.134.100:60010/master-status
启动顺序:hadoop-》zookeeper-》hbase
停止顺序:hbase-》zookeeper-》hadoop
哈哈 大功告成 小开心一下。
相关推荐
标题 "Hadoop Zookeeper HBase集群" 涉及到的是大数据处理领域中的三个关键组件:Hadoop、Zookeeper和HBase。这三个组件在构建分布式系统中起着至关重要的作用。 首先,Hadoop是Apache软件基金会开发的一个开源框架...
提供的文档`hadoop_zookeeper_hbase集群配置.docx`应包含详细的步骤和配置示例,而`配置文件.rar`则可能包含了预设的配置模板,可以作为配置参考。在实际操作时,务必根据具体环境调整配置,确保所有节点之间的网络...
本配置文件集专注于利用 Docker 搭建一个 HBase 集群,其中涉及到的关键知识点包括 Docker 的基本操作、Hadoop 的分布式文件系统(HDFS)、Zookeeper 的协调服务以及 HBase 的数据存储模型。 首先,了解 Docker 是...
在文件“安装配置说明”中,你应该能找到详细的步骤和可能遇到的问题及解决方法。确保按照说明一步步操作,并在遇到问题时查阅相关文档或在线社区寻求帮助。记住,实践是检验真理的唯一标准,只有亲手搭建和配置,...
详细的讲述了hadoop的安装,zookeeper的安装,还有hbase的安装,每一步都非常的详细,按照我的粘贴就行
大数据平台搭建之 ...大数据平台搭建需要经过多个步骤,包括环境准备、Hadoop 安装和配置、Zookeeper 部署、Hbase 部署和 Hive 部署。通过本文档,我们可以了解大数据平台搭建的整个过程,并掌握相关的技术和经验。
hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记
Hadoop+Zookeeper+Hbase安装配置使用.pdf
11. **启动和测试集群**:安装配置完成后,需要启动所有服务,如Hadoop的HDFS、YARN和Zookeeper,然后启动Hbase。最后,通过Hadoop的`jps`命令和Hbase的命令行工具,检查各个服务是否正常运行,进行数据读写测试以...
6. 【6、Hbase集群安装部署.txt】:HBase的安装和集群配置,包括设置HBase与Hadoop的交互、配置HBase的region server、master节点等。 这个压缩包中的所有文件合在一起,构成了一个完整的Hadoop、Zookeeper和HBase...
Docker(Hadoop_3.3.1+HBase_2.4.16+Zookeeper_3.7.1+Hive_3.1.3 )配置文件 搭建集群环境
在大数据处理领域,Hadoop、HBase和Zookeeper是三个至关重要的组件,它们共同构建了高效、可扩展的数据存储和管理基础设施。以下是关于这三个技术的详细介绍以及安装部署的关键步骤。 **Hadoop** 是一个开源的...
Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群...通过规划服务器环境、选择合适的版本组合、安装和配置Zookeeper、Hadoop和HBase三个组件,可以搭建一个高效的Hadoop HA高可用集群。
本文将介绍Hadoop、HBase、Hive以及ZooKeeper的版本整合兼容性,以及如何根据版本找到兼容性信息。 首先,Hadoop是一个开源的分布式存储和计算框架,它由HDFS和MapReduce两部分组成。HDFS用于存储大数据,而...
本教程“Hadoop&Hbase安装完美教程”旨在指导用户详细地安装和配置这两个工具,确保用户能够顺利地进行大数据操作。首先,让我们深入了解Hadoop的安装过程: 1. **环境准备**:Hadoop需要Java运行环境,因此第一步...
jdk1.8.0_131、apache-zookeeper-3.8.0、hadoop-3.3.2、hbase-2.4.12 mysql5.7.38、mysql jdbc驱动mysql-connector-java-8.0.8-dmr-bin.jar、 apache-hive-3.1.3 2.本文软件均安装在自建的目录/export/server/下 ...
在使用这些配置文件时,你需要确保所有主机名正确,并且文件路径与你的Hadoop和HBase安装一致。例如,`fs.defaultFS`应指向实际的HDFS NameNode,`hbase.rootdir`应指向HBase的数据目录,`hbase.zookeeper.quorum`应...
企业内部实际 hadoop zookeeper hbase搭建步骤明细
### Hadoop与HBase系列配置知识点 #### 一、Hadoop概述 Hadoop是一个由Apache基金会维护的开源软件框架,其主要目标是为了实现可靠、可扩展的分布式计算环境。通过简单编程模型支持大规模数据集在计算机集群上的...