1 Star 0 Fork 0

shampoo6 / cjsf-20dsj1

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
安装hive.md 3.27 KB
一键复制 编辑 原始数据 按行查看 历史
shampoo6 提交于 2023-05-25 09:11 . update

安装hive

解压压缩包

复制 apache-hive-2.1.0-bin.tar.gz/opt

解压 tar -zvxf apache-hive-2.1.0-bin.tar.gz

重命名 mv apache-hive-2.1.0-bin hive-2.1.0

配置环境变量

export HIVE_HOME=/opt/hive-2.1.0
export HCAT_HOME=$HIVE_HOME/hcatalog
export HIVE_CONF=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin

应用环境变量 source ~/.bashrc

配置 hive-site.xml

复制配置文件

cp conf/hive-default.xml.template conf/hive-site.xml

编辑 hive-site.xml 文件

修改指定 name 的内容

<!-- 以下property需要修改,其余的不用 -->
<property>
  <!-- 数据库连接字串 -->
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8&amp;createDatabaseIfNotExist=true</value>
  <description>
    JDBC connect string for a JDBC metastore.
    To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
    For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
  </description>
</property>
<property>
  <!-- 驱动名 -->
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>
<property>
  <!-- 数据库账号 -->
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
  <description>Username to use against metastore database</description>
</property>
<property>
  <!-- 数据库密码 -->
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>111111</value>
  <description>password to use against metastore database</description>
</property>
<!-- 允许任何人访问 -->
<property>
  <name>hive.server2.authentication</name>
  <value>NOSASL</value>
</property>
<!-- 禁用代理功能 -->
<property>
  <name>hive.server2.enable.doAs</name>
  <value>false</value>
</property>
<!-- hive远程传输方式改为http,这样的话就能在客户端用http访问数据库了 -->
<property>
    <name>hive.server2.transport.mode</name>
    <value>http</value>
    <description>
      Expects one of [binary, http].
      Transport mode of HiveServer2.
    </description>
</property>

注意: 删除 3215 行的特殊字符 &#8 否则会报错

替换配置文件中的 ${system:java.io.tmpdir} 和 ${system:user.name}

创建一个用于保存缓存数据的文件夹,例如: 在 hive-2.3.9 下创建 tmp 目录,然后替换 ${system:java.io.tmpdir}

将所有 ${system:user.name} 替换成 ${user.name}

复制 mysql-connector-java-8.0.30.jar 到 lib 目录

解决 guava 冲突

删除 hive 下的 lib/guava-*.jar

hadoopguava $HADOOP_HOME/share/hadoop/hdfs/lib 复制到 hivelib/

启动 hive

先初始化元数据

bin/schematool -dbType mysql -initSchema

因为 hive 是依赖 hadoop 的,所以先启动 hadoop

start-dfs.sh && start-yarn.sh

然后启动 hive

hive

创建 hive 数据库

hive 中,命令很多和 mysql 相同,我们先初始化一个名为 hive 的数据库,用于未来的操作

-- 创建 hive 库
create database hive;
-- 显示数据库
show databases;

启动 hive 数据库服务

hiveserver2
1
https://gitee.com/shampoo6/cjsf-20dsj1.git
git@gitee.com:shampoo6/cjsf-20dsj1.git
shampoo6
cjsf-20dsj1
cjsf-20dsj1
master

搜索帮助