Hive環境部署
Hive安裝部署-實驗環境架構
Hive安裝部署-真實環境架構
Hive 環境的安裝部署
Hive 安裝依賴 Hadoop 的叢集,它是執行在 Hadoop 的基礎上。所以在安裝 Hive 之前,保證 Hadoop 叢集能夠成功執行。Hive的安裝詳細流程如下所示。
1、下載Hive
Hive是Apache 的一個頂級開源專案,我們可以直接到官網下載需要的版本即可。使用的是apache-hive-1.0.0-bin.tar.gz版本,可以點選下載
2、把Hive安裝包apache-hive-1.0.0-bin.tar.gz移動到/home/hadoop/app/目錄下並解
壓,然後將檔名稱改為 hive。
[hadoop@hadoop01 app]$ tar ‐zxvf apache‐hive‐1.0.0‐bin.tar.gz [hadoop@hadoop01 app]$ mv apache‐hive‐1.0.0‐bin hive
3、新增hive環境變數
在/etc/profile檔案中增加如下內容:
[root@hadoop01 ~]$ vi /etc/profile HIVE_HOME=/home/hadoop/app/hive
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$PATH export HIVE_HOME
儲存退出後,通過source命令使配置檔案生效
[root@hadoop01 ~]$ source /etc/profile
4、啟動 Hive
建議:一直用root安裝,方便,不用管許可權。
此時切換使用者至 hadoop 使用者,在命令列輸入“hive”命令進行測試。
[hadoop@hadoop01]$ hive hive>
1) 測試 Hive 是否安裝成功。
hive> show tables;
OK
Time taken: 0.043 seconds
2) 建立表。
hive> create table test_table (id int ,name string,no int);
OK
Time taken: 0.5 seconds
3) 查詢表。
hive> select * from test_table;
OK
Time taken: 0.953 seconds
如果建立表和查詢表操作沒有出錯,就說明 Hive 安裝成功。
Hive 將後設資料儲存在 RDBMS 中,一般常用 MySQL 和 Derby。預設情況下,Hive 後設資料儲存在內嵌的 Derby 資料庫中,只能允許一個會話連線,只適合簡單的測試。實際生產環境中不適用,為了支援多使用者會話,則需要一個獨立的後設資料庫,使用 MySQL 作為後設資料庫,Hive 內部對 MySQL 提供了很好的支援,配置一個獨立的後設資料庫需要增加以下步驟。
用的是 centos 系統。
安裝mysql
1) 線上安裝 mysql 資料庫。
[root@hadoop01 app]# yum install mysql‐server Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.yun‐idc.com
* extras: mirrors.btte.net
* updates: mirrors.163.com
1) 啟動 mysql 服務。
[root@hadoop01 app]# service mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy support‐files/mysql.server to the right place for your system
3) 設定 mysql 的 root 密碼。
MySQL在剛剛被安裝的時候,它的 root 使用者是沒有被設定密碼的。首先來設定 MySQL 的
root 密碼。
[root@hadoop01 app]# mysql ‐u root ‐p Enter password: //預設密碼為空,輸入後回車即可
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. mysql>set password for root@localhost=password('root'); 密碼設定為root
4)為 Hive 建立相應的 Mysql 賬戶,並賦予足夠的許可權。
[root@hadoop01 app]# mysql ‐u root ‐proot
mysql>create user 'hive' identified by 'hive'; //建立一個賬號:使用者名稱為hive,密碼為hive
mysql> grant all on *.* to 'hive'@'hadoop01' identified by 'hive'; //將許可權授予host為hadoop01的hive使用者 Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
如果 hive 賬戶無法登陸。為hive@hadoop01 設定密碼。
[root@hadoop01 ~]#mysql ‐u root ‐proot
mysql>set password for hive@hadoop01=password('hive');
5) 建立 Hive 專用的後設資料庫,記得用剛才建立的 “hive” 賬號登入,命令如下。
[root@hadoop01 ~]#mysql ‐u hive ‐p //用hive使用者登入,密碼hive Enter password:
mysql> create database hive; //建立資料庫的名稱為hive Query OK, 1 row affected (0.00 sec)
6) 找到Hive安裝目錄 conf/下的 hive-site.xml檔案,修改以下幾個屬性。
[hadoop@hadoop01 conf]$ vi hive‐site.xml
< 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.ConnectionURL< /name>
< value>jdbc:mysql://hadoop01:3306/hive?characterEncoding=UTF‐8< /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.ConnectionPassword< /name>
< value>hive< /value>
< description>password to use against metastore database< /description> < /property>
如果conf/目錄下沒有 hive-site.xml檔案,則需要拷貝一個名為hive-site.xml的檔案。
[hadoop@hadoop01 conf]$ cp hive‐default.xml.template hive‐site.xml
7)將mysql-connector-java-5.1.21.jar驅動包,拷貝到 $HIVE_HOME/lib 目錄下。
可點選下載 (http://hadoop.f.hadoop01.com/extralib/mysql-connector-java-5.1.21.jar) mysql驅動包
[hadoop@hadoop01 lib]#rz //回車,選擇已經下載好的mysql驅動包即可 [hadoop@hadoop01 lib]$ ls
mysql‐connector‐java‐5.1.21.jar
8) 啟動 Hive Shell,測試執行。
[hadoop@hadoop01 hive]$ hive hive> show databases;
hive切換到mysql後設資料庫之後,hive啟動時如果遇到以下錯誤:
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檔案iotmp
[hadoop@hadoop01 hive]$ mkdir iotmp
[hadoop@hadoop01 hive]$ ls
bin derby.log hcatalog lib metastore_db README.txt scripts
conf examples iotmp LICENSE NOTICE RELEASE_NOTES.txt
然後將路徑配置到hive-site.xml檔案的以下引數中:
[hadoop@hadoop01 conf]$ vi hive‐site.xml
< property>
< name>hive.querylog.location< /name>
< value>/home/hadoop/app/hive/iotmp< /value>
< description>Location of Hive run time structured log file< /description>
< /property>
< property>
< name>hive.exec.local.scratchdir< /name>
< value>/home/hadoop/app/hive/iotmp< /value>
< description>Local scratch space for Hive jobs< /description>
< /property>
< property>
< name>hive.downloaded.resources.dir< /name>
< value>/home/hadoop/app/hive/iotmp< /value>
< description>Temporary local directory for added resources in the remote file system.< /descrip < /property>
儲存,重啟hive即可。
[hadoop@hadoop01 hive]$ hive hive> show databases;
OK default
Time taken: 3.684 seconds, Fetched: 1 row(s) hive>
OK,Hive 就可以使用!
相關文章
- Hadoop+hive環境搭建HadoopHive
- 使用docker快速搭建hive環境DockerHive
- 部署Java環境Java
- DockerCompose部署環境Docker
- Kibana環境部署
- SharePlex 環境部署
- linux環境部署redisLinuxRedis
- linux web環境部署LinuxWeb
- Linux環境Hive安裝配置及使用LinuxHive
- hadoop之旅7-centerOS7 : Hive環境搭建HadoopROSHive
- 離線部署Python環境Python
- ClickHouse生產環境部署
- Nginx部署前端環境(Mac)Nginx前端Mac
- Windows環境部署專案Windows
- XXPAY環境部署筆記筆記
- Linux 環境Skywalking部署ElasticsearchLinuxElasticsearch
- GitLab Runner部署(kubernetes環境)Gitlab
- 使用dockerfile 部署lnmpr環境DockerLNMP
- LNMP環境一鍵部署LNMP
- Flask環境github部署(十三)FlaskGithub
- nginx 寶塔 環境部署Nginx
- MySQL多例項環境部署MySql
- paddleocr 在docker環境下部署Docker
- IBM /AIX 環境快速部署MySQLIBMAIMySql
- Linux 環境部署Skywalking支援ElasticsearchLinuxElasticsearch
- Docker環境部署Prometheus實踐DockerPrometheus
- 規範:開發環境部署開發環境
- Redis 4.0叢集環境部署Redis
- MHA原始碼分析——環境部署原始碼
- 一鍵化安裝 docker,一鍵化部署 lnmp+Redis 環境,快速部署 Laravel 環境DockerLNMPRedisLaravel
- linux伺服器環境部署(三、docker部署nginx)Linux伺服器DockerNginx
- vcenter6.7生產環境叢集部署之環境介紹
- openEuler網路配置+換源+桌面環境ukui等基本環境部署UI
- 02-k8s部署環境K8S
- windows環境Jenkins部署前端專案WindowsJenkins前端
- [Python]-基礎-1.環境部署Python
- 在Ubuntu上部署Hyperledger Fabric環境Ubuntu
- ansible-playbook 批量部署lnmp環境LNMP