MySQL、Hive以及MySQL Connector/J安裝過程

MySQL安裝

①官網下載mysql-server(yum安裝)php

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpmhtml

若wget不可用,下載安裝wget:yum -y install wgetjava

②解壓rpm -ivh mysql-community-release-el7-5.noarch.rpmnode

③安裝yum install mysql-community-servermysql

④重啓mysql服務:service mysqld restart (之後開機不需啓動mysql)算法

⑤進入mysql:mysql -u rootsql

爲root用戶設置密碼root:mysql> set password for 'root'@'localhost' =password('root');shell

如下步驟可選:數據庫

配置文件/etc/my.cnf加上編碼配置:[mysql]  default-character-set =utf8apache

遠程鏈接設置:

把在全部數據庫的全部表的全部權限賦值給位於全部IP地址的root用戶:

mysql> grant all privileges on *.* to root@' %'identified by 'root';

mysql>flush privileges; 刷新權限

若是是新用戶而不是root,則要先新建用戶:

mysql>create user 'username'@' %' identified by 'password'; 

 

卸載MySQL

從新安裝mysql以前需完全清除mysql。

①查看是否有安裝的mysql:rpm -qa |grep -i mysql

②依次卸載mysql各安裝包:rpm -e --nodeps 安裝包名字

③查看殘留的mysql目錄或文件:find / -name mysql 、 whereis mysql。

④依次刪除查詢出的各目錄:rm -rf 目錄名

⑤刪除mysql 配置文件:/usr/my.cnf、 /root/.mysql_sercret。

 

注:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

root用戶密碼錯誤

 

Hive安裝與配置

①下載壓縮包

官網下載地址:http://mirror.bit.edu.cn/apache/hive/

選擇apache-hive-2.3.4-bin.tar.gz,在Windows裏面下載。

 

②將壓縮包從Windows傳輸到Linux當前目錄下¬¬

SecureCRT 【File】→【Connect SFTP Session】開啓sftp操做

③解壓

解壓安裝到指定目錄下/opt/module(/opt是系統自帶目錄,之下的/module是本身建立的)

修改解壓目錄名爲hive。

④修改環境變量

修改etc/profile文件,添加HIVE_HOME安裝路徑。

Source命令更新etc/profile文件,使其生效。

⑤配置hive-env.sh

進入/opt/module/hive/conf目錄,修改hive-env.sh.template的文件名爲hive-env.sh。(可使用cp或者mv命令)

cp hive-env.sh.template  hive-env.sh

修改Hadoop的安裝路徑

HADOOP_HOME=/opt/module /hadoop-2.7.3

修改Hive的conf目錄的路徑

export HIVE_CONF_DIR=/opt/module/hive/conf

⑥配置hive-site.xml

進入/opt/module/hive/conf目錄,修改default.xml.template的文件名爲hive-site.xml。(可使用cp或者mv命令)

cp hive- default.xml.template  hive-site.xml

在最後添加如下屬性:

<property>

<!-- 元數據庫的連接地址 mysql -->

       <name>javax.jdo.option.ConnectionURL</name>        

<value>jdbc:mysql://bigdata131:3306/hivedb?createDatabaseIfNotExist=true</value>

       <description>JDBC connect string for a JDBC metastore</description>

</property>

<property>

<!-- 指定mysql驅動 -->

<!-- mysql5的驅動是com.mysql.jdbc.Driver,mysql6之後的是com.mysql.cj.jdbc.Driver。 -->

        <name>javax.jdo.option.ConnectionDriverName</name>

        <value>com.mysql.jdbc.Driver</value>

        <description>Driver class name for a JDBC metastore</description>

</property>

<property>

<!-- 指定mysql用戶名 -->

        <name>javax.jdo.option.ConnectionUserName</name>

        <value>root</value>

        <description>username to use against metastore database</description>                   

</property>

<property>

<!-- 指定mysql密碼 請輸入本身的MySQL鏈接密碼 -->

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>root</value>

        <description>password to use against metastore database</description>

</property>

注:

查看Hive建庫、建表默認的hdfs目錄爲/user/hive/warehouse

<property>

<name>hive.metastore.warehouse.dir</name>

<value>/user/hive/warehouse</value>

<description>location of default database for the warehouse</description>

</property>

 

MySQL Connector/J安裝

①下載壓縮包

官網下載地址:http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/   

mysql-connector-java-5.1.47.tar.gz

②將壓縮包從Windows傳輸到Linux當前目錄下­­

SecureCRT 【File】→【Connect SFTP Session】開啓sftp操做

③解壓

解壓到指定目錄下/opt/module(/opt是系統自帶目錄,之下的/module是本身建立的)

④拷貝驅動包

將驅動包mysql-connector-java-5.1.47-bin.jar複製到/opt/module/hive/lib目錄中。

啓動hive

①啓動Hadoop:start-all.sh

②初始化Metastore架構:schematool -dbType mysql -initSchema

③啓動Hive:hive

hive> 進入hive shell

④建立/刪除/修改/查看 數據庫、表、視圖,向表中裝載數據,查詢數據等等。

注:

①啓動hive報錯:Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D,緣由是hive-site.xml裏的臨時目錄沒有設置好。

修改${system:Java.io.tmpdir}爲本身建立的臨時目錄/opt/module/hive/tmp。

<property>

<name>Hive.exec.local.scratchdir</name> <value>${system:Java.io.tmpdir}/${system:user.name}</value>

<description>Local scratch space for Hive jobs</description>

</property>

<property>

<name>hive.downloaded.resources.dir</name> <value>${system:java.io.tmpdir}/${hive.session.id}_resources</value>

<description>Temporary local directory for added resources in the remote file system.</description>

</property>

<property>

    <name>hive.server2.logging.operation.log.location</name>

    <value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value>

    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>

</property>

<property>

    <name>hive.querylog.location</name>

    <value>${system:java.io.tmpdir}/${system:user.name}</value>

    <description>Location of Hive run time structured log file</description>

  </property>

②schematool -dbType mysql -initSchema時報錯:Schema initialization FAILED! Metastore state would be inconsistent !!

網上教程都是說在文件頭部加上mysql的鏈接配置,可是hive-site.xml.templat中本來是有derby的配置,這樣就會被下面的derby配置覆蓋,致使初始化失敗。方法就是能夠將mysql配置放在最下面,或者刪除derby的配置。

刪除derby的配置產生的metastore_db目錄。

③hive命令(如show databases ,show tables),會報出以下錯誤:Failed with exception Java.io.IOException:java.lang.IllegalArgumentException: java.NET.URISyntaxException: Relative path in absolute URI: ${system:user.name}

找到hive-site.xml的<name>hive.exec.local.scratchdir</name>的值裏面的${system.user.name}改成${user.name}。

Hive應用實例:wordcount

①建數據源文件並上傳到hdfs的/user/input目錄下

②建數據源表t1:create table t1 (line string);

 

③裝載數據:load data inpath '/user/input' overwrite into table t1;

 

④編寫HiveQL語句實現wordcount算法,建表wct1保存計算結果:

create table wct1 as select word, count(1) as count from (select explode (split (line, ' ')) as word from t1) w group by word order by word;

 

⑤查看wordcount計算結果:

 

學習資料

日誌分析_統計每日各時段的的PV、UV

http://www.javashuo.com/article/p-umuuthex-cb.html

Hive學習之路 (一)Hive初識

http://www.cnblogs.com/qingyunzong/articles/8707885.html

Hive學習之路 (二)Hive安裝

http://www.javashuo.com/article/p-hffrbdml-cp.html

Hive分區和桶的概念

http://www.javashuo.com/article/p-mkcpumrg-cd.html

hive-4 hql語句對應mapreduce簡介

https://blog.csdn.net/iteye_3893/article/details/82611410

深刻學習Hive應用場景及架構原理

http://www.javashuo.com/article/p-bqeymkch-bs.html

Hive的三種安裝方式(內嵌模式,本地模式遠程模式)

http://www.javashuo.com/article/p-ryympqst-bc.html  

centos7 mysql數據庫安裝和配置

http://www.javashuo.com/article/p-vhedgzco-t.html

Hive學習之路 (一)Hive初識

http://www.javashuo.com/article/p-vrbmsgag-ba.html

Hive學習之路 (三)Hive元數據信息對應MySQL數據庫表

http://www.javashuo.com/article/p-qqrfvsiu-k.html

Hive學習之路(四):Hive內置函數介紹與實現WordCount

https://www.cppentry.com/bencandy.php?fid=117&id=219004

相關文章
相關標籤/搜索