Hadoop-1.1.2、HBase-0.94.7完全分布式集群结构
爱的技术可以应用到实际生活生产,做艺术向往的东西不腻和音乐。
现将前期手里面的一个项目做一个大致的总结,与大家一起分享、交流、进步。
项目如今正在线上执行,项目名——基于Hadoop的数据分析综合管理平台。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
项目流程总体比較清晰,爬取数据(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" alt="">
详细步骤
准备工作
查看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" alt="">
方式二、通过web端
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
安装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" alt="">
验证二、web端
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
附录:
/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学习...
版权声明:本文博主原创文章,博客,未经同意不得转载。
Hadoop-1.1.2、HBase-0.94.7完全分布式集群结构的更多相关文章
- HBase 1.2.6 完全分布式集群安装部署详细过程
Apache HBase 是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,是NoSQL数据库,基于Google Bigtable思想的开源实现,可在廉价的PC Server上搭建大规模结构化存 ...
- hadoop学习第二天-了解HDFS的基本概念&&分布式集群的搭建&&HDFS基本命令的使用
一.HDFS的相关基本概念 1.数据块 1.在HDFS中,文件诶切分成固定大小的数据块,默认大小为64MB(hadoop2.x以后是128M),也可以自己配置. 2.为何数据块如此大,因为数据传输时间 ...
- Hadoop 2.4.1+HBase 0.98.6.1 分布式安装
参考:http://blog.csdn.net/wind520/article/details/39856353
- 通过tarball形式安装HBASE Cluster(CDH5.0.2)——配置分布式集群中的YARN ResourceManager 的HA
<?xml version="1.0"?> <!-- Licensed under the Apache License, Version 2.0 (the &q ...
- Hadoop上路-01_Hadoop2.3.0的分布式集群搭建
一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...
- 分布式集群搭建(hadoop2.6.0+CentOS6.5)
摘要:之前安装过hadoop1.2.1集群,发现比较老了,后来安装cloudera(hadoop2.6.0),发现集成度比较高,想知道原生的hadoop什么样子,于是着手搭建一个伪分布式集群(三台), ...
- 分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建
一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...
- hadoop搭建伪分布式集群(centos7+hadoop-3.1.0/2.7.7)
目录: Hadoop三种安装模式 搭建伪分布式集群准备条件 第一部分 安装前部署 1.查看虚拟机版本2.查看IP地址3.修改主机名为hadoop4.修改 /etc/hosts5.关闭防火墙6.关闭SE ...
- 基于HBase Hadoop 分布式集群环境下的MapReduce程序开发
HBase分布式集群环境搭建成功后,连续4.5天实验客户端Map/Reduce程序开发,这方面的代码网上多得是,写个测试代码非常容易,可是真正运行起来可说是历经挫折.下面就是我最终调通并让程序在集群上 ...
随机推荐
- android Animation动画的xml使用
在Android应用程序,使用动画效果,能带给用户更好的感觉,做动画能够通过XML或Android代码来实现. Animation动画效果的实现能够通过两种方式进行实现,一种是tweened anim ...
- Gradle入门系列(转)
Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言.近期,Gradle获得了极大的关注,这也是我决定去研究Gradle的原因. 这篇文章是 ...
- 认识Underscore
Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象.它弥补了部分jQuery没有实现的功能,同时又是Backbone.j ...
- 我收集的sonar参考资料
sonarQube代码质量管理工具环境筹建笔记 http://www.myexception.cn/open-source/1307345.html 配置sonar.jenkins进行持续审查 htt ...
- spring 配置属性的详细信息
摘要(这篇文章讲的红,蓝说这话节) 字面值 字面值:可用字符串表示的值,能够通过<value>元素标签或value属性进行注入 基本数据类型及其封装类.String等类型都能够採取字面值注 ...
- MonkenRunner通过HierarchyViewer定位控制的方法和建议(Appium/UIAutomator/Robotium侣)
1. 背景 正在使用MonkeyRunner当我们经常使用Chimchat下面HierarchyViewer模块获得目标控制的一些信息,以协助我们测试.但在MonkeyRunner官方的说法是没有看到 ...
- 解决 U盘安装Windows Server 2012 R2 报错 Windows 无法打开所需的文件 Sources\install.wim
报错原因: 使用UltraISO等软件刻录镜像时默认使用FAT32文件系统,该系统不支持大于4G的文件, 而Server 2012 R2的安装文件install.wim为5.12G,固安装失败. 解决 ...
- flask+gevent+gunicorn+nginx 初试
1.安装flask pip install flask 2.安装gevent pip install gevent 3.安装gunicorn pip install gunicorn 版本信息例如以下 ...
- 旧Mj下拉刷新 An instance 0xca90200 of class UITableView was deallocated while key value observers were s
An instance 0xca90200 of class UITableView was deallocated while key value observers were still regi ...
- Chapter 1 Securing Your Server and Network(3):使用托管服务帐号
原文:Chapter 1 Securing Your Server and Network(3):使用托管服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...