1. 程式人生 > 其它 >Hadoop_Hive本地模式部署

Hadoop_Hive本地模式部署

目錄

mysql安裝

此過程最好使用root使用者來執行,因為一些許可權問題,使用root會更方便

解除安裝CentOS7自帶的mariadb

列出所有被安裝的rpm package:rpm -qa|grep mariadb

解除安裝:rpm -e mairadb package

如果有錯誤:依賴檢測失敗:云云~~

則強制解除安裝:rpm -e --nodeps 你的mairadb package

建立mysql安裝包存放點

我將其存放在/opt/software/mysql中,可已根據自己需要設定

上傳mysql安裝包到存放點中,解壓

//蒟蒻的mysql安裝包是 mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

解壓:tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

執行安裝

yum -y install libaio

蒟蒻顯示的是最新版本,那本蒟蒻就不管了

安裝命令:rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm

初始化mysql

mysqld --initialize

更改所屬組

chown mysql:mysql /var/lib/mysql -R

啟動mysql

systemctl start mysqld.service

檢視生成的臨時root密碼

cat /var/log/mysqld.log

這行日誌就是最後生成的隨機密碼

[Note] A temporary password is generated for root@localhost: o+TU+KDOm004

登入mysql,修改mysql root密碼,授權遠端訪問

登入進mysql中後執行mysql -u root -p來修改密碼

本蒟蒻將密碼設為了hadoop

授權:在mysql中執行

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;

還可以將其他使用者加入進來,本蒟蒻再授權給cheetah使用者

GRANT ALL PRIVILEGES ON *.* TO 'cheetah'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;

最後在sql中執行mysql> FLUSH PRIVILEGES;以更新授權

mysql的其他operation

mysql的啟動和關閉 狀態檢視
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld

因為以後一直要用到,建議設定為開機自動啟動
systemctl enable mysqld

檢視是否已經設定開機自啟動成功
systemctl list-unit-files | grep mysqld

hive配置

上傳並解壓安裝包

//本蒟蒻安裝包為apache-hive-3.1.2-bin.tar.gz

來到安裝包目錄

解壓:tar zxvf apache-hive-3.1.2-bin.tar.gz

並將其改名(可有可無,方便後續操作

mv apache-hive-3.1.2-bin /opt/module/hive-3.1.2

解決hive與hadoop之間的guava版本差異

將hive lib資料夾中的guava檔案刪除

在hive根目錄中執行rm -rf lib/guava-19.0.jar

再將hadoop中的guava檔案複製過來:cp hadoop根目錄/share/hadoop/common/lib/guava-27.0-jre.jar hive根目錄/lib/

新增mysql jdbc驅動到hive lib目錄下

本蒟蒻使用的是 mysql-connector-java-5.1.32.jar

將其移動到hive的lib資料夾中即可

修改hive環境變數檔案

將hive根目錄中conf資料夾下的hive-env.sh.template改名為hive-env.sh(直接建立一個hive-env.sh也可以

再對其進行新增

加入以下:

export HADOOP_HOME=/opt/module/hadoop-3.1.3
export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf
export HIVE_AUX_JARS_PATH=/opt/module/hive-3.1.2/lib

(以上均為本蒟蒻的路徑,諸位佬爺根據實際情況更改

新增hive-site

在hive的conf目錄下新建一個hive-site.xml

vim hive-site.xml

將以下配置資訊新增到hive-site.xml

<configuration>
    <!-- 儲存元資料mysql相關配置 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <!-- 注意此處的mysql地址是您的地址,本蒟蒻就填錯了一遍 -->
        <value> jdbc:mysql://hadoop102:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
    </property>
 
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
 
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
 
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hadoop</value>
        <!-- 這裡為您設定的mysql密碼 -->
    </property>
 
    <!-- 關閉元資料儲存授權  -->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
 
    <!-- 關閉元資料儲存版本的驗證 -->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
</configuration>

初始化metadata

在hive根目錄中初始化:bin/schematool -initSchema -dbType mysql -verbos

//初始化成功mysql的hive庫中會存在74張表

啟動hive

(記得在啟動前將叢集啟動

在hive根目錄下執行bin/hive