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

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

项目如今正在线上执行,项目名——基于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完全分布式集群结构的更多相关文章

  1. HBase 1.2.6 完全分布式集群安装部署详细过程

    Apache HBase 是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,是NoSQL数据库,基于Google Bigtable思想的开源实现,可在廉价的PC Server上搭建大规模结构化存 ...

  2. hadoop学习第二天-了解HDFS的基本概念&&分布式集群的搭建&&HDFS基本命令的使用

    一.HDFS的相关基本概念 1.数据块 1.在HDFS中,文件诶切分成固定大小的数据块,默认大小为64MB(hadoop2.x以后是128M),也可以自己配置. 2.为何数据块如此大,因为数据传输时间 ...

  3. Hadoop 2.4.1+HBase 0.98.6.1 分布式安装

    参考:http://blog.csdn.net/wind520/article/details/39856353

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

    <?xml version="1.0"?> <!-- Licensed under the Apache License, Version 2.0 (the &q ...

  5. Hadoop上路-01_Hadoop2.3.0的分布式集群搭建

    一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...

  6. 分布式集群搭建(hadoop2.6.0+CentOS6.5)

    摘要:之前安装过hadoop1.2.1集群,发现比较老了,后来安装cloudera(hadoop2.6.0),发现集成度比较高,想知道原生的hadoop什么样子,于是着手搭建一个伪分布式集群(三台), ...

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

    一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...

  8. hadoop搭建伪分布式集群(centos7+hadoop-3.1.0/2.7.7)

    目录: Hadoop三种安装模式 搭建伪分布式集群准备条件 第一部分 安装前部署 1.查看虚拟机版本2.查看IP地址3.修改主机名为hadoop4.修改 /etc/hosts5.关闭防火墙6.关闭SE ...

  9. 基于HBase Hadoop 分布式集群环境下的MapReduce程序开发

    HBase分布式集群环境搭建成功后,连续4.5天实验客户端Map/Reduce程序开发,这方面的代码网上多得是,写个测试代码非常容易,可是真正运行起来可说是历经挫折.下面就是我最终调通并让程序在集群上 ...

随机推荐

  1. Best Time to Buy and Sell Stock I,II,III [leetcode]

    Best Time to Buy and Sell Stock I 你只能一个操作:维修preMin拍摄前最少发生值 代码例如以下: int maxProfit(vector<int> & ...

  2. java提高篇(七)-----详解内部类

    可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面 ...

  3. hdu3182 状态压缩水题

    题意是这种     给你n个汉堡     每一个汉堡有它的价值   做每一个汉堡都得花费相应的能量      如今告诉你最大能量 让你求获得的最大的价值(有些汉堡必须有还有一些汉堡做好为前提) 给你的 ...

  4. TCP与UDP的侵略性

    HTTP必须执行在TCP上吗?SSL必须执行在TCP上吗?...实际上HTTP并没有规定一定要执行在TCP上,甚至FTP也不一定要执行在TCP上!HTTP或者FTP仅仅是说底层信道要保证数据的按序传输 ...

  5. Socket编程实践(4) --更复杂的过程server

    1.Socket地址复用 int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); in ...

  6. Java中关于OOM的场景及解决方法(转)

    http://developer.51cto.com/art/201112/305696.htm 1.OOM for Heap=>例如:java.lang.OutOfMemoryError: J ...

  7. PHP与EXCEL PHPExcel

    1.PHPExcel一个简短的引论 PHPExcel 它是用来操作Office Excel 文档PHP图书馆,它是基于微软的OpenXML标准PHP语言.能够使用它来读.写不同格电子表的类型格,例如 ...

  8. HDU 2203 亲串(kmp)

    Problem Description 随着人们年龄的增长更大,更聪明还是越大越愚蠢,这是一个值,相同的问题Eddy也一直在思考,由于他在非常小的时候就知道亲和串怎样推断了,可是发现,如今长大了却不知 ...

  9. 新版本NDK环境结构(避Cygwin,超快)

    曾经做Android的项目要用到NDK就必需要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量... 麻烦到不想说 ...

  10. 实例教程Unity3D单例模式(一)通经常使使用方法

    unity3d教程 中的单例模式通经常使使用方法 通经常使使用方法是在相关类增加GetInstance()的静态方法,检查实例是否存在.假设存在,则返回.假设不存在.则返回一个"须要用游戏元 ...