yum安装CDH5.5 hive、impala的过程详解

一、安装hive

组件安排如下:

172.16.57.75 bd-ops-test-75 mysql-server
172.16.57.77 bd-ops-test-77 Hiveserver2 HiveMetaStore

1.安装hive

在77上安装hive:

# yum install hive hive-metastore hive-server2 hive-jdbc hive-hbase -y

在其他节点上可以安装客户端:

# yum install hive hive-server2 hive-jdbc hive-hbase -y

2.安装mysql

yum方式安装mysql:

# yum install mysql mysql-devel mysql-server mysql-libs -y

启动数据库:

# 配置开启启动
# chkconfig mysqld on
# service mysqld start

安装jdbc驱动:

# yum install mysql-connector-java
# ln -s /usr/share/java/mysql-connector-java.jar /usr/lib/hive/lib/mysql-connector-java.jar

设置mysql初始密码为bigdata:

# mysqladmin -uroot password 'bigdata'

进入数据库后执行如下:

CREATE DATABASE metastore;
USE metastore;
SOURCE /usr/lib/hive/scripts/metastore/upgrade/mysql/hive-schema-1.1.0.mysql.sql;
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'localhost';
GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'%';
FLUSH PRIVILEGES;

注意:创建的用户为 hive,密码为 hive ,你可以按自己需要进行修改。

修改 hive-site.xml 文件中以下内容:

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://172.16.57.75:3306/metastore?useUnicode=true&characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>

3.配置hive

修改/etc/hadoop/conf/hadoop-env.sh,添加环境变量 HADOOP_MAPRED_HOME,如果不添加,则当你使用 yarn 运行 mapreduce 时候会出现 UNKOWN RPC TYPE 的异常

export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce

在 hdfs 中创建 hive 数据仓库目录:

hive 的数据仓库在 hdfs 中默认为 /user/hive/warehouse,建议修改其访问权限为 1777,以便其他所有用户都可以创建、访问表,但不能删除不属于他的表。

每一个查询 hive 的用户都必须有一个 hdfs 的 home 目录( /user 目录下,如 root 用户的为 /user/root)
hive 所在节点的 /tmp 必须是 world-writable 权限的。

创建目录并设置权限:

# sudo -u hdfs hadoop fs -mkdir /user/hive
# sudo -u hdfs hadoop fs -chown hive /user/hive
# sudo -u hdfs hadoop fs -mkdir /user/hive/warehouse
# sudo -u hdfs hadoop fs -chmod 1777 /user/hive/warehouse
# sudo -u hdfs hadoop fs -chown hive /user/hive/warehouse

修改hive-env设置jdk环境变量 :

# vim /etc/hive/conf/hive-env.sh
export JAVA_HOME=/opt/programs/jdk1.7.0_67

启动hive-server和metastore:

# service hive-metastore start
# service hive-server2 start

4、测试

$ hive -e'create table t(id int);'
$ hive -e'select * from t limit 2;'
$ hive -e'select id from t;'

访问beeline:

$ beeline
beeline> !connect jdbc:hive2://localhost:10000;

5、与hbase集成

先安装 hive-hbase:

# yum install hive-hbase -y

如果你是使用的 cdh4,则需要在 hive shell 里执行以下命令添加 jar:

$ ADD JAR /usr/lib/hive/lib/zookeeper.jar;
$ ADD JAR /usr/lib/hive/lib/hbase.jar;
$ ADD JAR /usr/lib/hive/lib/hive-hbase-handler-<hive_version>.jar
# guava 包的版本以实际版本为准。
$ ADD JAR /usr/lib/hive/lib/guava-11.0.2.jar;

如果你是使用的 cdh5,则需要在 hive shell 里执行以下命令添加 jar:

ADD JAR /usr/lib/hive/lib/zookeeper.jar;
ADD JAR /usr/lib/hive/lib/hive-hbase-handler.jar;
ADD JAR /usr/lib/hbase/lib/guava-12.0.1.jar;
ADD JAR /usr/lib/hbase/hbase-client.jar;
ADD JAR /usr/lib/hbase/hbase-common.jar;
ADD JAR /usr/lib/hbase/hbase-hadoop-compat.jar;
ADD JAR /usr/lib/hbase/hbase-hadoop2-compat.jar;
ADD JAR /usr/lib/hbase/hbase-protocol.jar;
ADD JAR /usr/lib/hbase/hbase-server.jar;

以上你也可以在 hive-site.xml 中通过 hive.aux.jars.path 参数来配置,或者你也可以在 hive-env.sh 中通过 export HIVE_AUX_JARS_PATH= 来设置。

二、安装impala

与Hive类似,Impala也可以直接与HDFS和HBase库直接交互。只不过Hive和其它建立在MapReduce上的框架适合需要长时间运行的批处理任务。例如:那些批量提取,转化,加载(ETL)类型的Job,而Impala主要用于实时查询。

组件分配如下:

172.16.57.74 bd-ops-test-74 impala-state-store impala-catalog impala-server
172.16.57.75 bd-ops-test-75 impala-server
172.16.57.76 bd-ops-test-76 impala-server
172.16.57.77 bd-ops-test-77 impala-server

1、安装

在74节点安装:

yum install impala-state-store impala-catalog impala-server -y

在75、76、77节点上安装:

yum install impala-server -y

2、配置

2.1修改配置文件

查看安装路径:

# find / -name impala
/var/run/impala
/var/lib/alternatives/impala
/var/log/impala
/usr/lib/impala
/etc/alternatives/impala
/etc/default/impala
/etc/impala
/etc/default/impala

impalad的配置文件路径由环境变量IMPALA_CONF_DIR指定,默认为/usr/lib/impala/conf,impala 的默认配置在/etc/default/impala,修改该文件中的 IMPALA_CATALOG_SERVICE_HOST 和 IMPALA_STATE_STORE_HOST

IMPALA_CATALOG_SERVICE_HOST=bd-ops-test-74
IMPALA_STATE_STORE_HOST=bd-ops-test-74
IMPALA_STATE_STORE_PORT=24000
IMPALA_BACKEND_PORT=22000
IMPALA_LOG_DIR=/var/log/impala
IMPALA_CATALOG_ARGS=" -log_dir=${IMPALA_LOG_DIR} -sentry_config=/etc/impala/conf/sentry-site.xml"
IMPALA_STATE_STORE_ARGS=" -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT}"
IMPALA_SERVER_ARGS=" \
-log_dir=${IMPALA_LOG_DIR} \
-use_local_tz_for_unix_timestamp_conversions=true \
-convert_legacy_hive_parquet_utc_timestamps=true \
-catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
-state_store_port=${IMPALA_STATE_STORE_PORT} \
-use_statestore \
-state_store_host=${IMPALA_STATE_STORE_HOST} \
-be_port=${IMPALA_BACKEND_PORT} \
-server_name=server1\
-sentry_config=/etc/impala/conf/sentry-site.xml"
ENABLE_CORE_DUMPS=false
# LIBHDFS_OPTS=-Djava.library.path=/usr/lib/impala/lib
# MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
# IMPALA_BIN=/usr/lib/impala/sbin
# IMPALA_HOME=/usr/lib/impala
# HIVE_HOME=/usr/lib/hive
# HBASE_HOME=/usr/lib/hbase
# IMPALA_CONF_DIR=/etc/impala/conf
# HADOOP_CONF_DIR=/etc/impala/conf
# HIVE_CONF_DIR=/etc/impala/conf
# HBASE_CONF_DIR=/etc/impala/conf

设置 impala 可以使用的最大内存:在上面的 IMPALA_SERVER_ARGS 参数值后面添加 -mem_limit=70% 即可。

如果需要设置 impala 中每一个队列的最大请求数,需要在上面的 IMPALA_SERVER_ARGS 参数值后面添加 -default_pool_max_requests=-1 ,该参数设置每一个队列的最大请求数,如果为-1,则表示不做限制。

在节点74上创建hive-site.xml、core-site.xml、hdfs-site.xml的软链接至/etc/impala/conf目录并作下面修改在hdfs-site.xml文件中添加如下内容:

<property>
<name>dfs.client.read.shortcircuit</name>
<value>true</value>
</property>
<property>
<name>dfs.domain.socket.path</name>
<value>/var/run/hadoop-hdfs/dn._PORT</value>
</property>
<property>
<name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
<value>true</value>
</property>

同步以上文件到其他节点。

2.2创建socket path

在每个节点上创建/var/run/hadoop-hdfs:

# mkdir -p /var/run/hadoop-hdfs

2.3用户要求

impala 安装过程中会创建名为 impala 的用户和组,不要删除该用户和组。

如果想要 impala 和 YARN 和 Llama 合作,需要把 impala 用户加入 hdfs 组。

impala 在执行 DROP TABLE 操作时,需要把文件移到到 hdfs 的回收站,所以你需要创建一个 hdfs 的目录 /user/impala,并将其设置为impala 用户可写。同样的,impala 需要读取 hive 数据仓库下的数据,故需要把 impala 用户加入 hive 组。

impala 不能以 root 用户运行,因为 root 用户不允许直接读。

创建 impala 用户家目录并设置权限:

sudo -u hdfs hadoop fs -mkdir /user/impala
sudo -u hdfs hadoop fs -chown impala /user/impala

查看 impala 用户所属的组:

# groups impala
impala : impala hadoop hdfs hive

由上可知,impala 用户是属于 imapal、hadoop、hdfs、hive 用户组的 。

2.4启动服务

在 74节点启动:

# service impala-state-store start
# service impala-catalog start

2.5使用impala-shell

使用impala-shell启动Impala Shell,连接 74,并刷新元数据

#impala-shell
Starting Impala Shell without Kerberos authentication
Connected to bd-dev-hadoop-70:21000
Server version: impalad version 2.3.0-cdh5.5.1 RELEASE (build 73bf5bc5afbb47aa7eab06cfbf6023ba8cb74f3c)
***********************************************************************************
Welcome to the Impala shell. Copyright (c) 2015 Cloudera, Inc. All rights reserved.
(Impala Shell v2.3.0-cdh5.5.1 (73bf5bc) built on Wed Dec 2 10:39:33 PST 2015)
After running a query, type SUMMARY to see a summary of where time was spent.
***********************************************************************************
[bd-dev-hadoop-70:21000] > invalidate metadata;

当在 Hive 中创建表之后,第一次启动 impala-shell 时,请先执行 INVALIDATE METADATA 语句以便 Impala 识别出新创建的表(在 Impala 1.2 及以上版本,你只需要在一个节点上运行 INVALIDATE METADATA ,而不是在所有的 Impala 节点上运行)。

你也可以添加一些其他参数,查看有哪些参数:

#impala-shell -h
Usage: impala_shell.py [options]
Options:
-h, --help show this help message and exit
-i IMPALAD, --impalad=IMPALAD
<host:port> of impalad to connect to
[default: bd-dev-hadoop-70:21000]
-q QUERY, --query=QUERY
Execute a query without the shell [default: none]
-f QUERY_FILE, --query_file=QUERY_FILE
Execute the queries in the query file, delimited by ;
[default: none]
-k, --kerberos Connect to a kerberized impalad [default: False]
-o OUTPUT_FILE, --output_file=OUTPUT_FILE
If set, query results are written to the given file.
Results from multiple semicolon-terminated queries
will be appended to the same file [default: none]
-B, --delimited Output rows in delimited mode [default: False]
--print_header Print column names in delimited mode when pretty-
printed. [default: False]
--output_delimiter=OUTPUT_DELIMITER
Field delimiter to use for output in delimited mode
[default: \t]
-s KERBEROS_SERVICE_NAME, --kerberos_service_name=KERBEROS_SERVICE_NAME
Service name of a kerberized impalad [default: impala]
-V, --verbose Verbose output [default: True]
-p, --show_profiles Always display query profiles after execution
[default: False]
--quiet Disable verbose output [default: False]
-v, --version Print version information [default: False]
-c, --ignore_query_failure
Continue on query failure [default: False]
-r, --refresh_after_connect
Refresh Impala catalog after connecting
[default: False]
-d DEFAULT_DB, --database=DEFAULT_DB
Issues a use database command on startup
[default: none]
-l, --ldap Use LDAP to authenticate with Impala. Impala must be
configured to allow LDAP authentication.
[default: False]
-u USER, --user=USER User to authenticate with. [default: root]
--ssl Connect to Impala via SSL-secured connection
[default: False]
--ca_cert=CA_CERT Full path to certificate file used to authenticate
Impala's SSL certificate. May either be a copy of
Impala's certificate (for self-signed certs) or the
certificate of a trusted third-party CA. If not set,
but SSL is enabled, the shell will NOT verify Impala's
server certificate [default: none]
--config_file=CONFIG_FILE
Specify the configuration file to load options. File
must have case-sensitive '[impala]' header. Specifying
this option within a config file will have no effect.
Only specify this as a option in the commandline.
[default: /root/.impalarc]
--live_summary Print a query summary every 1s while the query is
running. [default: False]
--live_progress Print a query progress every 1s while the query is
running. [default: False]
--auth_creds_ok_in_clear
If set, LDAP authentication may be used with an
insecure connection to Impala. WARNING: Authentication
credentials will therefore be sent unencrypted, and
may be vulnerable to attack. [default: none]

使用 impala 导出数据:

impala-shell -i '172.16.57.74:21000' -r -q "select * from test" -B --output_delimiter="\t" -o result.txt

以上所述是小编给大家介绍的yum安装CDH5.5 hive、impala的过程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • CentOS 5.4 服务器配置 yum安装Apache+php+Mysql

    中国官方镜像网站: http://centos.ustc.edu.cn/ /* 使用说明 */ cd /etc/yum.repos.d[进入yum.repos.d目录] mv CentOS-Base.repo CentOS-Base.repo.save[修改源文件名称备份] wget http://centos.ustc.edu.cn/CentOS-Base.repo.5[下载] mv CentOS-Base.repo.5 CentOS-Base.repo[下载后的文件更名] 1. 更新系统内核

  • CentOS 5 上安装yum的方法

    下面有两种办法可以安装yum: 一.下载yum的rpm包直接安装 http://centos.ustc.edu.cn/centos/5.4/os/i386/CentOS/yum-3.2.22-20.el5.centos.noarch.rpm http://centos.ustc.edu.cn/centos/5.4/os/i386/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm 下载到某个目录之后,执行下面的命令rpm -ivh y

  • CentOS 5.5使用yum来安装LAMP(php运行环境)

    1. 换源,sohu的相当好用. 1.1备份CentOS-Base.repo cd /etc/yum.repos.d/ cp CentOS-Base.repo CentOS-Base.repo.bak 1.2替换源 用vi打开CentOS-Base.repo,并将内容清空,然后将下面的内容复制进去,并保存. # CentOS-Base.repo # # This file uses a new mirrorlist system developed by Lance Davis for Cent

  • CentOS 6.5下yum安装 MySQL-5.5全过程图文教程

    在linux安装mysql是一个困难的事情,yum安装一般是安装的mysql5.1,现在经过自己不懈努力终于能用yum安装mysql5.5了.下面通过两种方法给大家介绍CentOS 6.5下yum安装 MySQL-5.5全过程,一起学习吧. 方法一: 具体方法和步骤如下所示: 1.第一步就是看linu是否安装了mysql,经过rpm -qa|grep mysql查看到centos下安装了mysql5.1,那就开始卸载咯 2.接下来就是卸载mysql5.1了,命令:rpm -e mysql-lib

  • centos6利用yum安装php mysql gd的步骤

    系统:Centos6.0 32位 一.安装mysql #yum -y install mysql mysql-server mysql-devel 配置mysql开机启动服务 #chkconfig --add mysqld (在服务清单中添加mysql服务) #chkconfig mysqld on (设置mysql服务随开机启动) #service mysqld start (启动mysql服务) 二.安装PHP #yum -y install php #service httpd resta

  • yum安装CDH5.5 hive、impala的过程详解

    一.安装hive 组件安排如下: 172.16.57.75 bd-ops-test-75 mysql-server 172.16.57.77 bd-ops-test-77 Hiveserver2 HiveMetaStore 1.安装hive 在77上安装hive: # yum install hive hive-metastore hive-server2 hive-jdbc hive-hbase -y 在其他节点上可以安装客户端: # yum install hive hive-server2

  • Windows安装Anaconda3的方法及使用过程详解

    一.环境 windows 二.下载 进入Anaconda 官网进行下载 安装 找到安装包所在的目录,双击安装包 点击 Next 点击 I Agree 根据个人需要选择 Just Me 或者 All Users,然后点击 Next 选择安装路径,然后点击 Next 点击 Install 等待安装完成,点击 Next 点击 Next​​​​​​​ 点击 Finish 安装完成 三.创建 Python 虚拟环境 conda create -n your_env_name python=X.X    #

  • Docker安装Presto连接Hive的详细过程

    1.简介 Presto 是一个开源分布式 SQL 查询引擎,用于针对从千兆字节到 PB 级的各种规模的数据源运行交互式分析查询.Presto 允许查询数据所在的位置,包括 Hive.Cassandra.关系数据库甚至专有数据存储.单个 Presto 查询可以组合来自多个来源的数据,从而允许对整个组织进行分析. 2.下载安装 1)下载镜像 docker pull starburstdata/presto 2)下载客户端jar 因为pull下来的镜像是server,是没有presto-cli命令的,

  • Redis3.2.11在centos9安装与卸载过程详解

    首先更新yum环境 yum -y update 1.安装gcc环境 yum -y install gcc 2.首先下载redis安装包 cd /home/apps wget http://download.redis.io/releases/redis-3.2.11.tar.gz 3.解压 tar xzvf redis-3.2.11.tar.gz mv redis-3.2.11 /home/software/ 4.编译 cd /home/software/redis-3.2.11 make 5.

  • 开源数据库postgreSQL13在麒麟v10sp1源码安装过程详解

    一.中标麒麟v10sp1在飞腾2000+系统安装略 二.系统依赖包安装 [root@ft2000db opt]# yum install bzip* [root@ft2000db opt]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server release V10 (Tercel) Kernel: 4.19.90-17.ky10.aarch64 Buil

  • Mysql 5.7.18安装方法及启动MySQL服务的过程详解

    MySQL 是一个非常强大的关系型数据库.但有些初学者在安装配置的时候,遇到种种的困难,在此就不说安装过程了,说一下配置过程.在官网下载的MySQL时候,有msi格式和zip格式.Msi直接运行安装即可,zip则解压在自己喜欢的目录地址即可.在安装这两种的时候,都需要配置才能用.以下介绍主要是msi格式默认的地址:C:\Program Files\ mysql-5.7.18-win32. 一.在安装或者解压后,需要配置环境变量,过程如下:我的电脑->属性->高级系统设置->高级->

  • 使用YUM在Linux(CentOS 7)下安装mysql 5.7.18的教程详解

    项目需要使用MySQL,由于以前都是在windows下傻瓜式安装,基本没有遇到什么问题,但是这次是在服务器上安装,由于到Linux上安装软件不熟悉,走了不少弯路,耽误了好多时间.总结下来,以免下次再走弯路. ****************************图片插入不成功,不知道是怎么回事********************************* 一.各种环境: linux版本:CentOS Linux release 7.2.1511 (core) mysql版本:communi

  • 基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查是否安装了pip 打开一个终端窗口,并执行如下命令: Python2.7中: zhuzhu@zhuzhu-K53SJ:~$ pip --version pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7) Python3.X中: z

  • mysql下载与安装过程详解

    1:下载MySql 官网下载地址:https://dev.mysql.com/downloads/mysql/ 选择对应的下载文件.(我电脑是64位,所以这下载的是64位的下载文件) 2:安装MySql 打开下载文件解压到指定文件目录.(我这里解压目录为D:\mysql-5.7.21-winx64) 打开解压后的MySql文件在根目录下创建my.ini (mysql配置文件) my.ini文件内容如下: (建议直接复制粘贴下面文件) 这里需要将basedir 与 datadir 路径改成mysq

  • yum下载docker安装包安装到离线机器的实例代码详解

    1.在可联网机器上,使用默认centosyum源 [root@kole ~]# pwd /root [root@kole ~]# [root@kole ~]# cd docker/ [root@kole docker]# yum install --downloadonly --downloaddir=/root/docker docker [root@kole docker]# ll total 38800 -rw-r--r-- 1 root root 35780 Oct 2 00:52 at

随机推荐