1. 程式人生 > >CentOS6.5上hive安裝過程與常見錯誤除錯

CentOS6.5上hive安裝過程與常見錯誤除錯

CentOS6.5上hive安裝過程                    

準備:已安裝hadoop,這裡我使用hadoop-2.6.0單進偽分散式,將hive安裝在hadoop使用者下

第一部分:安裝配置mysql

1.確保系統中已安裝了MySQL,可以先嚐試啟動MySQL服務,一般在root許可權下啟動
  service mysqld start
  若顯示:mysqld: unrecognized service則是mysql沒有安裝,在這裡我選擇用yum命令安裝mysql
  yum -y install mysql-server mysql mysql-devel 
  命令將:mysql-server、mysql、mysql-devel都安裝好,當結果顯示為“Complete!”即安裝完畢。
詳細過程:http://jingyan.baidu.com/article/c74d600079be530f6a595dc3.html

2.進入MySQL,一定先啟動mysql,否則會報錯:

  ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


  mysql -uroot -p   密碼預設為空

3.配置HIVE元資料庫,以及建立使用者名稱,分配網路訪問許可權。
  insert into mysql.user(Host,User,Password) values("hadoop","hive",password("hive"));
  create database hive;
  grant all on hive.* to [email protected]
'%'  identified by 'hive';
  grant all on hive.* to [email protected]'localhost'  identified by 'hive';
  grant all on hive.* to [email protected]'hadoop'  identified by 'hive';
  flush privileges;


4.mysql -uhive -p
  show databases;
  use hive;
  create table test (name int);
  show tables;
  drop table test;


第二部分:安裝配置hive
1.匯入hive安裝包,在/home/hadoop目錄下,解壓縮
  tar -zxvf apache-hive-1.2.1-bin.tar.gz 
  mv apache-hive-1.2.1-bin hive

2.配置環境變數,在hadoop使用者下,配置.bash_profile
  CLASSPATH=.:$JAVA_HOME/lib:$HADOOP_HOME/lib:/home/hadoop/hive/lib
  HIVE_HOME=/home/hadoop/hive
  PATH=$PATH:$HIVE_HOME/bin

  配置好後source .bash_profile,用echo $HIVE_HOME命令,若顯示/home/hadoop/hive,則配置正確。

3.配置hive-site.xml和hive-env.sh.template兩個檔案,hive-site.xml檔案沒有,需要自己複製出來
  cd /home/hadoop/hive/conf
  cp hive-default.xml.template hive-site.xml


  vim hive-site.xml,可以輸入:/javax/來快速定位
   
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
   
   <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string 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.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>

  vim hive-env.sh.template

# Set HADOOP_HOME to point to a specific hadoop install directory
  HADOOP_HOME=/home/hadoop/hadoop/hadoop-2.6.0
  
  # Hive Configuration Directory can be controlled by:
  export HIVE_CONF_DIR=/home/hadoop/hive/conf


4.將mysql-connector-java-5.1.22-bin.jar匯入/hive/lib中,不匯入會報錯

5.故障處理1:報錯Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: 

             java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D


  解決辦法:
  在hive下建立臨時IO的tmp資料夾。然後將路徑配置到hive-site.xml的下列引數中
  <property>
    <name>hive.querylog.location</name>
    <value>/home/hadoop/hive/iotmp</value>
    <description>Location of Hive run time structured log file</description>
  </property>
  
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/home/hadoop/hive/iotmp</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
  
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/home/hadoop/hive/iotmp</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>



故障處理2:報錯[ERROR] Terminal initialization failed; falling back to unsupported

   java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected


   解決辦法:
   將hive下的新版本jline的JAR包拷貝到hadoop下:
   cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar /home/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib
    -rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar.bak
    -rw-r--r-- 1 root root  213854 Mar 11 22:22 jline-2.12.jar


6.啟動hadoop,此處我是使用偽分散式,所以要先進入hadoop-2.6.0目錄下
  sbin/start-all.sh
  
  之後,可以啟動hive
  hive 
 或 hive -hiveconf hive.root.logger=DEBUG,console 輸出bug,顯示在控制檯 
 或 hive --hiveconf  hive.cli.print.current.db=true 同時啟動資料庫












































相關推薦

CentOS6.5hive安裝過程常見錯誤除錯

CentOS6.5上hive安裝過程                     準備:已安裝hadoop,這裡我使用hadoop-2.6.0單進偽分散式,將hive安裝在hadoop使用者下 第一部分:

CentOS6編譯安裝gcc8.1版本全過程記錄(包括排坑常見錯誤解決)

之前發現開發機上安裝的gcc版本太舊了,連C++11新特性都不支援,於是決定對其進行升級。本文詳細記錄了在CentOS 6上升級gcc的整個過程,特別是其中遇到的坑和解決辦法。 安裝依賴項 先把依賴項裝好 sudo yum install glibc-de

centos6.5安裝使用xtrabackup

back inux family 下載 sof 源碼包 strong lin centos 第一步:下載。這個就看你選擇什麽樣的安裝方式了,有二進制安裝,有源碼包安裝,有在線的rpm安裝。我選擇二進制安裝方式,所以下載時選擇linux-Generic。下載後用rz命令在xs

centos6.5安裝sonarqube6.7.5

centos6.5已經裝備好,可以聯網 使用xshell6和winscp5.13.4 sonarqube6.7.5下載地址:https://www.sonarqube.org/downloads/ 步驟: 安裝MySQL5.6 檢查現有系統上有沒有MySQL,移除原

CentOS6.5安裝/啟動PostgreSQL

CentOS install PostgreSQL yum install postgresql-server Start PostgreSQL service postgresql initdb # 初始化資料庫 service postgressql start L

CentOS6.5下Redis安裝配置

本文詳細介紹redis單機單例項安裝與配置,服務及開機自啟動。如有不對的地方,歡迎大家拍磚o(∩_∩)o (以下配置基於CentOS release 6.5 Final, redis版本3.0.2 [redis版本號中間位是偶數的是穩定版,奇數的為非穩定版]) 一.安

RedHat6.5安裝MySQL5.6及解除安裝MySQL5.6(安裝解除安裝過程常見問題解決)

準備工作: 下載mysql5.6的tar包:MySQL-5.6.16-1.el6.x86_64.rpm-bundle.tar 開始安裝: 1、建立mysql使用者及使用者組 #groupadd mysql #useradd -r -g mysql mysql 2、複

CentOS6.5 的Icehouse 版本devstack 一鍵安裝

步驟: 1. root 使用者 git clone https://github.com/openstack-dev/devstack.git 2. 建立stack 使用者 cd devstack;   ./tools/create-stack-user.sh 3. 開始安

CentOS6.5升級手動安裝GCC4.8.2

sta 安裝gcc cout include 介紹 tar.bz2 yum wget lib 一、簡易安裝 操作環境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升級到4.8.2 不能通過yum的方法升級,需要自己手動下載安裝包並編

centos6.5下yum安裝mysql5.5

eps mysql 啟動 pms pan tar oar exp let 第一步就是看linu是否安裝了mysql,經過rpm -qa|grep mysql查看到centos下安裝了mysql5.1,那就開始卸載咯 2 接下來就是卸載mysql5.1了,命令

mysql 5.7最新安裝過程以及添加環境變量

mysql 5.7 環境變量本文出自 “大李子” 博客,謝絕轉載!mysql 5.7最新安裝過程以及添加環境變量

CentOS6.5 crontab每天自動備份mysql數據庫

execute man rest 需要 查找 的人 sat nbsp efi 步驟: 1. sudo vi /etc/crontab #編輯crontab任務 2.輸入01 12 * * * root /usr/local/mysql/backup/backup.sh &

Linux CentOS6.5搭建環境遇到的問題

warn 主機名 span his 不為 rpm mysqld password oca 1.卸載CentOS自帶的JDK 查看centos上 安裝的jdk:rpm -qa|grep jdk 出現如下:     java-1.7.0-openjdk-1.7.0.45-

CentOS6.5】MySQL安裝和配置

配置 entos alt tro images .com centos ges mys 1./etc/my.cnf 這是mysql的主配置文件 2、數據存放位置 3、錯誤存放位置 【CentOS6.5】MySQL安裝和配置

centos6.5 使用 rpm 安裝 mysql

相關 () res def libs update oca 64bit -i 從mysql網站下載mysql rpm安裝包(包括server、client) 1、安裝server rpm -ivh MySQL-server-5.6.19-1.el6.x86_64.rpm

CentOS6.5下nginx安裝

模塊 pcre acc .cn nginx fig 啟動服務 tab start 一、nginx安裝環境 1、Gcc rpm -qa | grep gcc 安裝nginx需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要

CentOS6.5下Cloudera安裝搭建部署大數據集群(圖文分五大步詳解)(博主強烈推薦)

centos6 數據 http 時間 log .com pos OS 客戶端  第一步: Cloudera Manager安裝之Cloudera Manager安裝前準備(CentOS6.5)(一) 第二步: Cloudera Manager安裝之時間服務器和

gitlab管理之一---gitlab在Centos 7.5面的安裝

ins add enable fast from semanage trie ras entos 1. 環境及條件: 系統:CentOS Linux release 7.5.1804 (Core) IP地址: 192.168.2.201 內存:建議至少2G

XEN虛擬化簡介及XEN在CentOS 6.5安裝

-m pointf err virtual splash server amd inter linux c 根據之前KVM虛擬化的整理,虛擬化技術分類如下:虛擬化技術的分類: (1) 模擬:Emulation Qemu, PearPC, Bochs

最小化安裝的centos7.5編譯安裝git2.19

下載 ble 需要 error centos 沒有 ins soft img VMware Workstation已經采用最小化安裝CentOS7,顯示版本為CentOS7.5,準備采用yum安裝git。 采用yum list git發現可安裝的GIT軟件包版本1.8.3.