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


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

  • 相关阅读:
    Rotation Kinematics
    离职 mark
    PnP 问题方程怎么列?
    DSO windowed optimization 代码 (4)
    Adjoint of SE(3)
    IMU 预积分推导
    DSO windowed optimization 代码 (3)
    DSO windowed optimization 代码 (2)
    OKVIS 代码框架
    DSO windowed optimization 代码 (1)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4914547.html
Copyright © 2011-2022 走看看