ubuntu安装hive并配置mysql

下载hive

https://mirror.bit.edu.cn/apache/hive/
https://mirrors.bfsu.edu.cn/apache/hive/
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

安装hive

cd ~/Downloads
sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz 
mv apache-hive-3.1.2-bin /usr/local
cd /usr/local
mv apache-hive-3.1.2-bin hive

配置环境变量

#sudo gedit /etc/profile
sudo vi /etc/profile

# 写入下面内容
# HIVE_HOME
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH

# 刷新配置
source /etc/profile

安装MySql服务器

  1. 安装 mysql 服务器

    sudo apt-get update
    sudo apt-get install -y mysql-server mysql-client
    
  2. 查看产生的随机密码

    sudo gedit /etc/mysql/debian.cnf
    
  3. 查看mysql状态

    sudo gedit /etc/mysql/debian.cn
    
  4. 登录mysql

    sudo mysql -u debian-sys-maint -p
    
  5. 登录成功后修改root密码

    use mysql;
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    
    exit;
    
  6. 使用root账户登录

    mysql -u root -p
    

    查询user表

    use mysql;
    select host,user from user;
    

    在这里插入图片描述
    修改user表,把Host表内容修改为%

    update user set host='%' where host='localhost';
    

Hive元数据配置到MySql

  1. 驱动下载
    https://dev.mysql.com/downloads/connector/j/

  2. 将mysql-connector-java-8.0.22.jar复制到/usr/local/hive/lib目录下

    sudo cp mysql-connector-java-8.0.22.jar /usr/local/hive/lib/
    
  3. 配置Metastore到MySql

    cd $HIVE_HOME/conf
    sudo gedit hive-site.xml
    

    根据官方文档配置参数https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
    	<property>
    	  <name>javax.jdo.option.ConnectionURL</name>
    	  <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true</value>
    	  <description>JDBC connect string for a JDBC metastore</description>
    	</property>
    
    	<property>
    	  <name>javax.jdo.option.ConnectionDriverName</name>
    	  <value>com.mysql.cj.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>123456</value>
    	  <description>password to use against metastore database</description>
    	</property>
    	<!-- 添加如下配置信息,就可以实现显示当前数据库,以及查询表的头信息配置 -->
    	 <property>
          <name>hive.cli.print.header</name>
          <value>true</value>
        </property>
    
        <property>
          <name>hive.cli.print.current.db</name>
          <value>true</value>
        </property>
    
    </configuration>
    

初始化元数据库

cd $HIVE_HOME/bin
./schematool -dbType mysql -initSchema

在 mysql 下输入 show databases;
在这里插入图片描述

hadoop创建目录

启动 hadoop 集群

start-all.sh
# start-dfs.sh
# start-yarn.sh

在 Hive 建表之前,创建 /tmp 和/user/hive/warehouse文件目录

cd $HADOOP_HOME/bin
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

猜你喜欢

转载自blog.csdn.net/weixin_44018458/article/details/110940084
今日推荐