首页 > 其他分享 >Hive单机安装与测试

Hive单机安装与测试

时间:2023-04-30 11:44:06浏览次数:43  
标签:单机 sudo hadoop hive Hive 测试 local 运行 usr

安装MySQL并运行

在当前用户下运行
sudo apt update
sudo apt install mysql-server
安装成功后启动MySQL服务,运行
sudo service mysql start
查看MySQL的默认用户名和密码,运行
sudo cat /etc/mysql/debian.cnf
结果如下:
image
修改MySQL密码,运行
mysqladmin -u debian-sys-maint -p password "123456"
输入自己的密码
然后登录MySQL,运行
mysql -u debian-sys-maint -p
输入自己的密码即可登录MySQL,登录后保持此命令行界面不要关闭,效果如下:
image

创建hadoop账户并配置ssh免密码登录

创建hadoop账户并切换到hadoop账户,运行
sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop
sudo adduser hadoop sudo
su hadoop
结果如下:
image
安装openssh-server,运行
sudo apt install openssh-server
尝试连接,连接成功后退出,这次连接需要输入密码,运行
ssh localhost
exit
配置免密码登录,运行
cd ~/.ssh/
ssh-keygen -t rsa
cat ./id_rsa.pub >> ./authorized_keys
再次尝试连接,这次连接不需要输入密码,连接成功后退出,运行
ssh localhost
exit
效果如下:
image

安装并配置Java

Java版本选择这次实验提供的版本,之前的版本会因为版本号过高报错
下载Java,运行
sudo wget https://repo.huaweicloud.com/java/jdk/8u152-b16/jdk-8u152-linux-x64.tar.gz
解压到/usr/local/下
sudo tar -xzvf jdk-8u152-linux-x64.tar.gz -C /usr/local
重命名
sudo mv /usr/local/jdk1.8.0_152 /usr/local/java
配置环境变量,打开~/.bashrc
sudo vim ~/.bashrc
在其中加入

export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin

如下图所示
image
关闭文件并使环境变量生效,运行
source ~/.bashrc
查看java版本,运行
java -version
可以看到Java的版本号,效果如下
image
此时运行
update-alternatives --display java
会发现报错,没有Java,所以要手动添加Java,运行
sudo update-alternatives --install /usr/bin/java java /usr/local/java/bin/java 4
添加完成后再次运行
update-alternatives --display java
就可以看到Java版本号了,结果如下:
image

安装并配置Hadoop

Hadoop版本使用2.10.0
下载Hadoop,运行
cd /usr/local/
sudo wget https://archive.apache.org/dist/hadoop/common/hadoop-2.10.0/hadoop-2.10.0-src.tar.gz
解压,重命名,配置用户
sudo tar -zxvf hadoop-2.10.0.tar.gz
sudo mv ./hadoop-2.10.0/ ./hadoop
sudo chown -R hadoop ./hadoop
配置环境变量,因为Java已经配置过了,这里只要再添加Hadoop的配置
sudo vim ~/.bashrc
所有配置如下图所示
image
使环境变量生效
source ~/.bashrc
配置Hadoop,运行
sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
配置结果如下,Java要替换成当前版本的路径
image
使Hadoop配置生效,运行
source /usr/local/hadoop/etc/hadoop/hadoop-env.sh
查看Java,Hadoop的版本,运行
java -version
$JAVA_HOME/bin/java -version
hadoop version
结果如下,配置成功
image

安装并配置hive

下载hive,运行
sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.6/apache-hive-2.3.6-bin.tar.gz
解压、重命名、配置用户
sudo tar -xzvf apache-hive-2.3.6-bin.tar.gz -C /usr/local
sudo mv /usr/local/apache-hive-2.3.6-bin /usr/local/hive
sudo chown -R hadoop:hadoop /usr/local/hive
配置环境变量,在~/.bashrc加入

export HIVE_HOME=/usr/local/hive

此时~/.bashrc中的内容如下所示
image
关闭~/.bashrc并使配置生效
source ~/.bashrc
创建hive-site.xml,运行
sudo vim /usr/local/hive/conf/hive-site.xml
里面的内容如下,把MySQL的用户名和密码改成自己的
image
将 hive 上 jline 的 jar 包拷贝至 hadoop 的对应目录下
cp /usr/local/hive/lib/jline-2.12.jar /usr/local/hadoop/share/hadoop/yarn/lib
hive-env.sh配置:没有找到hive-env.sh,但是在/usr/local/hive/conf中有hive-env.sh.template,把该文件重命名为hive-env.sh进行配置,内容如下
image
配置完成后要source,使配置生效
在hdfs上创建warehouse,运行
cd /usr/local
hdfs dfs –mkdir hive/warehouse
这里应该先进入local目录然后创建,如果用绝对路径也可以创建,但是会有警告。
在hadoop上配置yarn-site.xml,文件内容不变,直接拷贝就可以,该文件在/usr/local/hadoop/etc/hadoop/,配置完成后文件部分内容如下:
image
安装MySQL Java驱动,如果不安装后面会无法运行
下载驱动,从官网找到下载路径,运行
sudo wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz
下载完成后解压,把里面的mysql-connector-java-5.1.48.jar拷贝到/usr/local/hive/lib,如下图所示
image
启动Hadoop,运行/usr/local/hadoop/sbin/start-all.sh,结果如下,启动成功
image
初始化 Schema,运行/usr/local/hive/bin/schematool –dbType mysql –initSchema,结果如下,初始化成功
image
服务端启动 metastore,先进入/usr/local/hive,然后运行bin/hive --service metastore,保持该命令行界面运行
客户端启动Hive,另外打开一个命令行界面,用hadoop账户登录,先进入/usr/local/hive,然后运行bin/hive
启动成功

Hive操作

创建数据文件,另外打开一个命令行界面,运行
vim /home/hadoop/data.txt
内容如下:
image
创建数据库,在hive客户端输入

create database companies;

创建成功,然后查询数据库和表,输入

show databases;
show tables;

结果如下,创建成功,查询成功
image
创建数据表,依次输入

create table employee(eid int, name string, salary string, dept string)
row format delimited
fields terminated by ' '
lines terminated by '\n';

结果如下,创建成功:
image

把数据加载到表里,运行

load data local inpath '/home/hadoop/data.txt' into table employee;

结果如下,成功:
image

查询数据,运行

select * from employee;

结果如下,查询成功
image

通过查询结果建表并查询,依次输入

create table dept_admin 
as
select eid, name, salary from employee
where dept='Admin';
select * from dept_admin;

结果如下,创建成功,查询成功
image

image

在表中插入自己的学号姓名,运行

insert into dept_admin(eid,name,salary) values(17341224,'zhuwenlong',500000);

结果如下,插入成功
image

重新查询dept_admin表,出现自己的学号姓名,运行

select * from dept_admin;

结果如下,出现自己的学号姓名
image

遇到的问题

这次实验遇到的问题特别多,主要有下面这些

  1. MySQL没有启动
    安装MySQL后无法进入,上网查询后发现是没有启动MySQL服务,启动后就能进入了。
  2. 默认账户和Hadoop账户分不清
    不知道哪些在默认账户下操作,哪些在Hadoop账户下操作,导致出现错误,后来统一用Hadoop账户操作
  3. 安装Java版本不对
    用之前的Java版本在运行到后面初始化Schema时会报错,重新安装了这次实验的版本,但是配置比较麻烦,update-alternatives那里要手动添加,环境变量和各种配置也要修改。
  4. ssh无法连接
    在自己的虚拟机上运行时ssh总是无法连接,查询各种资料也没找到解决办法,现在感觉可能是22号端口被其他应用占用了。
  5. 配置文件问题
    hive-site.xml要修改后才能正常运行,刚开始只是改了MySQL的用户名和密码,没有发现后面还有一个路径写错了,这个路径写错会导致后面创建数据库失败。
  6. Hive-env.sh没找到
    后来找到了hive-env.sh.template,重命名后就可以配置了。
  7. hdfs上创建warehouse失败
    应该是路径写错了,到local文件夹下运行,把hive前面的\去掉就可以了,用绝对路径也可以创建,但是会有警告。
  8. 没有安装MySQL Java驱动
    没有安装会报错,从官网找到了下载地址下载解压后放到hive的库中就好了
  9. 启动hive时提示找不到命令
    应该是哪里配置错了,没有深究,从网上找到了解决方法,进入hive目录运行 bin\hive,见https://blog.csdn.net/binbinczsohu/article/details/105139018

标签:单机,sudo,hadoop,hive,Hive,测试,local,运行,usr
From: https://www.cnblogs.com/zhuwlong/p/17365077.html

相关文章

  • 单机版hadoop在Linux环境下的安装和配置
    创建hadoop用户首先打开终端窗口,输入如下命令创建hadoop用户,这条命令创建可以登录的hadoop用户,并使用/bin/bash作为shell:$sudouseradd-mhadoop-s/bin/bash接着为hadoop设置登录密码,可简单设为123456,按提示输入两次:$sudopasswdhadoop为hadoop用户增加管理员权限,......
  • 测试博客园的Markdown编辑器的支持语法和解析结果
    @目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学......
  • 4 月 27 日测试题解
    4月27日测试题解最短路专场T1\({\color{green}{\text{100pts}}}\text{/100pts}\)题意给出\(m\)个变量与\(n\)个约束,每个约束形如以下三种中的一种;\(x_i-x_j\lew\)\(x_i-x_j\gew\)\(x_i-x_j=w\)有\(q\)个询问,每个询问为形如\((x_i,x_j)\)的二元......
  • 4 月 21 日测试题解
    4月21日测试题解T1\({\color{green}{\text{100pts}}}\text{/100pts}\)题意给出平面上的两条线段,求线段之间的距离。\(\text{|线段端点坐标|}\le10^4\)。思路一开始想的是分讨,但是又怕自己写挂了,所以就写了三分套三分。至少这个不怕少讨论一个情况。既然是三分套三分,......
  • HPL:多进程CPU性能测试
    使用HPL进行CPU性能测试CPU型号为:AMDRyzen75800H,本次实验使用两台Linux虚拟机测试,每个虚拟机分配一个CPU。理论浮点峰值=CPU主频×CPU核数×CPU每周期执行浮点运算的次数本机CPU的基准频率为3.2GHZ,加速频率为4.4GHZghz。CPU有8核16线程(一个核虚拟成2个CPU),CPU单个周期浮点计算......
  • Vulnhub之GreenOptics靶机详细测试过程
    GreenOptics识别目标主机IP地址─(kali㉿kali)-[~/Vulnhub/GreenOptic]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:Finished!|ScreenView:UniqueHosts......
  • API测试
    仍然不行。这是前端函数序列化后的提交的完整的xml数据<?xmlversion="1.0"encoding="UTF-8"?><methodCall><methodName>metaWeblog.newMediaObject</methodName><params><param><value><string>1......
  • 记一次sql注入测试
    SQL注入是通过在用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序时意料之外结果的攻击行为。常见SQL注入语句$username=1'or'1'='1$password=1'or'1'='1$username=1'or'1'='1'))/*$password=foohttp://192.168.254.132/sqli-labs/Less-1/?i......
  • 大数据学习初级入门教程(十六) —— Hadoop 3.x 完全分布式集群的安装、启动和测试
    好久没用Hadoop集群了,参考以前写的《大数据学习初级入门教程(一)——Hadoop2.x完全分布式集群的安装、启动和测试_孟郎郎的博客》和《大数据学习初级入门教程(十二)——Hadoop2.x集群和Zookeeper3.x集群做集成_孟郎郎的博客-》,下载了目前官网最新的版本 hadoop-3.3.5再......
  • 自动化测试工具自动化工具Pyautogui和Pywinauto详细介绍和使用
    自动化测试工具介绍和使用PC端应用程序自动化测试——pywinauto、pywin32、pyautogui详解Python中pyautogui库的最全使用方法自动化测试工具自动化工具Pyautogui和Pywinauto详细介绍和使用   1、自动化测试工具介绍和使用一.Pywinauto库的介绍二、pyautogui库的......