zoukankan      html  css  js  c++  java
  • 部署HBase系统(分布式部署)

    1.简介

    HBase系统主要依赖于zookeeper和hdfs系统,所以部署HBase需要先去部署zookeeper和hadoop

    2.部署开始

      IP或者HOSTNAME需要根据自身主机信息设定。

      部署资源:

          两个节点:xufeng-2(管理节点) xufeng-3(从节点)

    xufeng-3 xufeng-2

    zookeeper

    namenode

    SecondaryNameNode

    master

    datanode

    regionserver 

     

      部署版本:

          CDH5.4.2

      1.设定主机hostname

          #adduser hadoop  //添加一个用户
          #passwd hadoop   //修改密码

      2.设定主机hostame  

    vi /etc/sysconfig/network

      3.设定hosts文件:

    10.211.55.18 xufeng-3
    10.211.55.21 xufeng-2

      4.拷贝安装包,按照如下设定安装包路径

      

      其中组件文件夹通过软连接到具体安装目录,配置文件独立于安装目录,这样便于后续版本的替换

      安装包可以去官网:http://archive.cloudera.com/cdh5/cdh/5/下载。

      5.安装jdk,如下版本,hadoop已经全面放弃了1.6版本,所以请安装1.7及以上版本

    jdk-7u79-linux-x64.rpm

      6.设定无密码登录

    hadoop用户下:

    xufeng-3上执行: ssh-keygen cd ~/.ssh scp id_rsa.pub xufeng-2:/home/hadoop/.ssh/authorized_keys xufeng-2上执行 ssh-keygen cd ~/.ssh scp id_rsa.pub xufeng-3:/home/hadoop/.ssh/authorized_keys
    增加:
        启动的时候需要ssh到自身,所以也需要将自身的公钥发布给自己:
        在各个节点上执行:
         cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  

      7.设定环境变量,通过环境变量的设定,各个服务可以找到对应的安装路径和配置文件路径  

    [hadoop@xufeng-3 hbase-config]$ vi ~/.bash_profile 
    
    
    #hadoop
    export HADOOP_HOME=/opt/hadoop/hadoop
    export HADOOP_CONF_DIR=/opt/hadoop/hadoop-config
    export HADOOP_LOG_DIR=/opt/hadoop/hadoop/xufeng
    #hbase
    export HBASE_HOME=/opt/hadoop/hbase
    export HBASE_CONF_DIR=/opt/hadoop/hbase-config
    
    #zookeeper
    export ZOOKEEPER_HOME=/opt/hadoop/zookeeper
    export ZOOCFGDIR=/opt/hadoop/zookeeper-config
    
    #spark
    export SPARK_HOME=/opt/hadoop/spark
    export SPARK_CONF_DIR=/opt/hadoop/spark-config
    
    
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin:SPARK_HOME/bin
    
    
    export PATH

      配置文件和包分割开来,便于后续方便的替换包(版本)。

      8.【单节点】设定zookeeper,启动zookeeper

       a.将zookeeper安装包内的conf文件夹下的内容拷贝到zookeeper-config目录下,并生成zoo.cfg文件  

    [hadoop@xufeng-3 bin]$ cd /opt/hadoop/zookeeper-config/
    [hadoop@xufeng-3 zookeeper-config]$ ll
    总用量 20
    -rwxr-x---. 1 hadoop hadoop  535 6月  12 18:05 configuration.xsl
    -rwxr-x---. 1 hadoop hadoop 2693 6月  12 18:05 log4j.properties
    -rw-rw-r--. 1 hadoop hadoop   72 6月  12 18:13 zoo.cfg
    -rw-rw-r--. 1 hadoop hadoop 3633 6月  12 18:13 zookeeper.out
    -rwxr-x---. 1 hadoop hadoop  808 6月  12 18:05 zoo_sample.cfg

      zoo.cfg内容

    [hadoop@xufeng-3 zookeeper-config]$ vi zoo.cfg 
    
    tickTime=2000
    dataDir=/opt/hadoop/hadoop_data/zookeeper
    clientPort=2181
    ~                  

      b.启动zookeeper

    zkServer.sh start

      检查线程

    [hadoop@xufeng-3 zookeeper-config]$ jps
    5299 QuorumPeerMain
    5634 Jps

      9.设定hadoop,启动hadoop

      需要去主从节点上设定如下几个文件,这些文件都放在了/opt/hadoop/hadoop-config下,通过环境变量的指定进程能够读取到。

      其中如果无特殊需要hadoop-env.sh和log4j文件只从安装包中拷贝不修改。

    core-site.xml
    hdfs-site.xml
    hadoop-env.sh
    log4j.properties
    slaves

      core-site.xml内容:

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://xufeng-3:9000</value>
            <description>NameNode URI</description>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:///opt/hadoop/hadoop_data/hadoop/hdfs/temp</value>
            <description>Abase for other temporary directories.</description>
        </property>
    </configuration>

       hdfs-site.xml内容:dfs.replication设定为1,因为我们只有一个datanode

    <configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///opt/hadoop/hadoop_data/hdfs/namenode</value>
            <description>NameNode directory for namespace and transaction logs storage.</description>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///opt/hadoop/hadoop_data/hdfs/datanode</value>
            <description>DataNode directory</description>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
        <property>
            <name>dfs.datanode.use.datanode.hostname</name>
            <value>false</value>
        </property>
        <property>
            <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
            <value>false</value>
        </property>
        <property>
             <name>dfs.namenode.http-address</name>
             <value>xufeng-3:50070</value>
             <description>Your NameNode hostname for http access.</description>
        </property>
        <property>
             <name>dfs.namenode.secondary.http-address</name>
             <value>xufeng-3:50090</value>
             <description>Your Secondary NameNode hostname for http access.</description>
        </property>
    </configuration>

      slaves内容: 只在xufeng-2这台机器上启动datanode

    xufeng-2

      启动hdfs

    start-dfs.sh
    注意:
        听说centOS6有一个bug:
        需要关闭防火墙才能联通端口:
    
      service iptables stop 
      chkconfig iptables off

      进入页面:hdfs安装完成: 

    10,设定HBase,启动HBase

      的地水电费

      将配置文件从安装目录中拷贝到/opt/hadoop/hbase-config,主要有如下文件:

      

      其中hdfs-site.xml为软连接到hadoop的配置文件,因为HBase是作为hdfs的客户端角色。

      hbase-env.sh内容(修改点):不要让HBase使用集成的zookeeper,而是使用我们在xufeng-3上启动的zookeeper服务 

    # Tell HBase whether it should manage it's own instance of Zookeeper or not.
    export HBASE_MANAGES_ZK=false

      hbase-site.xml内容:

    <configuration>
    <property>
      <name>hbase.cluster.distributed</name>
      <value>true</value>
    </property>
    <property>
      <name>hbase.rootdir</name>
      <value>hdfs://xufeng-3:9000/hbase</value>
    </property>
    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>xufeng-3:2181</value>
    </property>
    </configuration>

      regionservers内容:只在xufeng-2这个从节点上启动regionserver服务

    xufeng-2

      

      在xufeng-3节点上启动HBase:

    start-hbase.sh

      进入页面:HBase安装完成:

                

      

      

          

  • 相关阅读:
    Apache Commons 工具集使用简介
    程序员最核心的竞争力是什么?
    开发FTP不要使用sun.net.ftp.ftpClient
    Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解(转)
    MAC OS X显示.开头的文件_苹果操作系统显示隐藏文件命令
    再探二分查找
    二叉树的各种操作
    【java】求两个字符串的最长公共子串
    【Java】数组不能通过toString方法转为字符串
    【C语言】数组名传递给函数,数组的sizeof变为4的原因
  • 原文地址:https://www.cnblogs.com/ios123/p/5591904.html
Copyright © 2011-2022 走看看