伪分布式下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

伪分布式下hive配置并用beeline远程连接

source /etc/profile :使得配置文件生效

3.java -version查看是否有版本信息出现

伪分布式下hive配置并用beeline远程连接
则表明Jdk搭建完成。

二. 搭建MySQL

  1. apt-get update 更新软件源;
  2. apt-get install mysql-server 安装mysql(会创建MySQL的登录密码)
  3. 编辑配置文件:
    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    注释掉 bind-address:127.0.0.1 (让MySQL能够被远程访问)
  4. 登录MySQL。进行MySQL授权操作:
    grant all on*.* to [email protected]’%’ identified by ‘数据库登录密码’ with grant option;(赋予MySQL能远程访问的权限)flush privileges(刷新权限)
  5. 退出MySQL,在重启MySQL :service MySQL restart
  6. 查看mysql是否能够远程连接:使用sqlyog工具看是否能远程连接MySQL
    伪分布式下hive配置并用beeline远程连接
    伪分布式下hive配置并用beeline远程连接
    连接成功,MySQL搭建完成。

三. 搭建Hadoop伪分布式

  1. 修改主机名字:vim /etc/hostname (为后面编辑配置文件做准备)
  2. 添加网络映射:vim /etc/hosts(主机ip地址[私有],主机名字)
  3. 关闭防火墙:ufw disable
  4. 启动ssh-server实现免密码登录:
    1)/etc/init.d/ssh start:启动ssh
    2)ps -ef|grep ssh: 查看ssh启动与否
    伪分布式下hive配置并用beeline远程连接
    3)ssh-****** -t rsa:进行了三次回车,直至生成rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys :导入authorized_keys(公钥)
    ssh localhost:测试是否能免密登录
    伪分布式下hive配置并用beeline远程连接
  5. 安装伪分布式模式:
  1. 解压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
  2. 创建目录
    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
  3. 配置文件:
    vim /etc/profile
    伪分布式下hive配置并用beeline远程连接
    source /etc/profile:使得配置文件生效
    自此hadoop单机模式搭建完成
    hadoop version:验证单机模式是否成功
    伪分布式下hive配置并用beeline远程连接
    cd /home/hadoop/hadoop3.1/etc/hadoop:打开Hadoop目录
    vim core-site.xml
    伪分布式下hive配置并用beeline远程连接
    vim hdfs-site.xml
    伪分布式下hive配置并用beeline远程连接
    vim hadoop-env.sh
    伪分布式下hive配置并用beeline远程连接
    vim mapred-site.xml
    伪分布式下hive配置并用beeline远程连接
    cd /home/hadoop/hadoop3.1/sbin:打开sbin目录
    vim stop.dfs.sh/ vim start.dfs.sh:配置文件如下
    伪分布式下hive配置并用beeline远程连接
    vim stop.yarn.sh/ vim start.yarn.sh:
    伪分布式下hive配置并用beeline远程连接
  4. cd /home/hadoop/hadoop3.1/bin:打开bin目录
    hdfs namenode -format:格式化namenode
    伪分布式下hive配置并用beeline远程连接
    start-all.sh:启动hdfs
    jsp :查看节点启动的情况(出现以下六个节点才算启动成功)
    伪分布式下hive配置并用beeline远程连接
    出现六个节点,就代表启动成功
  5. 在终端配置端口 8088,9870(为了hive的连接,也要配置端口9000)
    在浏览器输入网址:IP地址(公有):9870(例:123.57.18.29:9870)
    伪分布式下hive配置并用beeline远程连接
    输入IP地址(公有):8088
    伪分布式下hive配置并用beeline远程连接
    出现如上界面代表hadoop彻底启动成功,hadoop伪分布式搭建成功。

四. 搭建hive

  1. 解压安装包
    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
  2. 配置环境:
    1)配置环境变量:vim /etc/profile
    伪分布式下hive配置并用beeline远程连接
    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/
    伪分布式下hive配置并用beeline远程连接
    $HADOOP_HOME/bin/hadoop fs -ls /opt/hive
    HADOOPHOME/bin/hadoopfsls/tmp/c)hivesite.xmlVimhivesite.xmlHADOOP_HOME/bin/hadoop fs -ls /tmp/ c) 配置hive-site.xml文件 Vim hive-site.xml 将{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配置并用beeline远程连接
  3. 启动hive
    (将mysql的如下驱动包传到hive/lib目录下)
    伪分布式下hive配置并用beeline远程连接
    cd /home/hive/hive3.1/bin:打开bin目录
  1. 初始化MySQL数据库
    schematool -initSchema -dbType mysql
  2. 启动hive
    输入:hive
    伪分布式下hive配置并用beeline远程连接
    启动成功。

五.beeline远程连接

  1. cd $HIVE_HOEM ,
    cd bin:打开hive的bin目录
    输入ls:查看beeline是否开启
    伪分布式下hive配置并用beeline远程连接
  2. 输入 jps:查看hadoop是否运行成功
    伪分布式下hive配置并用beeline远程连接
  3. nohup hive --service hiveserver2 –hiveconf hive.server2.thrift.port=10000 &:
    开启hive远程连接
    伪分布式下hive配置并用beeline远程连接
  4. ps -ef|grep hive:查看hive运行状况,是否成功开启10000端口
    伪分布式下hive配置并用beeline远程连接
  5. cd $HIVE_HOME :退出bin目录
    输入 bin/beeline: 开启beeline
    伪分布式下hive配置并用beeline远程连接
  6. !connect jdbc:hive2://系统IP地址(公有):10000:连接hive
    输入创建的hive用户名和密码
    伪分布式下hive配置并用beeline远程连接