zoukankan      html  css  js  c++  java
  • 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:WindowsSystem32driversetchosts
    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守护进程




    方式二、通过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的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守护进程



    验证二、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

     

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


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

  • 相关阅读:
    Django model转字典的几种方法
    使用Nagios打造专业的业务状态监控
    Etcd安全配置之Basic Auth认证
    ELK日志系统之通用应用程序日志接入方案
    ELK日志系统之使用Rsyslog快速方便的收集Nginx日志
    中小团队落地配置中心详解
    ELK构建MySQL慢日志收集平台详解
    Django model select的各种用法详解
    Python:每日一题003
    Python:每日一题002
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4914547.html
Copyright © 2011-2022 走看看