A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 xiaozuoquan 于 2019-10-24 17:11 编辑

impala安装
  • 安装方式

    • 只有cloudera提供了impala的rpm包 且安装rpm包之间会有依赖问题 所有通常是去下载cloudera所有rpm包制作本地yum源 使用yum方式安装
      [AppleScript] 纯文本查看 复制代码
      cdh5.14.0-centos6.tar.gz

  • 配置本地yum源

    • 上传cdh5.14.0-centos6.tar.gz 到一台服务器  要求磁盘够大
      在待上传的机器crt窗口中 按下  alt+p  打开sftp 会话窗口
      使用put e://xxxxx.tar.gz
    • 解压安装包到可以放的下的路径
    • 安装httpd服务器 对外提供yum访问
      [AppleScript] 纯文本查看 复制代码
      yum -y install httpd
      service httpd start
      chkconfig httpd on
    • 创建软链接
      [AppleScript] 纯文本查看 复制代码
      ln -s /cloudera_data/cdh/5.14.0 /var/www/html/cdh5.14.0

      ln -s 真实文件夹路径  虚拟的路径
    • 修改本地yum源配置
      [AppleScript] 纯文本查看 复制代码
      cd /etc/yum.repos.d
      vim localimp.repo
      ​
      [localimp]
      name=localimp
      baseurl=http://node-3/cdh5.14.0/
      gpgcheck=0
      enabled=1
    • 永久确保 linux 的 Selinux 关闭
      [AppleScript] 纯文本查看 复制代码
      vim /etc/sysconfig/selinux
      SELINUX=enforcing 改为 SELINUX=disabled

      重启服务 reboot
    • 把本地yum源的配置文件复制其他的机器上
    • yum在线安装的impala

      • node-3
        [AppleScript] 纯文本查看 复制代码
        yum install -y impala impala-server impala-state-store impala-catalog impala-shell
      • node-2  node-1
        [AppleScript] 纯文本查看 复制代码
        yum install -y impala-server
      • 安装之后检查yum安装日志  确保impala相关rpm成功安装
      • Q:服务的缺失
        [AppleScript] 纯文本查看 复制代码
        Installed:
          impala.x86_64 0:2.11.0+cdh5.14.0+0-1.cdh5.14.0.p0.50.el6                                                            
          impala-server.x86_64 0:2.11.0+cdh5.14.0+0-1.cdh5.14.0.p0.50.el6                                                     
          impala-shell.x86_64 0:2.11.0+cdh5.14.0+0-1.cdh5.14.0.p0.50.el6  
                                                           

        Dependency Installed:
        现象:
        缺少 impala-state-store  impala-catalog
        原因之前的卸载不干净对于当前的影响
        解决
        首先卸载干净
        [AppleScript] 纯文本查看 复制代码
        rpm -qa |grep impala-state-store
        impala-state-store-2.11.0+cdh5.14.0+0-1.cdh5.14.0.p0.50.el6.x86_64


        [AppleScript] 纯文本查看 复制代码
        rpm -e impala-state-store-2.11.0+cdh5.14.0+0-1.cdh5.14.0.p0.50.el6.x86_64 --nodeps  卸载不掉??????

        原因:之前卸载的时候提前把rpm包的目录给卸载了

        如果在删除包之前删除了包的目录???

        [AppleScript] 纯文本查看 复制代码
        rpm -e  impala-state-store-2.11.0+cdh5.14.0+0-1.cdh5.14.0.p0.50.el6.x86_64 --noscripts
        ​

        最后重新安装:
        [AppleScript] 纯文本查看 复制代码
        yum install impala-state-store 


        impala-catalog 的修复如上。

  • 修改hadoop  hive配置

    • hive  确保hive metastore服务是单独配置 单独启动的
      [AppleScript] 纯文本查看 复制代码
      conf/hive-site.xml
              <property> <!-- metastore服务地址-->
                  <name>hive.metastore.uris</name>
                  <value>thrift://node-1:9083</value>
              </property>
    • 把hive的安装包复制给其他机器
      [AppleScript] 纯文本查看 复制代码
      scp -r /export/servers/hive/ node-2:/export/servers/
      scp -r /export/servers/hive/ node-3:/export/servers/

  • 修改hadoop配置

    • 创建一个文件夹 用于本地读取数据的交换
      [AppleScript] 纯文本查看 复制代码
      mkdir -p /var/run/hdfs-sockets
    • 修改配置文件开启本地读取数据的能力
      [AppleScript] 纯文本查看 复制代码
      hdfs-site.xml
      <property>
          <name>dfs.client.read.shortcircuit</name>
          <value>true</value>
      </property>
      <property>
          <name>dfs.domain.socket.path</name>
          <value>/var/run/hdfs-sockets/dn</value>
      </property>
      <property>
          <name>dfs.client.file-block-storage-
          locations.timeout.millis</name>
          <value>10000</value>
      </property>
      <property>
          <name>dfs.datanode.hdfs-blocks-
          metadata.enabled</name>
          <value>true</value>
      </property>
    • 把该配置文件复制给其他的机器
      [AppleScript] 纯文本查看 复制代码
      cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/
      ​
      scp -r hdfs-site.xml node-2:$PWD
      scp -r hdfs-site.xml node-3:$PWD
    • 启动hadoop  再启动hive
      确保Safemode is off.
      启动hive
      只需要启动metastore服务
      [AppleScript] 纯文本查看 复制代码
      nohup /export/servers/hive/bin/hive --service metastore &

  • 修改impala配置

    • 修改impala默认配置
      所有节点更改 impala 默认配置文件
      [AppleScript] 纯文本查看 复制代码
      vim /etc/default/impala
      IMPALA_CATALOG_SERVICE_HOST=node-3
      IMPALA_STATE_STORE_HOST=node-3
    • 添加mysql驱动
      使用软链接 把机器上任何一个mysql驱动链接到impala指定的路径下
      [AppleScript] 纯文本查看 复制代码
      ln -s /export/servers/hive/lib/mysql-connector-java-5.1.32.jar /usr/share/java/mysql-connector-java.jar
    • 修改bigtop
      修改 bigtop 的 java_home 路径(3 台机器)
      [AppleScript] 纯文本查看 复制代码
      vim /etc/default/bigtop-utils
      export JAVA_HOME=/export/servers/jdk1.8.0_65




  • 启动impala集群

    • 启动命令见讲义
    • 启动之后一定去查看各个机器上的进程是否正常
      ps -ef |grep impala
      • 如果进程不正常 首先去看日志 确定问题
        /var/log/impala
      • 如果日志中也没有报错信息  怀疑之前的卸载不干净造成的
      • 如果卸载重新安装也无法解决   在配置impala的时候 能不能去加载到hadoop hive的配置
        把hadoop和hive的相关配置文件 加载到impala配置文件路径下
        [AppleScript] 纯文本查看 复制代码
        cp -r /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml  /etc/impala/conf/core-site.xml
        cp -r /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml  /etc/impala/conf/hdfs-site.xml
        cp -r /export/servers/hive/conf/hive-site.xml  /etc/impala/conf/hive-site.xml


  • 最后一个大坑

    • impala在yum安装的时候 会默认把hadoop生态圈软件默认安装一遍
      且把脚本放置在/usr/bin 路径 权限最高 覆盖我们系统环境变量的配置

      • 解决: 删除该脚本即可 重新连接终端
        [AppleScript] 纯文本查看 复制代码
        rm -rf /usr/bin/hadoop
        rm -rf /usr/bin/hive
        rm -rf /usr/bin/hbase
      • 最好  把impala服务重新启动 保证服务的干净




    impala使用注意事项
    • impala访问hive的时候 是以impala用户来访问的  涉及针对hdfs所有操作 可能都会遇到权限不足的问题
      比如去创建数据库 插入数据  等

      • 更改文件夹的权限
        [AppleScript] 纯文本查看 复制代码
        hadoop fs -chmod -R 777 hdfs://node-1:9000/user/hive
      • 或者直接关闭hdfs权限检查
        hdfs-site.xml
    • impala的数据发生改变 hive可以实时看到改变 impala最终修改的就是hive的元数据。
    • hive的数据发生改变 impala并不能实时看到改变 需要自己手动刷新元数据

      • 针对单个表的增量刷新(表存在 数据增加)
        [AppleScript] 纯文本查看 复制代码
        refresh dbname.tablename
      • 针对整个hive的元数据刷新(新增数据库 表)
        [AppleScript] 纯文本查看 复制代码
        invalidate metadata
      • 造成以上原因的就是因为impala catalog  

        • 只能单方向同步元数据  impala---->hive  反之不可以





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马