HIVE的安装与配置实验
安装此实验需要准备能够安装在Linux的mysql的安装包以及hive的安装包,这里推荐区官网下载,
整个实验的安装都是在root模式下进行的
su root #进入root模式,然后输入自己的root模式的密码
MySQL的安装
卸载mariadb
linux系统会自动携带一个数据库,我们需要把它给卸载掉
通过以下代码可以查看mariadb
rpm -qa | grep mariadb
卸载mariadb
yum remove mariadb-libs-5.5.52-1.el7.x86_64 -y
再次查看是否卸载成功
rpm -qa | grep mariadb
上传mysql并解压
这里可以使用xshell或者ftp或者MobaXterm_Portable_v22.2上传到自己的安装路径下,不会上传的自己去csdn里搜索相关的教程,这里不做过多的讲解,
1.创建mysql目录到/usr/local目录下
cd /usr/local
mkdir mysql
2.上传安装包到/usr/local/mysql中,进行解压
tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
3.安装mysql
注意:按照依赖关系依次安装rpm包 依赖关系依次为common→libs→client→server
按照顺序依次输入下列命令
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
yum install -y net-tools
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
4.查看版本
mysql --version
mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper,如果出现该提示,则证明mysql已经安装成功了。
5.启动mysql服务
== 每次开机都要手动启动mysql ==
systemctl start mysqld
== 开机时自动开启mysql ==
systemctl enable mysqld
== 停止mysql服务器==
service mysqld stop
==启动mysql服务器==
service mysqld start
== 查看mysql是否启动==
service mysqld status
6.登录mysql
mysql -uroot -proot
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
提示错误,是因为第一次登录mysql需要使用mysql的临时密码,该密码存放在mysql日志文件中。在 /var/log/mysqld.log 文件中
cd /var/log
查询临时密码
grep -n password mysqld.log
[Note] A temporary password is generated for root@localhost: 0x(g<n074&7W
0x(g<n074&7W 就是mysql自动生成的临时密码
重新登录mysql,隐式登录
mysql -uroot -p
把临时密码粘贴
如果出现 mysql>则登录成功
7.设置免密登录
vim /etc/my.cnf
进入到 mysqld.cnf 这个配置文件,然后在这个配置文件中的 [mysqld] 这一块中加入 **skip-grant-tables **这句话,
重启 MySQL 服务
service mysql restart
二、 Hive 安装
1.使用上传工具上传hive的安装包到/usr/local中,然后解压
tar -zxvf apache-hive-3.1.2-bin.tar.gz
2.将文件夹名改为hive
mv apache-hive-3.1.2-bin hive #apache-hive-3.1.2-bin是解压出来的hive文件,要改为自己解压出来的hive文件
- 修改文件权限
chown -R hadoop:hadoop hive # 修改文件权限
- 配置hive
cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml
5.在这个目录下修改 hive-site.xml
vim hive-site.xml
在configuration添加如下:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.apache.derby.jdbc.EmbeddedDriver</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/local/hive/warehouse</value>
</property>
6.更改guava的版本
如果目录不同的改为自己的目录,特别是其中的Hadoop的安装目录和hive的安装目录
mv /usr/local/hive/lib/guava-19.0.jar /usr/local/hive/lib/guava-19.0.jar.bak
cp /usr/local/hadoop/share/hadoop/common/lib/guava-27.0-jre.jar /usr/local/hive/lib/
7.初始化数据库
start-dfs.sh
./schematool -initSchema -dbType derby
注意:如果出错
如果出错就把/usr/local/hive/bin/metastore_db删掉
rm -r /usr/local/hive/bin/metastore_db
重新初始化:
cd /usr/local/hive/bin/
./schematool -initSchema -dbType derby
8.使用数据库
cd /usr/local/hive/bin/
输入命令: ./hive
退出 hive> exit;
9.Hive命令行的使用
(2)显示数据库
hive> show databases;
(3)使用default数据库
hive> use default;
(4)显示default数据库中的表
hive> show tables;
(5)创建student表, 并声明文件分隔符’\t’
hive> create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
(6)加载/opt/student.txt 文件到student数据库表中。
###完成此步骤需要提前在opt目中创建student.txt中输入
22 33
1001 hyt
1002 zhangsan
1003 lisi
hive> load data local inpath '/opt/student.txt' into table student;
(7)Hive查询结果
hive> select * from student;
OK
22 33
1001 hyt
1002 zhangsan
1003 lisi
Time taken: 0.408 seconds, Fetched: 4 row(s)