1. 程式人生 > >Centos下偽分散式安裝Hive以及安裝可能出現的問題

Centos下偽分散式安裝Hive以及安裝可能出現的問題

安裝要求:Hive 1.2.1   MySQL 5.7    JDK 1.8

1.下載解壓
cd /mk/soft  
tar -xvzf apache-hive-1.2.1-bin.tar.gz -C /appl/  
cd /appl  
mv apache-hive-1.2.1-bin hive-1.2.1  

2. 配置環境變數
vi /etc/profile  
export HIVE_HOME=/appl/hive-1.2.1  
export PATH=$PATH:$HIVE_HOME/bin  
export CLASSPATH=.:$HIVE_HOME/lib  
source /etc/profile  

3. 配置Hive



cd /appl/hive-1.2.1/conf  


cp hive-default.xml.template hive-default.xml (不改變)  
cp hive-default.xml.template hive-site.xml (覆蓋hive-default.xml配置項)  
cp hive-env.sh.template hive-env.sh  
cp hive-log4j.properties.template hive-log4j.properties  


vi hive-env.sh  
export HADOOP_HOME=${HADOOP_HOME}  
export HIVE_CONF_DIR=${HIVE_HOME}/conf  

vi hive-log4j.properties  
#log4j.appender.EventCounter=org.apache.hadoop.hive.shims.HiveEventCounter  
#log4j.appender.EventCounter=org.apache.hadoop.metrics.jvm.EventCounter  
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter  

vi hive-site.xml
-----------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>  
  <!-- Hive Execution Parameters -->  
  <property>  
<name>javax.jdo.option.ConnectionURL</name>  
<value>jdbc:mysql://192.168.1.128:3306/metastore_hive?useUnicode=true&characterEncoding=UTF-8&useSSL=false</value>  
<description>JDBC connect string for a JDBC metastore</description>  
</property>   
  
<property>  
<name>javax.jdo.option.ConnectionDriverName</name>  
<value>com.mysql.jdbc.Driver</value>  
<description>Driver class name for a JDBC metastore</description>  
</property>  
  
<property>  
<name>javax.jdo.option.ConnectionUserName</name>  
<value>hive</value>  
<description>username to use against metastore database</description>  
</property>  
  
<property>  
<name>javax.jdo.option.ConnectionPassword</name>  
<value>hive</value>  
<description>password to use against metastore database</description>  
</property>  
  
<property>  
<name>hive.metastore.warehouse.dir</name>  
<value>hdfs://hong/hive/warehouse</value>  
<description>location of default database for the warehouse (hdfs  path)</description>  
</property>  
  
<property>   
<name>hive.metastore.uris</name>   
<value>thrift://hong:9083</value>  
</property>  
  
<property>  
<name>hive.server2.authentication</name>  
<value>NONE</value>  
</property>  
</configuration>

4HDFS檔案系統下建立/hive/warehouse/hive/tmp
hadoop fs -mkdir /hive  
hadoop fs -mkdir /hive/warehouse  
hadoop fs -chmod g+w /hive/warehouse  
hadoop fs -mkdir /hive/tmp  
hadoop fs -chmod g+w /hive/tmp  

5進入MySQL
mysql -u root -p root


以下命令都是在mysql下進行執行:
create database metastore_hive;  
grant all on metastore_hive.* to [email protected]

'%' identified by 'hive';  
grant all on metastore_hive.* to [email protected] identified by 'hive';  
ALTER DATABASE metastore_hive CHARACTER SET latin1;  
show databases;  
exit  
mysql -u hive -p
密碼:hive
use metastore_hive  
exit  

mysql-connector-java-5.1.44-bin.jar到Hive安裝目錄下的lib裡。

6.hadoop 配置
vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<property>  
  <name>dfs.permissions</name>  
  <value>false</value>  
</property>  

vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export HADOOP_CLASSPATH=$CLASSPATH:$HADOOP_CLASSPATH  

7. 啟動服務
1)、啟動metastore服務

cd /usr/local/hive/bin
hive --service metastore & (預設埠:9083,可-p 9083控制;測試:hive --service metastore)

2)、啟動hiveserver2服務
hive --service hiveserver2 &  (測試:hive --service hiveserver2)
這兩項服務都必須要開啟執行:
然後在執行hive進入hive shell

3)、訪問hiveserver2的兩種方式
(1) JDBC
Class.forName("org.apache.hive.jdbc.HiveDriver");
DriverManager.getConnection("jdbc:hive2://IP:10000/default","","");
(2) beeline
beeline -u jdbc:hive2://localhost:10000/ -n hive -p hive

beeline
!connect jdbc:hive2://localhost:10000  
show tables;  
create table test1 (id int, name string) row format delimited fields terminated by ',' stored as textfile;  
load data local inpath '/mk/test/test1.txt' into table test1;  
select * from test1;  
!quit  

檢視hive檔案
hadoop fs -ls /hive/warehouse/test1
停止:因為不是通過服務啟動,只能ps -ef|grep hive,再kill <pid>

8.安裝可能遇見的問題:
---------------
[Fatal Error] hive-site.xml:1:1: Content is not allowed in prolog.
18/06/13 16:20:24 FATAL conf.Configuration: error parsing conf file:/home/hadoop/sw/hive-1.2.1/conf/hive-site.xml
org.xml.sax.SAXParseException; systemId: file:/home/hadoop/sw/hive-1.2.1/conf/hive-site.xml; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
出現這種問題的原因是因為hive-site.xml  裡沒有配置好,再仔細檢查下。

----------------
javax.jdo.JDOFatalDataStoreException: Unable to open a test connection to the given database. JDBC url = jdbc:mysql://192.168.1.128:3306/metastore_hive?useUnicode=true&characterEncoding=UTF-8&useSSL=false, username = hive. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). Original Exception: ------
java.sql.SQLException: Access denied for user 'hive'@'hong' (using password: YES)
出現這種問題的原因是對hive使用者沒有給他訪問主機hong的許可權,
解決辦法:在mysql下 執行

grant all on metastore_hive.* to [email protected] identified by 'hive';

----------------
Exception in thread "main" org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083.
出現這種問題是因為之前執行的metastore 或者hiveserver2程序(Runjar)失敗了,但是沒有kill掉,kill掉之前的程序再次啟動服務試試。





相關推薦

Centos分散式安裝Hive以及安裝可能出現的問題

安裝要求:Hive 1.2.1   MySQL 5.7    JDK 1.81.下載解壓cd /mk/soft  tar -xvzf apache-hive-1.2.1-bin.tar.gz -C /appl/  cd /appl  mv apache-hive-1.2.1-

Spark本地安裝及Linux分散式搭建

title: Spark本地安裝及Linux下偽分散式搭建 date: 2018-12-01 12:34:35 tags: Spark categories: 大資料 toc: true 個人github部落格:Josonlee’s Blog 文章目錄

CentOS7環境分散式安裝配置hadoop

(一) 設定靜態IP地址 cd /etc/sysconfig/network-scripts vim ifcfg-ens33 修改IPADDR,NETMASK,GATEWAY為對應的值 修改BOOTPROTO為none 儲存並退出 重啟網絡卡 servi

CentosSphinx的下載與編譯安裝

onf total osi training art exe .gz clas com 官方下載地址 http://sphinxsearch.com/downloads/release/ 百度雲下載地址 https://pan.baidu.com/s/1gfmPbd5

CentosSphinx中文分詞編譯安裝測試---CoreSeek

orm 創建索引 auxiliary aclocal memcache acl inux mage arch 要支持中文分詞,還需要下載Coreseek,可以去官方搜索下載,這裏我用的4.1 百度雲下載地址: https://pan.baidu.com/s/1sl

centos配置LNMP環境(源碼安裝)

hid strong 配置 依賴 post png div libjpeg curses 準備工作,安裝依賴庫 yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel l

CentOS的編譯源代碼安裝軟件( 以安裝python3為例 )

program source tool wget down mis prefix not centos7 在 CentOS 下安裝軟件,可以使用 rpm軟件包、yum工具、自行下載源代碼進行編譯安裝,其中編譯安裝的定制性較高 對於一些在軟件,自行下載源代碼進行編譯安裝較為方

安裝jenkins centos搭建Jenkins持續整合環境(安裝jenkins)

1、安裝JDK yum install -y java 2、安裝jenkins 新增Jenkins庫到yum庫,Jenkins將從這裡下載安裝。 1 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redh

.netcore 與 Docker CentOSDocker與.netcore(一) 之 安裝 CentOSDocker與.netcore(二) 之 Dockerfile CentOSDocker與.netcore(三)之 三劍客之一Docker-Compose CentOSDocker與.

CentOS下Docker與.netcore(一) 之 安裝 CentOS下Docker與.netcore(二) 之 Dockerfile CentOS下Docker與.netcore(三)之 三劍客之一Docker-Compose CentOS下Docker與.netcore(四)之 三劍客之一Doc

Linux安裝mysql以及安裝時踩的坑

分享 libaio table 說明 查詢 更新 image 關閉防火墻 技術分享 安裝: 檢測是否已經安裝了mysql rpm -qa | grep mysql 如果已經安裝了,將其卸載,如: rpm -e --nodeps mysql-libs-5.1.71-1

cdh5.7.0分散式叢集之hadoop安裝

基本環境及軟體: 軟體版本 軟體包 centos-6.4   JDK-1.8 jdk-8u191-linux-x64.tar.gz hadoo

aliyun centos搭建Jenkins持續整合環境(安裝jenkins)

環境: 阿里雲輕量級伺服器 CentOS 7.3 安裝步驟: 1.安裝jdk(這裡安裝的openJDK) yum install -y java 2.安裝jenkins 新增Jenkins庫到yum庫,Jenkins將從這裡下載安裝。 wget -O /etc/

Centos RabbitMQ3.6.6二進位制包安裝方式

RabbitMQ Erlang Version Requirements 安裝rabbitMQ前需要先安裝erlang語言開發包 下面連結為RabbitMQ與Erlang官方版本要求 ERLANG安裝包官網下載(所有版本) 19.3.* Erlang原

Linux如何安裝jdk,以及安裝中常見的問題的解決

0.下載jdk8 登入網址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 選擇對應jdk版本下載。(可在Windows下下載完成後,通過資料夾共享到Linux上)

CentOSNvidia docker 2.0之安裝教程&踩坑實錄

CentOS下Nvidia docker 2.0之安裝教程&踩坑實錄 前言 要求 1. GNU/Linux x86_64 with kernel version > 3.10 2. Docker >= 1.12

Mac/CentosVim配置及常用外掛安裝

set nocompatible              " be iMproved, requiredfiletype off                  " requiredset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin() Plugin

ubuntu如何檢視軟體安裝目錄以及安裝版本 .

1.查詢版本 1)aptitude show 軟體名 例如:aptitude show kde-runtime  顯示如下: [html] view plaincopyprint? ****@ubuntu:~$ aptitude show kde-runtime

ubuntu如何檢視軟體安裝目錄以及安裝版本

1.查詢版本 1)aptitude show 軟體名 例如:aptitude show kde-runtime  顯示如下: ****@ubuntu:~$ aptitude show kde-runtime 軟體包: kde-runtime 狀

centos徹底刪除MYSQL 和重新安裝MYSQL的解壓縮版

[[email protected] mysql5.7]# bin/mysql_install_db --user=mysql --basedir=/home/software/mysql/mysql5.7/ --datadir=/home/software/mysql/mysql5.7/data

Linux安裝Memcache以及安裝過程中一些問題的解決方法

一、下載安裝libevent cd /tmp #切換到tmp目錄 wget http://