主页 > 互联网  > 

Hive配置

Hive配置

目录 1. 引言2. 通过docker-compose联动启动Hadoop和MySQL容器3. 配置Hive3.1 下载并解压Hive-4.0.12.2 配置环境变量2.3 安装mysql-connector的jar包2.4 配置Hive2.4.1 hive-env.sh2.4.2 hive-site.xml2.4.2.1 javax.jdo.option.ConnectionURL2.4.2.2 javax.jdo.option.ConnectionDriverName2.4.2.3 javax.jdo.option.ConnectionUserName2.4.2.4 javax.jdo.option.ConnectionPassword2.4.2.5 修改\${system:java.io.tmpdir}和\${system:user.name} 2.4.3 初始化Hive数据库2.4.4 在core-site.xml中增加配置 4. 验证hive参考

1. 引言

  尽管我使用了华为云主机,但是我发现C盘的健康度还是在掉,因此我有回归使用docker了。反正没使用docker的这些天,我甚至在本地笔记本上都不写代码,只玩无限暖暖。甚至都不是木马病毒的问题。   配置时,Hadoop容器的镜像是mengsui/hadoop_ubuntu24.04:1.4,mysql容器的镜像是ubuntu/mysql:latest。Hadoop容器负责Hadoop、HBase、Hive。   通过docker使用配置好的容器的方法见下面2。

2. 通过docker-compose联动启动Hadoop和MySQL容器

  docker-compose.yml文件:

services: hadoop: container_name: hadoop_ubuntu image: mengsui/hadoop3.3.6_ubuntu24.04:1.0 depends_on: - mysql ports: - "8080:8080" - "8088:8088" - "9870:9870" - "16010:16010" - "16030:16030" networks: hadoop_network: ipv4_address: 172.18.0.2 mysql: container_name: mysql_ubuntu image: ubuntu/mysql:latest ports: - "3306:3306" - "33060:33060" environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - mysql_data:/var/lib/mysql:rw networks: hadoop_network: ipv4_address: 172.18.0.3 networks: hadoop_network: driver: bridge ipam: config: - subnet: 172.18.0.0/24 ip_range: 172.18.0.0/24 gateway: 172.18.0.254 volumes: mysql_data:

  运行命令:docker compose -f 'docker-compose.yml' up -d --build。   最终在hadoop_ubuntu24.04容器中先start-dfs.sh && start-yarn.sh,再运行schematool -dbType mysql -initSchema即可(如果你运行后删除了这两个容器,而没有删除docker中的volume的话,则不需要重新运行schematool -dbType mysql -initSchema)。

3. 配置Hive 3.1 下载并解压Hive-4.0.1

  解压命令:

cd ~ wget dlcdn.apache.org/hive/hive-4.0.1/apache-hive-4.0.1-bin.tar.gz tar -zxvf apache-hive-4.0.1-bin.tar.gz -C . mv apache-hive-4.0.1-bin hive-4.0.1 2.2 配置环境变量

  用sudo vim /etc/profile编辑环境变量,输入如下内容,然后按ESC输入:wq!保存,最后用source /etc/profile使环境变量生效。

export HIVE_HOME=/root/hive-4.0.1 export PATH=$PATH:$HIVE_HOME/bin 2.3 安装mysql-connector的jar包

  首先从MySQL官网上下载对应系统版本的mysql-connector/J,然后安装,最后将安装的mysql-connector的jar包复制到~/hive-4.0.1/lib。

cd /tmp wget cdn.mysql //Downloads/Connector-J/mysql-connector-j_9.2.0-1ubuntu24.04_all.deb apt install ./mysql-connector-j_9.2.0-1ubuntu24.04_all.deb -y cp /usr/share/java/mysql-connector-j-9.2.0.jar /root/hive-4.0.1/lib 2.4 配置Hive 2.4.1 hive-env.sh

  在~/hive-4.0.1/conf路径下使用cp hive-env.sh.template hive-env.sh产生hive-env.sh文件,然后用vim hive-env.sh编辑文件,在文件末尾输入如下内容,然后按ESC输入:wq!保存。

export HADOOP_HOME=/root/hadoop-3.3.6 export JAVA_HOME=/lib/jvm/openjdk-8-amd64 export HIVE_HOME=/root/hive-4.0.1 2.4.2 hive-site.xml

  在~/hive-4.0.1/conf路径下使用cp hive-default.xml.template hive-site.xml产生hive-site.xml,然后用vim hive-site.xml编辑文件。

2.4.2.1 javax.jdo.option.ConnectionURL

  通过vim自带的匹配功能查找指定配置:输入/javax.jdo.option.ConnectionURL,然后回车,接着按n键查找到指定项后,按i进行编辑,其中172.18.0.3是MySQL容器的ip地址。

2.4.2.2 javax.jdo.option.ConnectionDriverName

  按ESC,通过vim自带的匹配功能查找指定配置:输入/javax.jdo.option.ConnectionDriverName,然后回车,接着按n键查找到指定项后,按i进行编辑。

2.4.2.3 javax.jdo.option.ConnectionUserName

  按ESC,通过vim自带的匹配功能查找指定配置:输入/javax.jdo.option.ConnectionUserName,然后回车,接着按n键查找到指定项后,按i进行编辑,其中root是mysql容器中数据库的用户名。

2.4.2.4 javax.jdo.option.ConnectionPassword

  按ESC,通过vim自带的匹配功能查找指定配置:输入/javax.jdo.option.ConnectionPassword,然后回车,接着按n键查找到指定项后,按i进行编辑,其中123456是mysql容器中数据库root用户的密码。

2.4.2.5 修改${system:java.io.tmpdir}和${system:user.name}

  按ESC,通过vim自带的匹配功能查找指定配置:输入/${system:java.io.tmpdir}或/${system:user.name},然后回车,接着按n键查找到指定项后,按i进行编辑,分别改为/root/data/tmp和root。

2.4.3 初始化Hive数据库

  命令:schematool -dbType mysql -initSchema。   然后在mysql容器中用mysql -u root -p123456登录mysql,在其中输入如下内容。

grant all privileges on hive.* to 'root'@'%'; flush privileges; 2.4.4 在core-site.xml中增加配置

  在~/hadoop-3.3.6/etc/hadoop路径下的core-site.xml中增加如下配置。

<property> <name>hadoop.proxyuser.root.hosts</name> <value>172.18.0.2,172.18.0.3</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>root</value> </property> 4. 验证hive

  启动Hadoop:start-dfs.sh && start-yarn.sh。   启动Hive:

nohup hive --service metastore & nohup hive --service hiveserver2 &

  验证HIve:beeline -u "jdbc:hive2://172.18.0.2:10000" -n root。

参考

吴章勇 杨强著 大数据Hadoop3.X分布式处理实战

标签:

Hive配置由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Hive配置