zoukankan      html  css  js  c++  java
  • Impala基础认知与安装

    一、Impala简介

    Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL。除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)。Impala还提供了一个熟悉的面向批量或实时查询和统一平台。

    hive:复杂的批处理查询,数据转换

    Impala:实时数据查询分析

    二、Impala安装
    1.安装要求:安装前需要先安装Hive
    (1)软件要求

    •   Red Hat Enterprise Linux (RHEL)/CentOS 6.2 (64-bit)
    •   CDH 4.1.0 or later
    •   Hive
    •   MySQL

    (2)硬件要求:在Join查询过程中需要将数据集加载内存中进行计算,因此对安装Impalad的内存要求较高。

    2、安装准备

    (1)操作系统版本查看

    >more/etc/issue

    CentOSrelease 6.2 (Final)

    Kernel on an m

    (2)机器准备

    10.28.169.112mr5

    10.28.169.113mr6

    10.28.169.114mr7

    10.28.169.115mr8

     各机器安装角色

    mr5:NameNode、ResourceManager、SecondaryNameNode、Hive、impala-state-store

    mr6、mr7、mr8:DataNode、NodeManager、impalad

    (3)用户准备

    在各个机器上新建用户hadoop,并打通ssh

    (4)软件准备

    到cloudera官网下载:

    Hadoop:hadoop-2.0.0-cdh4.1.2.tar.gz

    hive:hive-0.9.0-cdh4.1.2.tar.gz

    impala:

    impala-0.3-1.p0.366.el6.x86_64.rpm

    impala-debuginfo-0.3-1.p0.366.el6.x86_64.rpm

    impala-server-0.3-1.p0.366.el6.x86_64.rpm

    impala-shell-0.3-1.p0.366.el6.x86_64.rpm

    impala依赖包下载:bigtop-utils-0.4(http://beta.cloudera.com/impala/redhat/6/x86_64/impala/0/RPMS/noarch/)

    其他依赖包下载地址:http://mirror.bit.edu.cn/centos/6.3/os/x86_64/Packages/

    4、hadoop-2.0.0-cdh4.1.2安装

    (1)安装包准备

    hadoop用户登录到mr5机器,将hadoop-2.0.0-cdh4.1.2.tar.gz上传到/home/hadoop/目录下并解压:

        tar zxvf hadoop-2.0.0-cdh4.1.2.tar.gz

    (2)配置环境变量

    修改mr5机器hadoop用户主目录/home/hadoop/下的.bash_profile环境变量

    exportJAVA_HOME=/usr/jdk1.6.0_30

    exportJAVA_BIN=${JAVA_HOME}/bin

    exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export  JAVA_OPTS="-Djava.library.path=/usr/local/lib-server -Xms1024m -Xmx2048m -XX:MaxPermSize=256m -Djava.awt.headless=true-Dsun.net.client.defaultReadTimeout=600

    00-Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300-Dsun.net.inetaddr.ttl=300"

    exportHADOOP_HOME=/home/hadoop/hadoop-2.0.0-cdh4.1.2

    exportHADOOP_PREFIX=$HADOOP_HOME

    exportHADOOP_MAPRED_HOME=${HADOOP_HOME}

    exportHADOOP_COMMON_HOME=${HADOOP_HOME}

    exportHADOOP_HDFS_HOME=${HADOOP_HOME}

    exportHADOOP_YARN_HOME=${HADOOP_HOME}

    export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

    exportJAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTS

    exportHADOOP_LIB=${HADOOP_HOME}/lib

    exportHADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

    (3)修改配置文件

    在机器mr5上hadoop用户登录修改hadoop的配置文件(配置文件目录:hadoop-2.0.0-cdh4.1.2/etc/hadoop)

    (1)、slaves :

    添加以下节点mr6、mr7、mr8

     (2)、hadoop-env.sh :

    增加以下环境变量

    exportJAVA_HOME=/usr/jdk1.6.0_30

    exportHADOOP_HOME=/home/hadoop/hadoop-2.0.0-cdh4.1.2

    exportHADOOP_PREFIX=${HADOOP_HOME}

    export HADOOP_MAPRED_HOME=${HADOOP_HOME}

    exportHADOOP_COMMON_HOME=${HADOOP_HOME}

    exportHADOOP_HDFS_HOME=${HADOOP_HOME}

    exportHADOOP_YARN_HOME=${HADOOP_HOME}

    exportPATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

    exportJAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTS

    exportHADOOP_LIB=${HADOOP_HOME}/lib

    exportHADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

     (3)、core-site.xml :

      fs.default.name

      hdfs://mr5:9000

      The name of the defaultfile system.Either the literal string "local" or a host:port forNDFS.

      true

      

    io.native.lib.available  true

      

      hadoop.tmp.dir /home/hadoop/tmp  A base for other temporarydirectories.

      

    (4)、hdfs-site.xml :

     dfs.namenode.name.dir

      file:/home/hadoop/dfsdata/name

      Determines where on thelocal filesystem the DFS name node should store the name table.If this is acomma-delimited list of directories,then name table is replicated in all of thedirectories,for redundancy.

      true

      

    dfs.datanode.data.dir

    file:/home/hadoop/dfsdata/data

      Determines where on thelocal filesystem an DFS data node should store its blocks.If this is acomma-delimited list of directories,then data will be stored in all nameddirectories,typically on different devices.Directories that do not exist areignored.

      

      true

       dfs.replication

      3

      dfs.permission

      false

      

    (5)、mapred-site.xml:

     mapreduce.framework.name

      yarn

     mapreduce.job.tracker  hdfs://mr5:9001  true

     

    mapreduce.task.io.sort.mb  512

     

    mapreduce.task.io.sort.factor 100

     

    mapreduce.reduce.shuffle.parallelcopies 50

     

      mapreduce.cluster.temp.dir file:/home/hadoop/mapreddata/system  true

     

    mapreduce.cluster.local.dir file:/home/hadoop/mapreddata/local   true

     

    (6)、yarn-env.sh :

    增加以下环境变量

    exportJAVA_HOME=/usr/jdk1.6.0_30

    exportHADOOP_HOME=/home/hadoop/hadoop-2.0.0-cdh4.1.2

    exportHADOOP_PREFIX=${HADOOP_HOME}

    exportHADOOP_MAPRED_HOME=${HADOOP_HOME}

    exportHADOOP_COMMON_HOME=${HADOOP_HOME}

    exportHADOOP_HDFS_HOME=${HADOOP_HOME}

    exportHADOOP_YARN_HOME=${HADOOP_HOME}

    exportPATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

    exportJAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTS

    exportHADOOP_LIB=${HADOOP_HOME}/lib

    exportHADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

     

    (7)、yarn-site.xml:

     yarn.resourcemanager.address mr5:8080

     

    yarn.resourcemanager.scheduler.address mr5:8081

     

    yarn.resourcemanager.resource-tracker.address mr5:8082

     

    yarn.nodemanager.aux-services mapreduce.shuffle

     

    yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler

     

    yarn.nodemanager.local-dirs file:/home/hadoop/nmdata/local thelocal directories used by the nodemanager

     

    yarn.nodemanager.log-dirs file:/home/hadoop/nmdata/log thedirectories used by Nodemanagers as log directories

     

    (4)拷贝到其他节点

    (1)、在mr5上配置完第2步和第3步后,压缩hadoop-2.0.0-cdh4.1.2

    rm hadoop-2.0.0-cdh4.1.2.tar.gz

    tar  zcvf hadoop-2.0.0-cdh4.1.2.tar.gz  hadoop-2.0.0-cdh4.1.2

     然后将hadoop-2.0.0-cdh4.1.2.tar.gz远程拷贝到mr6、mr7、mr8机器上

    scp/home/hadoop/hadoop-2.0.0-cdh4.1.2.tar.gz hadoop@mr6:/home/hadoop/

    scp/home/hadoop/hadoop-2.0.0-cdh4.1.2.tar.gz hadoop@mr7:/home/hadoop/

    scp/home/hadoop/hadoop-2.0.0-cdh4.1.2.tar.gz hadoop@mr8:/home/hadoop/

     

    (2)、将mr5机器上hadoop用户的配置环境的文件.bash_profile远程拷贝到mr6、mr7、mr8机器上

    scp/home/hadoop/.bash_profile hadoop@mr6:/home/hadoop/

    scp/home/hadoop/.bash_profile hadoop@mr7:/home/hadoop/

    scp/home/hadoop/.bash_profile hadoop@mr8:/home/hadoop/

    拷贝完成后,在mr5、mr6、mr7、mr8机器的/home/hadoop/目录下执行

    source.bash_profile

    使得环境变量生效

    (5)启动hdfs和yarn

    以上步骤都执行完成后,用hadoop用户登录到mr5机器依次执行:

    hdfsnamenode -format

    start-dfs.sh

    start-yarn.sh

    通过jps命令查看:

    mr5成功启动了NameNode、ResourceManager、SecondaryNameNode进程;

    mr6、mr7、mr8成功启动了DataNode、NodeManager进程。

    (6)验证成功状态

    通过以下方式查看节点的健康状态和作业的执行情况:

    浏览器访问(本地需要配置hosts)

    http://mr5:50070/dfshealth.jsp

    http://mr5:8088/cluster

     

     5、hive-0.9.0-cdh4.1.2安装

    (1)安装包准备

    使用hadoop用户上传hive-0.9.0-cdh4.1.2到mr5机器的/home/hadoop/目录下并解压:

         tar zxvf hive-0.9.0-cdh4.1.2

     (2)配置环境变量

    在.bash_profile添加环境变量:

    exportHIVE_HOME=/home/hadoop/hive-0.9.0-cdh4.1.2

    exportPATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${HIVE_HOME}/bin

    exportHIVE_CONF_DIR=$HIVE_HOME/conf

    exportHIVE_LIB=$HIVE_HOME/lib

     添加完后执行以下命令使得环境变量生效:

    ..bash_profile

     (3)修改配置文件

    修改hive配置文件(配置文件目录:hive-0.9.0-cdh4.1.2/conf/)

    在hive-0.9.0-cdh4.1.2/conf/目录下新建hive-site.xml文件,并添加以下配置信息:

       

                   hive.metastore.local true

          

                   javax.jdo.option.ConnectionURL  jdbc:mysql://10.28.169.61:3306/hive_impala?createDatabaseIfNotExist=true

          

                   javax.jdo.option.ConnectionDriverName  com.mysql.jdbc.Driver

              

                    javax.jdo.option.ConnectionUserName  hadoop

          

                    javax.jdo.option.ConnectionPassword  123456

       

                    hive.security.authorization.enabled   false

          

                    hive.security.authorization.createtable.owner.grants  ALL

          

                    hive.querylog.location  ${user.home}/hive-logs/querylog

          

    (4)验证成功状态

    完成以上步骤之后,验证hive安装是否成功

    在mr5命令行执行hive,并输入”show tables;”,出现以下提示,说明hive安装成功:

    >hive

    hive>show tables;

    OK

    Time taken:18.952 seconds

    hive>

     

    6、impala安装

    说明:

    (1)、以下1、2、3、4步是在root用户分别在mr5、mr6、mr7、mr8下执行

    (2)、以下第5步是在hadoop用户下执行

    (1)安装依赖包:

    安装mysql-connector-java:

        yum install mysql-connector-java

    安装bigtop

    rpm -ivh bigtop-utils-0.4+300-1.cdh4.0.1.p0.1.el6.noarch.rpm

    安装libevent

    rpm -ivhlibevent-1.4.13-4.el6.x86_64.rpm

    如存在其他需要安装的依赖包,可以到以下链接:

    http://mirror.bit.edu.cn/centos/6.3/os/x86_64/Packages/进行下载。

    (2)安装impala的rpm,分别执行

    rpm -ivh impala-0.3-1.p0.366.el6.x86_64.rpm

    rpm -ivh impala-server-0.3-1.p0.366.el6.x86_64.rpm

    rpm -ivh impala-debuginfo-0.3-1.p0.366.el6.x86_64.rpm

    rpm -ivh impala-shell-0.3-1.p0.366.el6.x86_64.rpm

    (3)找到impala的安装目录

    完成第1步和第2步后,通过以下命令:

    find / -name impala

    输出:

    /usr/lib/debug/usr/lib/impala

    /usr/lib/impala

    /var/run/impala

    /var/log/impala

    未完:因为对于服务器内存要求比较严格,所以没有安装测试,就先了解了解运行机制吧

  • 相关阅读:
    測试能否发表博客
    换站点Logo图片---轻开电子商务系统(企业入门级B2C站点)
    后台运行命令:&和nohup command & 以及关闭、查看后台任务
    HttpClient将手机上的数据发送到服务器
    支付宝电脑网站支付
    远程使用tomcat8的首页的管理工具
    数据结构之链表基本操作
    数据结构之链表反向打印
    ultraedit开发使用技巧
    charles抓取https中出现unknow
  • 原文地址:https://www.cnblogs.com/zzj0410/p/8649263.html
Copyright © 2011-2022 走看看