Hadoop-1.1.2、HBase-0.94.7完全分布式集群结构

爱的技术可以应用到实际生活生产,做艺术向往的东西不腻和音乐。

现将前期手里面的一个项目做一个大致的总结,与大家一起分享、交流、进步。

项目如今正在线上执行,项目名——基于Hadoop的数据分析综合管理平台。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

项目流程总体比較清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司经常使用的技术:Hadoop、Mahout、HBase、Spring Data Hadoop、JavaEE。

本文将Hadoop1、Zookeeper、HBase环境的搭建工作总结一下,关于项目中的其它情况,兴许博文会再做分享。

本文依照例如以下思路进行:

集群环境

RedHat5.5 OS

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

详细步骤

准备工作

查看RedHat版本号

arch/uname -a

改动主机名(重新启动生效)

vi /etc/sysconfig/network

改动hosts映射文件

vi /etc/hosts

222.22.91.70  master

222.22.91.68  slave1

222.22.91.69  slave2

改动Windows下hosts文件

C:\Windows\System32\drivers\etc\hosts

222.22.91.70  master

222.22.91.68  slave1

222.22.91.69  slave2

远程拷贝

scp /etc/hosts 222.22.91.70:/etc/

scp  /etc/hosts 222.22.91.70:/etc

配置SSH

rpm-qa | grep ssh  查看系统中是否已安装ssh

netstat-nat  查看port

ssh-keygen–t rsa

cd/root/.ssh

cp id_rsa.pub authorized_keys

cp id_rsa.pub slave1_id_rsa.pub

cp id_rsa.pub slave2_id_rsa.pub

先聚集

cat slave1_id_rsa.pub >> authorized_keys

cat lave2_id_rsa.pub >> authorized_keys

再分发

scp authorized_keys slave1:/root/.ssh

scp authorized_keys slave2:/root/.ssh

每一个节点都持有其它节点的公钥。免密钥登录。

配置JDK

查询是否已安装过java

rpm -qa | grep java

rpm -qa | grep jdk

卸载旧版本号jdk

yum remove java

rpm -e --nodeps (gcc-java-4.1.2-48.el5)

安装新的jdk

cd/usr

mkdirjava

在/usr/java中运行

./jdk-6u24-linux-i586.bin

解压后所在路径:/usr/java/jdk1.6.0_24

配置java环境变量(见文章最后的附录)

安装Hadoop

解压缩

cd/home/yujianxin/

mkdir  hadoop

tar–zxvf hadoop-1.1.2.tar.gz

配置Hadoop环境变量(见文章最后的附录)

依次改动conf/下的

hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.6.0_24/

# set hbase environment

export HBASE_HOME=/home/yujianxin/hbase/hbase-0.94.7-security

export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin:$HBASE_HOME/hbase-0.94.7-security.jar:$HBASE_HOME/hbase-0.94.7-security-tests.jar:$HBASE_HOME/conf:$HBASE_HOME/lib/zookeeper-3.4.5.jar:$HBASE_HOME/lib/protobuf-java-2.4.0a.jar(配置此句,避免以后执行HBase
MapReduce出错)

core-site.xml

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://master:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/yujianxin/hadoop/hadoop-1.1.2/HadoopTempDir

</value>

</property>

</configuration>

人为创建hadoop.tmp.dir

hdfs-site.xml

<configuration>

<property>

<name>dfs.name.dir</name>

<value>/work/hadoop/name/name1,/work/hadoop/name/name2</value>

<description>动态挂载移动硬盘,挂载到/work路径下</description>

</property>

<property>

<name>dfs.data.dir</name>

<value>/work/hadoop/data/data1,/work/hadoop/data/data2</value>

<description>动态挂载移动硬盘,挂载到/work路径下</description>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

</configuration>

注:

dfs.name.dir、dfs.data.dir文件夹不能人为创建。由Hadoop自己主动创建。

当中,

(1)dfs.name.dir是运行hadoop namenode -format时创建。

(2)dfs.data.dir是运行start-all.sh时创建。

mapred-site.xml

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>master:9001</value>

</property>

<property>

<name>mapred.local.dir</name>

<value>/work/hadoop/mapred/mapred1,/work/hadoop/mapred/mapred2</value>

</property>

</configuration>

masters文件

master

slaves文件

slave1

slave2

格式化一个新的分布式文件系统

hadoop namenode -format

启动

start-all.sh

验证

方式一、查看启动的Java守护进程

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

方式二、通过web端

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

安装Zookeeper

cd/home/yujianxin/

mkdirzookeeper

tar–zxvf zookeeper-3.4.5.tar.gz

加入zookeeper环境变量(见附录)

改动conf/zoo_sample.cfg为zoo.cfg,配置

dataDir=/home/yujianxin/zookeeper/zookeeper-3.4.5/data

logDir=/home/yujianxin/zookeeper/zookeeper-3.4.5/log

server.0=master:2887:3887

server.1=slave1:2887:3887

server.2=slave2:2887:3887

在zookeeper-3.4.5文件夹创建data和log文件夹

在data目录下创建文件myid,里面填写zookeeper服务器的id号,如上面的server.0的0就是一个id号。

启动、測试

每台机器都运行

zkServer.sh start

zkServer.sh status

运行Zookeeper的Shellclient命令zkCli.sh

安装HBase

解压缩

cd/home/yujianxin/

mkdirhbase

tar–zxvf hbase-0.94.7-security.tar.gz

加入hbase环境变量(见博文附录)

改动conf/下的配置文件

hbase-env.sh

exportJAVA_HOME=/usr/java/jdk1.6.0_24/

exportHBASE_MANAGES_ZK=false  #不使用HBase自带的Zookeeper

hbase-site.xml

<configuration>

<property>

<name>hbase.rootdir</name>

<value>hdfs://master:9000/hbase_yjx</value>

<description>HDFS提供底层存储<description>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>master,slave1,slave2</value>

<description>关联Zookeeper集群<description>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>hbase.coprocessor.user.region.classes</name>

<value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>

</property>

</configuration>

regionnserve

slave1

slave2

启动、验证

start-hbase.sh

验证一。查看HMaster、HRegionServer守护进程

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

验证二、web端

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

附录:

/etc/profile(保留一份。以后当模板用即可了,哈哈)

# /etc/profile

# set java environment

export JAVA_HOME=/usr/java/jdk1.6.0_24

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

# set hadoop environment

exportHADOOP_HOME=/home/yujianxin/hadoop/hadoop-1.1.2

exportPATH=$PATH:$HADOOP_HOME/bin

exportHADOOP_HOME_WARN_SUPPRESS=not_null

# set zookeeper environment

exportZOOKEEPER_HOME=/home/yujianxin/zookeeper/zookeeper-3.4.5

exportPATH=$PATH:$ZOOKEEPER_HOME/bin

# set hbase environment

exportHBASE_HOME=/home/yujianxin/hbase/hbase-0.94.7-security

exportPATH=$PATH:$HBASE_HOME/bin

OK。基于Hadoop1、HBase的大数据处理分析开发环境搭建完成,欢迎大家留言交流哟

Mahout学习中,Storm学习...

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-11-08 03:47:14

Hadoop-1.1.2、HBase-0.94.7完全分布式集群结构的相关文章

通过tarball形式安装HBASE Cluster(CDH5.0.2)——配置分布式集群中的YARN ResourceManager 的HA

<?xml version="1.0"?> <!-- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses

Nutch 2.x + Hadoop 2.5.2 + Hbase 0.94.26

一开始运行Nutch 2.x 总是报下面这个错误: java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.Counter, but class was expected 这个问题足足折腾了2天,查了无数资料,始终不能解决问题,虽然问题定位在Nutch 编译的时候使用了Hadoop 1.x,然后运行的时候是在Hadoop 2.x上,但是始终找不到到底什么时候依赖了hadoop-core

Tachyon 0.7.1伪分布式集群安装与测试

Tachyon是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,就像Spark和 MapReduce那样.通过利用信息继承,内存侵入,Tachyon获得了高性能.Tachyon工作集文件缓存在内存中,并且让不同的 Jobs/Queries以及框架都能内存的速度来访问缓存文件.因此,Tachyon可以减少那些需要经常使用的数据集通过访问磁盘来获得的次数. 源码下载 源码地址:https://github.com/amplab/tachyon git clone http

安装HBase 0.94.6-cdh4.3.0

安装HBase 0.94.6-cdh4.3.0 设定HBase的配置文件,由于安装的是cdh版,各版本直接匹配,互相依赖的jar包也都正确,只需要配置下hbase的环境变量和配置文件即可. 1.配置hbase-env.sh,添加JAVA_HOME环境变量 [html] view plaincopy export JAVA_HOME=/usr/java/default/  其他暂时不用添加 export HBASE_MANAGES_ZK=true 2.修改hbase-site.xml,如下配置 [

phoenix 3.1 + hbase 0.94.21 的安装和使用

Apache Phoenix 是 HBase 的 SQL 驱动.Phoenix 使得 HBase 支持通过 JDBC 的方式进行访问,并将你的 SQL 查询转成 HBase 的扫描和相应的动作. 兼容性: Phoenix 2.x - HBase 0.94.x Phoenix 3.x - HBase 0.94.x Phoenix 4.x - HBase 0.98.1+ 1:hbase 0.94.21 的安装 参考http://blog.csdn.net/wind520/article/detail

基于Hadoop的数据分析综合管理平台之Hadoop、HBase完全分布式集群搭建

能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事. 现将前期手里面的一个项目做一个大致的总结,与大家一起分享.交流.进步.项目现在正在线上运行,项目名--基于Hadoop的数据分析综合管理平台. 项目流程整体比较清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司常用的技术:Hadoop.Mahout.HBase.Spring Data Had

分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建

一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务.因此,它可以容错地存储海量稀疏的数据.HBase在列上实现了BigTable论文提到的压缩算法.内存操作和布隆过滤器.HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API来存取数据,也可以

学习搭建Hadoop+HBase+ZooKeeper分布式集群环境

一.环境配置 由于集群至少需要三台服务器,我就拿上次做的MongoDB Master, Slave, Arbiter环境来做Hadoop集群.服务器还是ibmcloud 免费提供的.其中Arbiter在这里做的也是slave的角色. Hostname IP  Server Type Master 192.168.0.28 Centos6.2 Slave 192.168.0.29 Ubuntu14.04 Arbiter 192.168.0.30 Ubuntu14.04 配置三台机器的Master

通过tarball形式安装HBASE Cluster(CDH5.0.2)——如何配置分布式集群中的zookeeper

集群安装总览参见这里 Zookeeper的配置 1,/etc/profile中加入zk的路径设置,见上面背景说明. 2,进入~/zk/conf目录,复制zoo_sample.cfg为zoo.cfg vim zoo.conf tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/hadoop/hdfs/zk/data dataLogDir=/home/hadoop/hdfs/zk/log clientPort=2181 server.21=zk1