zoukankan      html  css  js  c++  java
  • HADOOP-HIVE学习笔记(3)- Beeline

    REF: https://edu.hellobi.com/course/93/play/lesson/2033

     配置:

    如果是多主机模式,那么bind.host 记得把localhost改成master

     知识点补充:

    [root@bigdata conf]# ps -ef
    UID         PID   PPID  C STIME TTY          TIME CMD
    root          1      0  0 May15 ?        00:00:28 /usr/lib/systemd/systemd --switched-root --sy
    root          2      0  0 May15 ?        00:00:00 [kthreadd]
    root          3      2  0 May15 ?        00:00:00 [rcu_gp]

    -f : To perform a full-format listing, add the -f or -F flag.

    ps -e :Display every active process on a Linux system

    [root@bigdata conf]# ps -ef |grep hive

    Beeline:

    beeline> !connect jdbc:hive2://localhost:10000/default
    Connecting to jdbc:hive2://localhost:10000/default
    Enter username for jdbc:hive2://localhost:10000/default: root
    Enter password for jdbc:hive2://localhost:10000/default: *****
    20/05/16 18:43:10 [main]: WARN jdbc.HiveConnection: Failed to connect to localhost:10000
    Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000/default: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate root (state=08S01,code=0)

    报错了。

    beeline使用!quit退出。

    beeline> !quit

    报错,怎么解决?

    先把hadoop停掉。

    [root@bigdata lib]# $HADOOP_HOME/sbin/stop-all.sh

    [root@bigdata lib]# cd $HADOOP_HOME/etc/hadoop/

    [root@bigdata hadoop]# vim core-site.xml

     

     添加以下2个property。表示root用户可以代理所有主机上的所有用户。

    <property>
      <name>hadoop.proxyuser.root.hosts</name>
      <value>*</value>
     </property>
     <property>
      <name>hadoop.proxyuser.root.groups</name>
      <value>*</value>
     </property>

    重启:是否要scp slave1?没搞懂

    [root@bigdata hadoop]# $HADOOP_HOME/sbin/start-all.sh

    把hiveserver kill掉:

    [root@bigdata hadoop]# ps -ef | grep hive
    root 36386 15885 1 18:37 pts/1 00:00:22 /usr/java/jdk1.8.0_241-amd64/jre//bin/java -Xmx256m -Djava.net.preferIPv4Stack=true -Duser.timezone=GMT+08 -Dhadoop.log.dir=/home/admin/Downloads/hadoop-2.10.0/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/admin/Downloads/hadoop-2.10.0 -Dhadoop.id.str=root -Dhadoop.root.logger=INFO,console -Djava.library.path=/home/admin/Downloads/hadoop-2.10.0/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Dproc_hiveserver2 -Dlog4j.configurationFile=hive-log4j2.properties -Djava.util.logging.config.file=/home/admin/Downloads/apache-hive-2.3.7/conf/parquet-logging.properties -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /home/admin/Downloads/apache-hive-2.3.7/lib/hive-service-2.3.7.jar org.apache.hive.service.server.HiveServer2
    root 39811 24009 0 18:58 pts/5 00:00:00 grep --color=auto hive
    [root@bigdata hadoop]# kill -9 36386

    启动hiveserver2

    [root@bigdata ~]# hiveserver2
    which: no hbase in (/home/admin/Downloads/apache-hive-2.3.7/bin:/home/admin/Downloads/sqoop-1.4.7/bin:/user/java/latest/bin:/home/admin/Downloads/hadoop-2.10.0/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
    2020-05-16 19:03:44: Starting HiveServer2
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/home/admin/Downloads/apache-hive-2.3.7/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/home/admin/Downloads/hadoop-2.10.0/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

    过了很久会出现:

    FAILED: ParseException line 2:1 character '<EOF>' not supported here
    OK
    OK
    OK

    我这里有点问题,一直卡在SLF4J: Actual binding 这里,感觉像无法启动hiveserver2. 但是看网友的文章,发现只要再打开一个Xshell窗口链接Beeline。

    ref:https://blog.csdn.net/leanaoo/article/details/83351240

     hiveserver2的网页也能打开。

    http://192.168.0.108:10002/

    beeline> !connect jdbc:hive2://localhost:10000/default
    Connecting to jdbc:hive2://localhost:10000/default
    Enter username for jdbc:hive2://localhost:10000/default: root
    Enter password for jdbc:hive2://localhost:10000/default: *****
    Connected to: Apache Hive (version 2.3.7)
    Driver: Hive JDBC (version 2.3.7)
    Transaction isolation: TRANSACTION_REPEATABLE_READ
    0: jdbc:hive2://localhost:10000/default> 
    0: jdbc:hive2://localhost:10000/default> use hello;
    No rows affected (0.233 seconds)
    0: jdbc:hive2://localhost:10000/default> show tables;
    +-----------+
    | tab_name  |
    +-----------+
    | t2        |
    | t3        |
    +-----------+
    2 rows selected (0.431 seconds)

    启动、关闭hive:

    ref:https://blog.csdn.net/zh_s_z/article/details/80972422

    netstat 查看端口

  • 相关阅读:
    Spring
    linux下jdk多版本管理
    linux集群管理
    python多任务处理
    Web框架的引入
    Git命令大全
    Git远程仓库--GitHub
    基于python实现简单web服务器
    python文件读写方式
    几句话搞懂URI、URL、URN之间的关系
  • 原文地址:https://www.cnblogs.com/watermarks/p/12901777.html
Copyright © 2011-2022 走看看