日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop生态hive(二)安装

發(fā)布時(shí)間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop生态hive(二)安装 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、安裝模式

內(nèi)嵌模式:元數(shù)據(jù)保持在內(nèi)嵌的Derby模式,只允許一個(gè)會(huì)話連接?
本地獨(dú)立模式:在本地安裝Mysql,把元數(shù)據(jù)放到Mysql內(nèi)?
遠(yuǎn)程模式:元數(shù)據(jù)放置在遠(yuǎn)程的Mysql數(shù)據(jù)庫?

官方文檔:
https://cwiki.apache.org/confluence/display/Hive/GettingStarted

?

二、內(nèi)嵌模式

(1)下載hive包

wget http://mirrors.cnnic.cn/apache/hive/hive-1.1.0/apache-hive-1.1.0-bin.tar.gz

(2)?解壓到工作目錄

tar -xzvf hive-1.1.0.tar.gz

(3)移動(dòng)到特定目錄

sudo mv apache-hive-1.1.0-bin /home/mk/software/hive-1.1.0 #創(chuàng)建快捷方式方便使用 ln -s /home/mk/hive-1.1.0 /home/mk/software/hive-1.1.0

(5)創(chuàng)建工作目錄

hdfs dfs -mkdir /tmp hdfs dfs -mkdir -p /user/hive/warehouse hdfs dfs -chmod g+w /user/hive/warehouse hdfs dfs -chmod g+w /tmp

(5)構(gòu)建工作環(huán)境

在 /etc/profile.d/hive.sh中增加以下內(nèi)容:

export JAVA_HOME=/home/mk/jdk-1.8export Hadoop_HOME=/home/mk/hadoop-2.6.0export HIVE_HOME=/home/mk/hive-1.1.0export PATH=$PATH:$HIVE_HOME/bin # hive中jline已升級(jí)到j(luò)line2,而hadoop lib中的 jline還是jline0.9,需要配置如下export HADOOP_USER_CLASSPATH_FIRST=true

當(dāng)前shell窗口生效source? /etc/profile或者重啟系統(tǒng)

(6)配置Hive

cp $HIVE_HOME/conf/hive-default.xml $HIVE_HOME/conf/hive-site.xml

配置hive-site.xml?

hive.metastore.warehouse.dir:(HDFS上的)數(shù)據(jù)目錄

hive.exec.scratchdir:(HDFS上的)臨時(shí)文件目錄

hive.metastore.warehouse.dir默認(rèn)值是/user/hive/warehouse

?hive.exec.scratchdir默認(rèn)值是/tmp/hive-${user.name}?

(7)改變 $HIVE_HOME的目錄所有者

chown -R mk:mk $HIVE_HOME

(8)初始化元數(shù)據(jù)

$HIVE_HOME/bin/hive --service metastore

(9)運(yùn)行hive

hive hive>

(10)測試hive

hive> create TABLE pokes( id INT, name string); hive> SHOW TABLES; hive> select * from pokes; hive> drop table pokes;

?

三、獨(dú)立模式

(1)安裝Mysql并啟動(dòng)服務(wù)

1)安裝mysql服務(wù)端和客戶端

Hive需要管理一些數(shù)據(jù),一般我們使用MySQL來存放

在線安裝執(zhí)行命令

sudo apt-get install mysql-server mysql-client

啟動(dòng)停止mysql服務(wù)

sudo start mysql ? sudo stop mysql ?

修改了配置文件后需要重啟 mysqld 才能使這些修改生效。
?
檢查 mysqld 進(jìn)程是否已經(jīng)開啟:?

pgrep mysqld

如果進(jìn)程開啟,這個(gè)命令將會(huì)返回該進(jìn)程的 id?

2)mysql賬號(hào)賦權(quán)

在Mysql中為hive建立賬號(hào),并授予足夠的權(quán)限,例如hive賬號(hào),授予all privileges

mysql -u root -p password:**** mysql> use mysql; create database if not exists hive_metadata; grant all privileges on hive_metadata.* to 'hive'@'%' identified by 'mk' with grant option; flush privileges;

用上述賬號(hào)登陸mysql,然后創(chuàng)建數(shù)據(jù)庫,比如名叫hive_metadata,用于存放hive的元數(shù)據(jù)

3)設(shè)置MySQL遠(yuǎn)程訪問(可選)

1.取消本地監(jiān)聽
?正常情況下,mysql占用的3306端口只是在IP 127.0.0.1上監(jiān)聽,拒絕了其他IP的訪問(通過netstat可以查看到)。
取消本地監(jiān)聽需要修改 my.cnf 文件:?

sudo vim /etc/mysql/my.cnf

//找到如下內(nèi)容,并注釋
bind-address = 127.0.0.1
?2.重啟 mysql

(2)安裝Hive

下載安裝包
http://apache.fayea.com/apache-mirror/hive/stable/apache-hive-1.1.0-bin.tar.gz
安裝
1、上傳包
上傳hive包到/home/hadoop上
2、解壓
? tar–zxvf apache-hive-1.1.0-bin.tar.gz
3、重命名包
mv apache-hive-1.1.0-bin hive-1.1.0

(3)配置hive

1、 ?配置環(huán)境變量
執(zhí)行命令

sudo gedit /etc/profile.d/hive.sh

注意CLASSPATH,PATH在原有上增加hive包路徑

#set hive environment HIVE_HOME=/home/mk/hive-1.1.0 PATH=$HIVE_HOME/bin:$PATH CLASSPATH=$CLASSPATH:$HIVE_HOME/lib export HIVE_HOME export PATH export CLASSPATH

使配置生效:

source /etc/profile

2、 ?配置hive-env.sh
進(jìn)入配置目錄

cd $HIVE_HOME/conf

打開配置文件hive-env.sh,

gedit hive-env.sh

進(jìn)行配置

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

3、配置hive-site.xml
配置hive-site.xml文件,指出使用本地Mysql數(shù)據(jù)庫,已經(jīng)連接協(xié)議,賬號(hào)、口令等

創(chuàng)建配置文件
$cp hive-default.xml.template hive-site.xml
在同上的目錄下
修改hive-site.xml

<property><name>hive.metastore.warehouse.dir</name><value>/home/mk/hive/warehouse</value><description>location of default database for the warehouse</description> </property> <property><name>hive.exec.scratchdir</name><value>/home/mk/hive/scratchdir</value><description>Scratch space for Hive jobs</description> </property> <property><name>hive.querylog.location</name><value>/home/mk/hive-1.1.0/logs</value><description>Location of Hive run time structured log file</description> </property> <property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://haddop01:3306/hive_metadata?createDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</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> <property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>username to use against metastore database</description> </property> <property><name>javax.jdo.option.ConnectionPassword</name><value>root123</value><description>password to use against metastore database</description> </property> <property><name>hive.exec.local.scratchdir</name> <!--拼湊目錄--> <value>/home/mk/hive-1.1.0/local/${system:user.name}</value><description>Local scratch space for Hive jobs</description></property> <property><name>hive.downloaded.resources.dir</name><value>/home/mk/hive-1.1.0/local/${hive.session.id}_resources</value><description>Temporary local directory for added resources in theremote file system.</description></property> <property><name>hive.server2.logging.operation.log.location</name><value>/home/mk/hive-1.1.0/logs/operation_logs</value><description>Top leveldirectory where operation logs are stored if logging functionality isenabled</description></property>

在hive-1.1.0目錄下創(chuàng)建local目錄

執(zhí)行命令

mkdir local

4、 ?配置log4j
在同上目錄下
創(chuàng)建配置文件:
cp hive-exec-log4j.properties.template ?hive-exec-log4j.properties
cp hive-log4j.properties.template ?hive-log4j.properties
修改上面兩個(gè)文件中的配置

hive.log.dir=/home/mk/hive-1.1.0/logs log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter

注意如果沒有l(wèi)ogs目錄就建立一個(gè) 執(zhí)行命令

mkdir /home/mk/hive-1.1.0/logs

(4)添加Mysql驅(qū)動(dòng)包
1、下載驅(qū)動(dòng)包
本實(shí)驗(yàn)使用的mysql是mysql 5.6 版本,配套的jdbc是mysql-connector-java-5.1.9-bin.jar
這個(gè)jar在網(wǎng)上下載就可以了,一定要根據(jù)mysql版本選擇配套的版本

2、添加驅(qū)動(dòng)包
? ?把驅(qū)動(dòng)包放到 $HIVE_HOME/lib 目錄下

3、修改hadoop的庫文件
在$HADOOP_HOME/share/hadoop/yarn/lib下備份jline-0.9.94.jar
執(zhí)行命令

mv jline-0.9.94.jar jline-0.9.94.jar.bak

Copy高版本的jline

cp $HIVE_HOME/lib/jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib

(5)啟動(dòng)hive

初始化元數(shù)據(jù)

$HIVE_HOME/bin/hive --service metastore &

執(zhí)行命令啟動(dòng)hive?

hive

啟動(dòng)hive能進(jìn)入shell表示安裝成功

(6)測試hive

hive> create TABLE pokes( id INT, name string); hive> SHOW TABLES; hive> select * from pokes; hive> drop table pokes;

?

總結(jié)

以上是生活随笔為你收集整理的Hadoop生态hive(二)安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。