1.Hadoop上搭建hive;初始hhive;并运用zeppelin工具

一、准备阶段

  1.搭建好Hadoop的服务器。

  2.hive压缩包  上传至/opt

  3.zeppelin压缩包  上传至/opt

二、开始搭建Hive

(确保安装mysql和hadoop)

首先上传hiveopt目录下  hive-1.1.0-cdh5.14.2.tar.gz

mkdir -p /opt/soft/hive110

解压hive
tar -zxf hive-1.1.0-cdh5.14.2.tar.gz -C /opt/soft/hive110 --strip-components
切换至conf文件下
cd /opt/soft/hive110/conf

创建一个文件:hive-site.xml

touch hive-site.xml

编辑此文件 hive-site.xml

 

 vim hive-site.xml

 

向里面添加以下内容:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!--hive元数据文件在hdfs上存放的位置-->
 <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/hive110/warehouse</value>
    </property>
    <property>
        <!--MySQL是否安装在本地 是为true 否为false-->
         <name>hive.metastore.local</name>
         <value>false</value>
     </property>
     <property>
         <!--hive链接MySQL 在本地就是localhost 远程写ip-->
         <name>javax.jdo.option.ConnectionURL</name>
         <value>jdbc:mysql://192.168.192.180:3306/hive?useSSL=false&amp;createDatabaseIfNotExist=true&amp;useSSL=false</value>
     </property>
     <property>
         <!--链接的驱动-->
          <name>javax.jdo.option.ConnectionDriverName</name>
          <value>com.mysql.jdbc.Driver</value>
     </property>
     <property>
         <!--mysql登录用户名-->
           <name>javax.jdo.option.ConnectionUserName</name>
           <value>root</value>
     </property>
     <property>
         <!--mysql登录用户密码-->
           <name>javax.jdo.option.ConnectionPassword</name>
           <value>okok</value>
     </property>
     <property>
         <!--第三方程序提供的用户名和密码,NONE说明不需要密码-->
           <name>hive.server2.authentication</name>
           <value>NONE</value>
     </property>
     <property>
         <!---->
           <name>hive.server2.thrift.client.user</name>
           <value>root</value>
     </property>
     <property>
         <!---->
           <name>hive.server2.thrift.client.password</name>
           <value>root</value>
     </property>
</configuration>

 

配置hive环境

vim /etc/profile

添加:

#hive environment
export HIVE_HOME=/opt/soft/hive110
export PATH=$PATH:$HIVE_HOME/bin

刷新配置文件

 source /etc/profile

上传mysql的驱动包至/opt/soft/hive110/lib

 

启动hadoop:

start-all.sh

初始化一下hive:

schematool -dbType mysql -initSchema

登录

hive

(小海豚验证)

 

三、连接Hive的方法:

  1.[root@hadoop101 conf]# hive

  2.Beelin连接:

    beeline -u jdbc:hive2://192.168.192.180:10000/mydemo

  3.Zeppelin链接

四、配置Zeppelin

  1.创建本地文件夹:mkdir -p /opt/soft/zeppelin081

  上传zeppelin-0.8.1-bin-all.tgz至/opt

  去opt目录下解压:

 

tar -zxf zeppelin-0.8.1-bin-all.tgz -C /opt/soft/zeppelin081 --strip-components 1

 

  2.修改两个配置文件:

  进入zeppelin的conf文件夹

cp zeppelin-site.xml.template zeppelin-site.xml
vim zeppelin-site.xml

  向拷贝后的文件添加以下内容:

<property>
  <name>zeppelin.helium.registry</name>
  <value>helium</value>
</property>

  再拷贝 cp zeppelin-env.sh.template zeppelin-env.sh并修改

 

vim zeppelin-env.sh

 

  找到以下内容修改(记得去掉前面注释!!!):

export JAVA_HOME=/opt/soft/jdk180
export HADOOP_CONF_DIR=/opt/soft/hadoop260/etc/hadoop

  3.配置环境变量

#zeppelin environment
export ZEPPELIN_HOME=/opt/soft/zeppelin081
export PATH=$PATH:$ZEPPELIN_HOME/bin

记得source一下

  4.拷贝hivehive-site.xml 文件到zeppelin081

cp /opt/soft/hive110/conf/hive-site.xml /opt/soft/zeppelin081/conf/

  拷贝 hadoop-common-2.6.0-cdh5.14.2.jar zeppelin081

 

cp /opt/soft/hadoop260/share/hadoop/common/hadoop-common-2.6.0-cdh5.14.2.jar /opt/soft/zeppelin081/interpreter/jdbc/

 

  拷贝 hive-jdbc-1.1.0-cdh5.14.2-standalone.jar zeppelin081

 

cp /opt/soft/hive110/lib/hive-jdbc-1.1.0-cdh5.14.2-standalone.jar /opt/soft/zeppelin081/interpreter/jdbc/

 

(注意:如果是hive高版本  这个 jar 包位置有所不同,可能会在/opt/soft/hive312/jdbc下)

至此,zeppelin配置完成。

 

五、启动Zeppelin

  1.启动Zeppelin

zeppelin-daemon.sh start

  2.网页登录,端口8080

192.168.56.160:8080

  3.在web界面配置集成hive

 

1)右上角anonymous --> interpreter --> +Create新建一个叫做hive的集成环境

 

 

 

(2)设置properties

default.driver   org.apache.hive.jdbc.HiveDriver

default.url     jdbc:hive2://192.168.56.160:10000

default.user    hive

   

点击保存,并重启hive 解释器。

以上都为交互模式
命令行模式:hive -e ‘.......’ 

Hive的使用

  创建分区表

  分区表操作:实际上就是建立一个个的文件夹,将数据按照你的分区约定,分别存放进去。分为静态分区和动态分区

  创建一个分区表,id,name,birthmonth三列,其中按birthmonth分区:

%hive
create table mydemo.my_part(
    id string,
    name string
)
partitioned by (birthmonth string)  -- 分区的那个列写在外面
row format delimited fields terminated by ','

  手工创建一个静态分区

%hive
alter table mydemo.my_part add partition(birthmonth='01') -- 实质上就是手工添加一个文件夹

  此时去你的50070端口,你会发现在/hive/warehouse/mydemo.db/my_part路径下,为你生成好了一个 ‘birthmonth=01’ 文件夹

 

   向指定分区里面插入Linux本地的数据文件进去(两种方法 : 静态 和 动态)

  (overwrite全量表 : 会覆盖;不加就是增量表: 不会覆盖以前的数据,而是往后进行追加)

 

 

 

 

 

  

  

posted on 2021-09-18 01:35  理想三旬_z  阅读(197)  评论(0编辑  收藏  举报

导航