Hadoop生态hive(二)安装
一、安裝模式
內嵌模式:元數(shù)據(jù)保持在內嵌的Derby模式,只允許一個會話連接?
本地獨立模式:在本地安裝Mysql,把元數(shù)據(jù)放到Mysql內?
遠程模式:元數(shù)據(jù)放置在遠程的Mysql數(shù)據(jù)庫?
官方文檔:
https://cwiki.apache.org/confluence/display/Hive/GettingStarted
?
二、內嵌模式
(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)移動到特定目錄
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)構建工作環(huán)境
在 /etc/profile.d/hive.sh中增加以下內容:
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已升級到jline2,而hadoop lib中的 jline還是jline0.9,需要配置如下export HADOOP_USER_CLASSPATH_FIRST=true當前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上的)臨時文件目錄
hive.metastore.warehouse.dir默認值是/user/hive/warehouse
?hive.exec.scratchdir默認值是/tmp/hive-${user.name}?
(7)改變 $HIVE_HOME的目錄所有者
chown -R mk:mk $HIVE_HOME(8)初始化元數(shù)據(jù)
$HIVE_HOME/bin/hive --service metastore(9)運行hive
hive hive>(10)測試hive
hive> create TABLE pokes( id INT, name string); hive> SHOW TABLES; hive> select * from pokes; hive> drop table pokes;?
三、獨立模式
(1)安裝Mysql并啟動服務
1)安裝mysql服務端和客戶端
Hive需要管理一些數(shù)據(jù),一般我們使用MySQL來存放
在線安裝執(zhí)行命令
sudo apt-get install mysql-server mysql-client啟動停止mysql服務
sudo start mysql ? sudo stop mysql ?修改了配置文件后需要重啟 mysqld 才能使這些修改生效。
?
檢查 mysqld 進程是否已經開啟:?
如果進程開啟,這個命令將會返回該進程的 id?
2)mysql賬號賦權
在Mysql中為hive建立賬號,并授予足夠的權限,例如hive賬號,授予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;用上述賬號登陸mysql,然后創(chuàng)建數(shù)據(jù)庫,比如名叫hive_metadata,用于存放hive的元數(shù)據(jù)
3)設置MySQL遠程訪問(可選)
1.取消本地監(jiān)聽
?正常情況下,mysql占用的3306端口只是在IP 127.0.0.1上監(jiān)聽,拒絕了其他IP的訪問(通過netstat可以查看到)。
取消本地監(jiān)聽需要修改 my.cnf 文件:?
//找到如下內容,并注釋
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í)行命令
注意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/profile2、 ?配置hive-env.sh
進入配置目錄
打開配置文件hive-env.sh,
gedit hive-env.sh進行配置
# 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/conf3、配置hive-site.xml
配置hive-site.xml文件,指出使用本地Mysql數(shù)據(jù)庫,已經連接協(xié)議,賬號、口令等
創(chuàng)建配置文件
$cp hive-default.xml.template hive-site.xml
在同上的目錄下
修改hive-site.xml
在hive-1.1.0目錄下創(chuàng)建local目錄
執(zhí)行命令
mkdir local4、 ?配置log4j
在同上目錄下
創(chuàng)建配置文件:
cp hive-exec-log4j.properties.template ?hive-exec-log4j.properties
cp hive-log4j.properties.template ?hive-log4j.properties
修改上面兩個文件中的配置
注意如果沒有l(wèi)ogs目錄就建立一個 執(zhí)行命令
mkdir /home/mk/hive-1.1.0/logs(4)添加Mysql驅動包
1、下載驅動包
本實驗使用的mysql是mysql 5.6 版本,配套的jdbc是mysql-connector-java-5.1.9-bin.jar
這個jar在網上下載就可以了,一定要根據(jù)mysql版本選擇配套的版本
2、添加驅動包
? ?把驅動包放到 $HIVE_HOME/lib 目錄下
3、修改hadoop的庫文件
在$HADOOP_HOME/share/hadoop/yarn/lib下備份jline-0.9.94.jar
執(zhí)行命令
Copy高版本的jline
cp $HIVE_HOME/lib/jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib(5)啟動hive
初始化元數(shù)據(jù)
$HIVE_HOME/bin/hive --service metastore &執(zhí)行命令啟動hive?
hive啟動hive能進入shell表示安裝成功
(6)測試hive
hive> create TABLE pokes( id INT, name string); hive> SHOW TABLES; hive> select * from pokes; hive> drop table pokes;?
總結
以上是生活随笔為你收集整理的Hadoop生态hive(二)安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么给拍一拍添加后缀 一起来学习吧
- 下一篇: 3000英语怎么读 3000英语读音简述