伪分布式下hive配置并用beeline远程连接
搭建hive用的是hive3.2.1,hadoop3.2.1,所用的环境是操作系统 Linux Ubuntu16.04(64位),需要的安装包jdk-8u211-linux-x64-tar.gz Hadoop-3.1.2.tar.gz apache-hive-3.1.2-bin.tar.gz), mysql(5.7.27,系统里自带有MySQL的安装包,不用自己下载)
将jdk,hadoop,hive的安装包下载至/home目录里,并新建Java,hive,hadoop三个文件夹。
一. 搭建jdk
1.解压
tar -xvf jdk-8u211-linux-x64.tar.gz:解压安装包
mv jdk1.8.0-211 /home/java(将其移到java目录下)
cd java(打开Java目录)
mv jdk.8.0_211 jdk1.8(改名)
2.配置文件
vim /etc/profile
source /etc/profile :使得配置文件生效
3.java -version查看是否有版本信息出现
则表明Jdk搭建完成。
二. 搭建MySQL
- apt-get update 更新软件源;
- apt-get install mysql-server 安装mysql(会创建MySQL的登录密码)
- 编辑配置文件:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉 bind-address:127.0.0.1 (让MySQL能够被远程访问) - 登录MySQL。进行MySQL授权操作:
grant all on*.* to [email protected]’%’ identified by ‘数据库登录密码’ with grant option;(赋予MySQL能远程访问的权限)flush privileges(刷新权限) - 退出MySQL,在重启MySQL :service MySQL restart
- 查看mysql是否能够远程连接:使用sqlyog工具看是否能远程连接MySQL
连接成功,MySQL搭建完成。
三. 搭建Hadoop伪分布式
- 修改主机名字:vim /etc/hostname (为后面编辑配置文件做准备)
- 添加网络映射:vim /etc/hosts(主机ip地址[私有],主机名字)
- 关闭防火墙:ufw disable
- 启动ssh-server实现免密码登录:
1)/etc/init.d/ssh start:启动ssh
2)ps -ef|grep ssh: 查看ssh启动与否
3)ssh-****** -t rsa:进行了三次回车,直至生成rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys :导入authorized_keys(公钥)
ssh localhost:测试是否能免密登录
- 安装伪分布式模式:
- 解压hadoop安装包:tar -xvf hadoop-3.1.2.tar.gz
移至Hadoop目录并重命名: mv hadoop-3.1.2 /home/hadoop
cd hadoop
mv hadoop-3.1.2 hadoop3.1 - 创建目录
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data - 配置文件:
vim /etc/profile
source /etc/profile:使得配置文件生效
自此hadoop单机模式搭建完成
hadoop version:验证单机模式是否成功
cd /home/hadoop/hadoop3.1/etc/hadoop:打开Hadoop目录
vim core-site.xml
vim hdfs-site.xml
vim hadoop-env.sh
vim mapred-site.xml
cd /home/hadoop/hadoop3.1/sbin:打开sbin目录
vim stop.dfs.sh/ vim start.dfs.sh:配置文件如下
vim stop.yarn.sh/ vim start.yarn.sh:
- cd /home/hadoop/hadoop3.1/bin:打开bin目录
hdfs namenode -format:格式化namenode
start-all.sh:启动hdfs
jsp :查看节点启动的情况(出现以下六个节点才算启动成功)
出现六个节点,就代表启动成功 - 在终端配置端口 8088,9870(为了hive的连接,也要配置端口9000)
在浏览器输入网址:IP地址(公有):9870(例:123.57.18.29:9870)
输入IP地址(公有):8088
出现如上界面代表hadoop彻底启动成功,hadoop伪分布式搭建成功。
四. 搭建hive
- 解压安装包
tar -xvf apache-hive-3.1.2-bin.tar.gz移至hive目录并重命名:ls hive apache-hive-3.1.2-bin apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin /home/hive
cd hive
mv apache-hive-3.1.2-bin hive3.1 - 配置环境:
1)配置环境变量:vim /etc/profile
source /etc/profile:使配置文件生效
2)配置hive-site.xml:
a) cd /home/hive/hive3.1/conf:打开conf目录
cp hive-default.xml.template hive-site.xml:将hive-default.xml.teplate文件复制一份并把其改名为hive-site.xml
b) 创建文件夹,并赋予其读写的权限,为配置hive-ste.xml做准备
$HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse (创建文件)
$HADOOP_HOME/bin/hadoop fs -chmod 777 /user/hive/warehouse(赋予读写权限)
$HADOOP_HOME/bin/hadoop fs -mkdir -p /opt/hive/tmp
$HADOOP_HOME/bin/hadoop fs -chmod 777 /opt/hive/tmp
$HADOOP_HOME/bin/hadoop fs -mkdir -p /tmp/hive
$HADOOP_HOME/bin/hadoop fs -chmod 777 /tmp/hive
检查文件夹是否创建成功
$HADOOP_HOME/bin/hadoop fs -ls /user/hive/
$HADOOP_HOME/bin/hadoop fs -ls /opt/hive
{system:java.io.tmpdir}替换成/opt/hive/tmp(创建的hive临时目录)
将${system:user.name}替换成root
(以上两个要进入vim命令模式查找所有要修改的,一一改正)
修改数据库相关配置(进入命令模式查找)
查找javax.jdo.option.ConnectionURL:将其对应的value值改为jdbc:mysql://IP地址(公有):3306/hive?createDatabaseIfNotExist=true(MySQL的地址)
查找 javax.jdo.option.ConnectionDriverName将其对应的value改为com.mysql.cj.jdbc.Driver(MySQL驱动类路径)
查找 javax.jdo.option.ConnectionUserName将其对应的value改为root(MySQL登录名)
查找 javax.jdo.option.ConnectionPassword将其对应的value改为MySQL登录密码
查找 hive.metastore.schema.verification将其对应的value改为false
查找 hive.exec.local.scratchdir将其对应的value改为/opt/hive/tmp(视本机情况而定)
查找 hive.exec.scratchdir将其对应的value改为/opt/hive/tmp(视本机情况而定)
查找 hive.downloaded.resources.dir将其对应的value改为/opt/hive/tmp(视本机情况而定)
查找 hive.querylog.location将其对应的value改为/opt/hive/tmp(视本机情况而定)
查找 datanucleus.schema.autoCreateAll将其对应的value改为true
查找 hive.server2.authentication将其对应的value改为NONE
创建hive的用户:
查找 hive.server2.thrift.client.user将其对应的value改为root(用户名自己定)
查找hive.server2.thrift.client.password将其对应的value改为 (自己设定的密码)
d) 配置hive-env.sh
cd /home/hive/hive3.1/conf
cp hive-env.sh.template hive-env.sh:将hive-env.sh.template文件复制一份并把其改名为hive-env.sh
vim hive-env.sh
- 启动hive
(将mysql的如下驱动包传到hive/lib目录下)
cd /home/hive/hive3.1/bin:打开bin目录
- 初始化MySQL数据库
schematool -initSchema -dbType mysql - 启动hive
输入:hive
启动成功。
五.beeline远程连接
- cd $HIVE_HOEM ,
cd bin:打开hive的bin目录
输入ls:查看beeline是否开启
- 输入 jps:查看hadoop是否运行成功
- nohup hive --service hiveserver2 –hiveconf hive.server2.thrift.port=10000 &:
开启hive远程连接
- ps -ef|grep hive:查看hive运行状况,是否成功开启10000端口
- cd $HIVE_HOME :退出bin目录
输入 bin/beeline: 开启beeline
- !connect jdbc:hive2://系统IP地址(公有):10000:连接hive
输入创建的hive用户名和密码