热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建

能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事。现将前期手里面的一个项目做一个大致的总结,与大家一起分享、交流、进步。项目现在正在线

            能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事。

           现将前期手里面的一个项目做一个大致的总结,与大家一起分享、交流、进步。项目现在正在线上运行,项目名——基于Hadoop的数据分析综合管理平台。

                         

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

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

    本文按照如下思路进行:

集群环境


RedHat5.5 OS


具体步骤

准备工作


查看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  查看端口

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

fs.default.name

hdfs://master:9000

hadoop.tmp.dir

/home/yujianxin/hadoop/hadoop-1.1.2/HadoopTempDir


人为创建hadoop.tmp.dir


hdfs-site.xml

dfs.name.dir

/work/hadoop/name/name1,/work/hadoop/name/name2

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

dfs.data.dir

/work/hadoop/data/data1,/work/hadoop/data/data2

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

dfs.replication

3

dfs.permissions

false


注:

dfs.name.dir、dfs.data.dir目录不能人为创建,由Hadoop自动创建。

其中,

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

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


mapred-site.xml

mapred.job.tracker

master:9001

mapred.local.dir

/work/hadoop/mapred/mapred1,/work/hadoop/mapred/mapred2


masters文件

master


slaves文件

slave1

slave2


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

hadoop namenode -format

启动

start-all.sh

验证

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




方式二、通过web端



安装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的Shell客户端命令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

hbase.rootdir  

hdfs://master:9000/hbase_yjx         

HDFS提供底层存储   

     

        

hbase.cluster.distributed       

true   

     

        

hbase.zookeeper.quorum      

master,slave1,slave2 

关联Zookeeper集群   

     

        

dfs.replication            

3     

hbase.coprocessor.user.region.classes

org.apache.hadoop.hbase.coprocessor.AggregateImplementation


regionnserve

slave1

slave2

启动、验证

start-hbase.sh


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



验证二、web端






附录:

/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


export JAVA_HOME=/usr/java/jdk1.7.0_60
#export JAVA_HOME=/usr/java/latest
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=.:$PATH:$JAVA_HOME/bin

 

# 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学习中...



推荐阅读
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Spark与HBase结合处理大规模流量数据结构设计
    本文将详细介绍如何利用Spark和HBase进行大规模流量数据的分析与处理,包括数据结构的设计和优化方法。 ... [详细]
  • 在List和Set集合中存储Object类型的数据元素 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 如何使用mysql_nd:Python连接MySQL数据库的优雅指南
    无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过 `mysql_nd` 库与 MySQL 数据库进行高效连接和数据交互。内容涵盖以下几个方面: ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 深入解析HTTPS:保障Web安全的加密协议
    本文详细探讨了HTTPS协议在保障Web安全中的重要作用。首先分析了HTTP协议的不足之处,包括数据传输过程中的安全性问题和内容加密的缺失。接着介绍了HTTPS如何通过使用公钥和私钥的非对称加密技术以及混合加密机制,确保数据的完整性和机密性。最后强调了HTTPS的安全性和可靠性,为现代网络通信提供了坚实的基础。 ... [详细]
author-avatar
手机用户2702932960
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有