亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hive如何安裝

發布時間:2021-11-25 11:40:19 來源:億速云 閱讀:148 作者:小新 欄目:大數據

小編給大家分享一下Hive如何安裝,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、Hive安裝

1.1、hive安裝地址

1)Hive官網地址 http://hive.apache.org/

2)文檔查看地址 https://cwiki.apache.org/confluence/display/Hive/GettingStarted

3)下載地址 http://archive.apache.org/dist/hive/

4)github地址 https://github.com/apache/hive

1.2、Mysql安裝

1.2.1、檢查當前是否安裝mysql
#rpm -qa查詢 | -ivh安裝 | -e --nodeps卸載(不檢查依賴)
rpm -qa|grep mariadb
--> mariadb-libs-5.5.56-2.el7.x86_64  --如果存在通過如下命令卸載

sudo rpm -e --nodeps  mariadb-libs
1.2.2、解壓并安裝mysql
#必須按照如下順序依次安裝
#MySQl運行環境
sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
#MySQL運行jar包
sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
#MySQL擴展jar包
sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
#MySQL客戶端
sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
#MySQL服務器
sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
1.2.3、刪除datadir目錄下內容
#查看datadir路徑
cat /etc/my.cnf
--> datadir=/var/lib/mysql

#清空路徑目錄下內容
sudo rm -rf /var/lib/mysql
1.2.4、初始化數據庫

sudo mysqld --initialize --user=mysql

1.2.5、啟動數據庫并修改相關配置
#啟動mysql服務
sudo systemctl start mysqld
sudo systemctl status mysqld

#查看臨時密碼
sudo cat /var/log/mysqld.log

#登錄數據庫
mysql -uroot -p(換行中輸入臨時密碼)

#更改密碼策略
set global validate_password_length=4;
set global validate_password_policy=0;

#修改登錄密碼
set password = password('123456')
#修改mysql庫下的user表中的root用戶允許任意ip連接
updata mysql.user set host="%" where user="root"

#刷新數據庫
flush privileges

1.3、Hive安裝

1.3.1、安裝部署
1)把apache-hive-3.1.2-bin.tar.gz上傳到linux的/opt/software目錄下

2)解壓apache-hive-3.1.2-bin.tar.gz到/opt/module/目錄下面
   --tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/

3)修改apache-hive-3.1.2-bin.tar.gz的名稱為hive
   --mv /opt/module/apache-hive-3.1.2-bin/ /opt/module/hive

4)修改/etc/profile.d/my_env.sh,添加環境變量
   --sudo vim /etc/profile.d/my_env.sh

5)添加內容
   #HIVE_HOME
   export HIVE_HOME=/opt/module/hive
   export PATH=$PATH:$HIVE_HOME/bin

6)解決日志Jar包沖突
   --mv $HIVE_HOME/lib/log4j2-slf4j-impl-2.10.0.jar $HIVE_HOME/lib/log4j2-slf4j-impl-2.10.0.bak
1.3.2、hive元數據配置到Mysql
#1.將MySQL的JDBC驅動放置在Hive的lib目錄下
cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib

#2.配置Metastore到MySQL
vim /opt/module/hive/conf/hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- jdbc連接的URL -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>
    </property>

    <!-- jdbc連接的Driver-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name> 
        <value>com.mysql.jdbc.Driver</value>
    </property>

	<!-- jdbc連接的username-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>

    <!-- jdbc連接的password -->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
    <!-- Hive默認在HDFS的工作目錄 -->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
   
    <!-- 指定hiveserver2連接的端口號 -->
    <property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
    </property>
    <!-- 指定hiveserver2連接的host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop102</value>
    </property>

    <!-- 指定存儲元數據要連接的地址 -->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://hadoop102:9083</value>
    </property>
    <!-- 元數據存儲授權  hive默認不允許去外部存儲,所以得關閉授權-->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    <!-- Hive元數據存儲版本的驗證-->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>

    <!-- hiveserver2的高可用參數,開啟此參數可以提高hiveserver2的啟動速度 -->
    <property>
        <name>hive.server2.active.passive.ha.enable</name>
        <value>true</value>
    </property>
</configuration>

1.4、啟動Hive

1.4.1、元素據庫初始化
#登錄MySQL 創建元數據庫
create database metastore
#退出MySQL 初始化元數據
schematool -initSchema -dbType mysql -verbose
1.4.2、hive啟動服務
#啟動元數據服務(前臺服務,連接mysql獲取元數據)
hive --service metastore
#啟動hiveserver2服務(前臺服務,jdbc連接服務)
hive --service hiveserver2

#——0 標準輸入	——1 標準輸出	——2 錯誤輸出	-->& 將一個句柄的輸出寫入到另一個句柄的輸入中。
#——nohup: 命令開頭,表示不掛起,也就是關閉終端進程也繼續保持運行狀態	——&: 命令結尾,表示后臺運行
nohup hive --service metastore>log.txt 2>&1 &
nohup hive --service hiveserver2>log2.txt 2>&1 &
1.4.3、hive啟動服務腳本
#!/bin/bash
HIVE_LOG_DIR=$HIVE_HOME/logs
if [ ! -d $HIVE_LOG_DIR ]
then
	mkdir -p $HIVE_LOG_DIR
fi
#檢查進程是否運行正常,參數1為進程名,參數2為進程端口
function check_process()
{
    pid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print $2}')
    ppid=$(netstat -nltp 2>/dev/null | grep $2 | awk '{print $7}' | cut -d '/' -f 1)
    echo $pid
    [[ "$pid" =~ "$ppid" ]] && [ "$ppid" ] && return 0 || return 1
}

function hive_start()
{
    metapid=$(check_process HiveMetastore 9083)
    cmd="nohup hive --service metastore >$HIVE_LOG_DIR/metastore.log 2>&1 &"
    cmd=$cmd" sleep 4; hdfs dfsadmin -safemode wait >/dev/null 2>&1"
    [ -z "$metapid" ] && eval $cmd || echo "Metastroe服務已啟動"
    server2pid=$(check_process HiveServer2 10000)
    cmd="nohup hive --service hiveserver2 >$HIVE_LOG_DIR/hiveServer2.log 2>&1 &"
    [ -z "$server2pid" ] && eval $cmd || echo "HiveServer2服務已啟動"
}

function hive_stop()
{
    metapid=$(check_process HiveMetastore 9083)
    [ "$metapid" ] && kill $metapid || echo "Metastore服務未啟動"
    server2pid=$(check_process HiveServer2 10000)
    [ "$server2pid" ] && kill $server2pid || echo "HiveServer2服務未啟動"
}

case $1 in
"start")
    hive_start
    ;;
"stop")
    hive_stop
    ;;
"restart")
    hive_stop
    sleep 2
    hive_start
    ;;
"status")
    check_process HiveMetastore 9083 >/dev/null && echo "Metastore服務運行正常" || echo "Metastore服務運行異常"
    check_process HiveServer2 10000 >/dev/null && echo "HiveServer2服務運行正常" || echo "HiveServer2服務運行異常"
    ;;
*)
    echo Invalid Args!
    echo 'Usage: '$(basename $0)' start|stop|restart|status'
    ;;
esac
1.4.4、Hive兩種啟動方式
#1.Hive啟動
bin/hive
#打印當前庫與表頭需配置hive-site.xml
<property>
    <name>hive.cli.print.header</name>
    <value>true</value>
    <description>Whether to print the names of the columns in query output.</description>
</property>
<property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
    <description>Whether to include the current database in the Hive prompt.</description>
</property>

#2.JDBC啟動
beeline -u jdbc:hive2://hadoop102:10000 -n luck

1.5 hive交互命令

#查看所有命令
bin/hive -help

#1. hive -e 不進入hive窗口執行sql語句
bin/hive -e "select id from student;"

#2. hive -f 執行腳本中的sql語句
echo "select * from student" >> sql.txt
bin/hive -f /opt/module/hive/datas/sql.txt  > /opt/module/datas/hive_result.txt

#3.hive中查看hdfs文件系統
hive > dfs -ls

#4.hive輸入歷史
/home/luck/. hivehistory  
/home/luck/.beeline/history

1.6 屬性配置說明

#1.hive日志存儲位置
  #修改hive-log4j.properties.template為hive-log4j.properties
  property.hive.log.dir=/opt/module/hive/logs
  
#2.JVM堆內存設置
  #修改hive-env.sh.template為hive-env.sh
  export HADOOP_HEAPSIZE=1024

#3.參數配置的優先級
 #3.1 配置文件(永久)
  #Hadoop配置文件-->默認配置文件:hive-default.xml-->用戶自定義配置文件:hive-site.xml
 #3.2 命令行參數(hive啟動前,僅對本次hive有效)
  beeline -u jdbc:hive2://hadoop102:10000 -n luck -hiveconf mapreduce.job.reduces=10;
 #3.3 參數聲明(hive啟動后,僅對本次hive有效)
  hive (default)> set mapreduce.job.reduces=10;
  
#優先級:參數聲明>命令行參數>配置文件

以上是“Hive如何安裝”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临颍县| 微山县| 古浪县| 建德市| 夏邑县| 郓城县| 冀州市| 鄂托克旗| 忻城县| 巩义市| 黄浦区| 浑源县| 宣武区| 嵩明县| 堆龙德庆县| 宁乡县| 通化县| 合江县| 绥芬河市| 旬阳县| 邵阳县| 宁南县| 高碑店市| 文成县| 舞阳县| 册亨县| 新野县| 连州市| 祥云县| 灌阳县| 武隆县| 喀喇| 固原市| 民和| 清河县| 三河市| 天气| 河源市| 于都县| 宣武区| 武功县|