• “挖掘机”升级路 二篇(04)--分享一个自动配置的脚本


      掰着指头算算,今天是周三,也就意味着我从接触Hadoop到搭建集群Hadoop、HBase、Hive已经过去了四天,结果是我依然没有搭建完成,还在苦苦挣扎。这周一定要让完整的Hadoop跑起来,不然也真是太不像话了。

      今天我想想干了些啥,早上路过青年路的时候买了个馒头,他居然要了我两块钱!!!不是什么营养馒头,就是路边摊。一笔带过,发泄一下。

      今天的工作要分为两段来说,早上是自己接着在研究HBase的集群配置,遇到的主要问题就是两个,第一个就是当我配置slave机器的时候,在hbase-site.xml文件中的问题。

    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
    </property>
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    </property>
    <property>
    <name>hbase.master</name>
    <value>master:60000</value>

    hbase.rootdir后面我是用master的信息呢,还是slave的信息,最后得出了结果(虽然还没验证)使用master的信息,以及hbase.master也是同样的道理。别说这点事,也就是我写出来了,要是像我一样的找,那就有的受了,一上午最大的收获就是在这里

    接着就是文章的核心,你比如你有台机器,你一台台配置,除非你疯了,我给出一段自动换脚本可供参考。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    #!/bin/bash

    # author: xirong
    # date : 2015-05-11

    #####
    # hbase 的数据存储在hdfs中,所以依赖hadoop的环境,安装配置hbase环境需要搭建好的hadoop环境
    #
    ####

    # 解压文件
    # unzip hbase.zip -d /home/hadoop/ (兄台你这个看自己路径 比如我的是 /opt/hbase)
    # 赋予权限
    sudo chown -R hadoop:hadoop /home/hadoop/hbase

    sudo sed -i '$ a # hbase configuration' /etc/profile
    sudo sed -i '$ a export PATH=$PATH:/home/hadoop/hbase/bin' /etc/profile

    source /etc/profile
    hbase version
    echo 'congratilations ,hbase has been installed on your machine!'

    echo 'start change hbase-env.sh configuration ……'
    echo '# 添加环境变量' >> /home/hadoop/hbase/conf/hbase-env.sh(也是修改成你自己的路径,后面的一样,我就不说了)
    echo 'export JAVA_HOME=/opt/jdk1.7.0_75' >> /home/hadoop/hbase/conf/hbase-env.sh
    echo 'export HBASE_CLASSPATH=/home/hadoop/hbase/conf' >> /home/hadoop/hbase/conf/hbase-env.sh
    echo 'export HBASE_MANAGES_ZK=true' >> /home/hadoop/hbase/conf/hbase-env.sh
    echo 'export HBASE_HOME=/home/hadoop/hbase' >> /home/hadoop/hbase/conf/hbase-env.sh
    echo 'export HADOOP_HOME=/home/hadoop/hadoop-2.5.2' >> /home/hadoop/hbase/conf/hbase-env.sh
    echo 'export HBASE_LOG_DIR=/home/hadoop/hbase/logs' >> /home/hadoop/hbase/conf/hbase-env.sh
    (啰嗦一句 >> 这个的意思是将这个语句追加到啥啥里面)

    echo 'finish hbase-env.sh and start change hbase-site.xml configuration ……'
    cp -f /home/hadoop/hbase/conf/hbase-site.xml /home/hadoop/hbase/conf/hbase-site.xml.bak

    sed -i '/</configuration>/d' /home/hadoop/hbase/conf/hbase-site.xml

    sed -i '$ a <property>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a <name>hbase.rootdir</name>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a <value>hdfs://master:9000/hbase</value>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a </property>' /home/hadoop/hbase/conf/hbase-site.xml

    sed -i '$ a <property>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a <name>hbase.cluster.distributed</name>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a <value>true</value>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a </property>' /home/hadoop/hbase/conf/hbase-site.xml

    sed -i '$ a <property>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a <name>hbase.master</name>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a <value>master:60000</value>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a </property>' /home/hadoop/hbase/conf/hbase-site.xml

    sed -i '$ a <property>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a <name>hbase.zookeeper.quorum</name>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a <value>master,slave1,slave2</value>' /home/hadoop/hbase/conf/hbase-site.xml
    sed -i '$ a </property>' /home/hadoop/hbase/conf/hbase-site.xml

    sed -i '$ a </configuration>' /home/hadoop/hbase/conf/hbase-site.xml

    echo 'finish hbase-site.xml configuration and start change regionservers ……'
    cp -f /home/hadoop/hbase/conf/regionservers /home/hadoop/hbase/conf/regionservers.bak
    echo 'slave1' >> /home/hadoop/hbase/conf/regionservers
    echo 'slave2' >> /home/hadoop/hbase/conf/regionservers

    echo 'congratilations ,all conf has been changed ! enjoy hbase !'
     
  • 相关阅读:
    切片
    docker基础
    第18课 脚本练习二(找出文件下最大文件)
    第17课 脚本练习一(添加新用户)
    第十四课 脚本编程(重定向+变量)
    第十课 新建共享文件夹
    第九课 Linux文本处理
    第八课 正则表达式
    第七课 VI全屏文本编辑器
    第六课 Linux文件系统文本操作命令
  • 原文地址:https://www.cnblogs.com/wajueji/p/5339337.html
Copyright © 2020-2023  润新知