配置hive环境以及mysql配置后必须做
1、先在主节点上安装阿里云配置(看别的文档)
2、把需要的两个jar包加入进来(放到hadoop用户目录下面即可即/home/hadoop/)
mysql-connector-java-5.1.47.tar.gz
apache-hive-2.3.4-bin.tar.gz
3、解压压缩包(在hadoop用户主节点下运行)
下载地址
然后下载hive文件
http://mirror.bit.edu.cn/apache/hive/hive-2.3.4/
或者这个
MySQL Java 连接器添加到 $HIVE_HOME/lib 目录下(后续创建)。我安装时使用的是 mysql-connector-java- 5.1.47.jar。
在mysql-connector-java-5.1.47.tar.gz解压后的下面
https://dev.mysql.com/downloads/connector/j/
http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/
运行程序
tar -xvf apache-hive-2.3.4-bin.tar.gz -C hadoop_home/
tar -xvf mysql-connector-java-5.1.47.tar.gz
4、配置环境变量
vi ~/.profile
export HIVE_HOME=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin
export PATH=$PATH:$HIVE_HOME/bin
source ~/.profile
5、在apache-hive-2.3.4-bin/conf
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
6、修改hive-env.sh
因为 Hive 使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:
export JAVA_HOME=/home/hadoop/hadoop_home/jdk1.8.0_181 ##Java路径
export HADOOP_HOME=/home/hadoop/hadoop_home ##Hadoop安装路径
export HIVE_HOME=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin ##Hive安装路径
export HIVE_CONF_DIR=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin/conf ##Hive配置文件路径
7、然后apt-get install mysql-server
若是没有设置密码
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码
4.重置mysql密码
$ mysql -u root
1
登录时有可能报这样的错:
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)
1
原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
$ sudo chown -R root:root /var/lib/mysql
1
5.重启mysql服务
$ service mysqld restart 或者/etc/init.d/mysql restart
1
6.接下来登录重置
$ mysql -u root //直接回车进入mysql控制台
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
进入以下界面
cd /etc/mysql/mysql.conf.d
然后
vi vi mysqld.cnf
把最下面的bind-address =127.0.0.1
注释掉就好(后面sqoop用到)
8设置远程连接
mysql> CREATE DATABASE hive;创建数据库
mysql> USE hive;进入数据库
mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';创建hive用户,并且密码为hive,允许本地登录
mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive';把hive数据库的内容到hive用户下,即配置权限
mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
mysql> FLUSH PRIVILEGES;
mysql> quit;
在root用户下执行
service mysqld restart 或者/etc/init.d/mysql restart
重启服务
9创建HDFS目录
在 Hive 中创建表之前需要创建以下 HDFS 目录并给它们赋相应的权限。
先启动集群 :start-all.sh
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir -p /user/hive/tmp
hdfs dfs -mkdir -p /user/hive/log
hdfs dfs -chmod g+w /user/hive/warehouse
hdfs dfs -chmod g+w /user/hive/tmp
hadoop fs -chmod -R 777 /user/hive/tmp
hdfs dfs -chmod g+w /user/hive/log
10创建数据库和用户
假定你已经安装好 MySQL。下面创建一个 hive 数据库用来存储 Hive 元数据,且数据库访问的用户名和密码都为 hive。
mysql> CREATE DATABASE hive;
mysql> USE hive;
mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
mysql> FLUSH PRIVILEGES;
mysql> quit;
11修改hive-site.xml
然后在配置文件hive-site.xml中,把所有的${system:java.io.tmpdir} 都替换为/usr/local/hive/tmp (有可能需要转义字符)
把所有的${system:user.name}替换为${user.name}
直接修改为下面这样也可以,注意用户名和密码,对应上一步中mysql创建的用户名和密码
依次查找下面的修改。
<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
12.创建/usr/local/hive/tmp文件夹
切换到root用户执行
mkdir -p /usr/local/hive/tmp
chown -R hadoop:hadoop /usr/local/hive/tmp
chown -R hadoop:hadoop /user/local/hive/tmp 设置权限(root权限下面)
4.运行Hive
在命令行运行 hive 命令时必须保证以下两点:
HDFS 已经启动。可以使用 start-dfs.sh 脚本来启动 HDFS。
运行 schematool 命令来执行初始化操作。
schematool -dbType mysql -initSchema
注意一定要英文下的杠
如果还是失败,一、试一下远成连接能否成功,不成功重新配置远程然后重启数据库二、检查配置或者命令的格式问题三、检查数据库hive下是否会莫名导入很多乱七八糟的包,删除然后重建
然后执行
hive
在最后补充
1)在 hive-site.xml 文件中添加如下配置信息,就可以实现显示当前数据库,以及查询 表的头信息配置。
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
2)重新启动 hive,对比配置前后差异
配置hive环境以及mysql配置后必须做的更多相关文章
- Mac下配置Hive环境
在配置Hive环境之前,需要Hadoop环境. 安装Hive 点击下载 下载结束后,会有一个.tar文件,使用以下命令解压该文件. tar -zxvf 要解压的tar包 解压完成后如下 修改Hive配 ...
- 4.8 Sublime Text3 中配置 Python环境 --之下Sublime配置Python环境
返回总目录 目录: 1.没有配置之前 2.安装Package Control插件 3.安装其他库: 4.配置其他操作: (一)没有配置之前: 我们试着运行以下,会效果怎么样? 1.首先选择Python ...
- 配置开发环境2——eclipse配置
纯手动配置eclipse, Eclipse配置 配置工作空间的编码方式 General—Workspace:改成Other:UTF-8 配置property的编码方式 配置maven Window — ...
- 把项目运行到本地环境及mysql配置
1. 添加本地域名C:\Windows\System32\drivers\etc\hosts 127.0.0.1 local.v7.com 2. 添加一个apache虚拟站点D:\wamp64\bin ...
- CentOS配置java环境,mysql数据库等文章链接
配置jdk 配置jdk 安装mysql8 yum install -y mysql-community-server 安装mysql8 安装redi 安装redis 安装docker 安装docker
- 阿里云乌班图16配置-PHP环境(包括mysql及apache安装)
1. 安装apache apt-get update apt-get install apache2 service apache2 restart 通过浏览器访问服务器的IP,如果出现Apac ...
- 在配置好环境以后,启动tomcat后,出现这个异常
15-Apr-2019 16:48:13.299 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardConte ...
- 配置jdk环境变量和配置的作用
对于JDK要配置三个环境变量,分别是JAVA_HOME.path.classpath 对于我本人电脑来说,配置如下: JAVA_HOME:C:\Program Files\Java\jdk1.8.0_ ...
- CentOS7.2配置LNMP环境并安装配置网站WordPress
1,安装环境查看 2,安装MySQL5.7.22 下载MySQL wget https://downloads.mysql.com/archives/get/file/mysql-5.7.22-1.e ...
随机推荐
- 未注册在本地的Windows 2008 / Windows 7 X64的:'Microsoft.Jet.OLEDB.4.0'提供
在服务器上部署项目的时候遇到如下错误:'Microsoft.Jet.OLEDB.4.0'提供在本地没有注册 服务器是WIN2008 导致这个错误主要有几个原因: 1,服务器上没有装MS Excel中的 ...
- Julia - 整数型
所有的基础数据类型通过灵活用户可扩展的类型提升系统 ,不需显式类型转换,就可以互相运算 整数的默认类型,取决于系统是 32 位还是 64 位 julia> typeof(1) # 32 位系统 ...
- leetcode 数组array
120. Triangle 给出一个三角形(数据数组),找出从上往下的最小路径和.每一步只能移动到下一行中的相邻结点上. 解法,自底向上 The idea is simple. Go from bot ...
- windows下使用SQLPLUS制作BAT执行SQL文件
假如你把需要的SQL操作信息等均放入到一个SQL文件中,需要制作一个bat文件来执行这个sql文件,那么你的bat文件中,在sqlplus登录语句后的信息不能换行,换行的话则执行登录sqlplus后就 ...
- Matplotlib 库 : 绘图和可视化
一.Matplotlib基础知识 1.1Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线 x轴和y轴刻度 tick刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y ...
- winform 实现局部更新(如ajax实现)而整个界面不产生闪烁的解决方案
转自原文winform 实现局部更新(如ajax实现)而整个界面不产生闪烁的解决方案 一.通过对窗体和控件使用双缓冲来减少图形闪烁(当绘制图片时出现闪烁时,使用双缓冲) 对于大多数应用程序,.NET ...
- python:while 语句的使用方法
while语句: count = 0 while True: print(count) count += 1 if count == 10: break 实例: 计算n!,若:n = 5:则:n! = ...
- AlphaTesting
[Alpha Testing] The alpha test is a last chance to reject a pixel from being written to the screen. ...
- screen command of linux
[screen command of linux] 常用键: 补充: Ctrl-a S # split terminal horizon Ctrl-a TAB # switch to ano ...
- 校准liunx时间简单好用的命令
查看时间服务器的时间# rdate time-b.nist.gov 设置时间和时间服务器同步# rdate -s time-b.nist.gov 查看硬件时间 # hwclock 将系统时间写入硬件时 ...