中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)站開發(fā)簡易軟件今天新聞頭條最新消息

網(wǎng)站開發(fā)簡易軟件,今天新聞頭條最新消息,用什么網(wǎng)站可以做,簡單的html css作業(yè)目錄 1 安裝 MySql2 安裝 Hive3 Hive 元數(shù)據(jù)配置到 MySql4 啟動 Hive5 Hive 常用交互命令6 Hive 常見屬性配置 Hive 官網(wǎng) 1 安裝 MySql 為什么需要安裝 MySql? 原因在于Hive 默認使用的元數(shù)據(jù)庫為 derby,開啟 Hive 之后就會占用元數(shù)據(jù)庫,且不與其他客戶…

目錄

  • 1 安裝 MySql
  • 2 安裝 Hive
  • 3 Hive 元數(shù)據(jù)配置到 MySql
  • 4 啟動 Hive
  • 5 Hive 常用交互命令
  • 6 Hive 常見屬性配置

Hive 官網(wǎng)

1 安裝 MySql


為什么需要安裝 MySql?

  • 原因在于Hive 默認使用的元數(shù)據(jù)庫為 derby,開啟 Hive 之后就會占用元數(shù)據(jù)庫,且不與其他客戶端共享數(shù)據(jù),如果想多窗口操作就會報錯,操作比較局限。以我們需要將Hive 的元數(shù)據(jù)地址改為 MySql,可支持多窗口操作。

(1)檢查當前系統(tǒng)是否安裝過 Mysql,如果有,則刪除

[huwei@hadoop101 ~]$ rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[huwei@hadoop101 ~]$ sudo rpm -e --nodeps  mariadb-libs

rpm -qa 用于列出系統(tǒng)中已安裝的所有軟件包的名稱,CentOS 6系統(tǒng)自帶的數(shù)據(jù)庫 MySql,CentOS 7系統(tǒng)自帶的數(shù)據(jù)庫是 mariadb(本質(zhì)上就是 MySQL),根據(jù)自己的系統(tǒng)來確定。

(2)將 MySql 安裝包拷貝到 /opt/software 目錄下

(3)解壓 MySql 安裝包

新建 mysql_rpm 文件夾,并將MySQL 安裝包中的文件解壓在此處

[huwei@hadoop101 software]$ mkdir mysql_rpm
[huwei@hadoop101 software]$ tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C ./mysql_rpm/

注意,mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar沒有以gz結(jié)尾,不是壓縮文件

(4)在安裝目錄下執(zhí)行 rpm 安裝

注意:按照 順序 依次執(zhí)行

[huwei@hadoop101 mysql_rpm]$ sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
[huwei@hadoop101 mysql_rpm]$ sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
[huwei@hadoop101 mysql_rpm]$ sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
[huwei@hadoop101 mysql_rpm]$ sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
[huwei@hadoop101 mysql_rpm]$ sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

(5)初始化數(shù)據(jù)庫

[huwei@hadoop101 mysql_rpm]$ sudo mysqld --initialize --user=mysql

(6)查看臨時生成的 root 用戶的密碼

[huwei@hadoop101 mysql_rpm]$ sudo cat /var/log/mysqld.log

在這里插入圖片描述

復制保存臨時密碼

(7)啟動 MySql 服務

[huwei@hadoop101 mysql_rpm]$ sudo systemctl start mysqld

(8)登錄 MySql 數(shù)據(jù)庫

[huwei@hadoop101 mysql_rpm]$ mysql -uroot -p

不建議直接在-p后直接輸入密碼,因為臨時密碼中可能含有一些特殊字符,shell 可能會把這些特殊字符解析導致出問題

在這里插入圖片描述

(9)必須先修改 root 用戶的密碼,否則執(zhí)行其他的操作會報錯

這里我將 root 用戶的密碼改為 root

mysql> set password = password("root");

(10)修改 mysql 庫下的 user 表中的 root 用戶允許任意 ip 連接

此時我是在主機 hadoop101 上安裝的 MySQL,如果我想在主機 hadoop102 上登錄MySQL,是登錄不上的

mysql> update mysql.user set host='%' where user='root';
mysql> flush privileges;

退出 MySQL 數(shù)據(jù)庫

mysql> exit;

2 安裝 Hive


(1)把 apache-hive-3.1.2-bin.tar.gz上傳到 linux 的 /opt/software 目錄下

(2)解壓 apache-hive-3.1.2-bin.tar.gz/opt/module/ 目錄下面

[huwei@hadoop101 software]$ tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/

(3)修改 apache-hive-3.1.2-bin 的名稱為 hive-3.1.2

[huwei@hadoop101 software]$ cd ../module/
[huwei@hadoop101 module]$ mv apache-hive-3.1.2-bin/ hive-3.1.2

(4)修改 /etc/profile.d/my_env.sh,添加環(huán)境變量

[huwei@hadoop101 module]$ sudo vim /etc/profile.d/my_env.sh

添加如下內(nèi)容

# HIVE_HOME
export HIVE_HOME=/opt/module/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin

使環(huán)境變量生效

[huwei@hadoop101 module]$ source /etc/profile

(5)解決日志Jar包沖突

[huwei@hadoop101 module]$ cd hive-3.1.2/lib/
[huwei@hadoop101 module]$ ll

在這里插入圖片描述

hive 工作時底層是基于 hadoop 的,hadoop 里也有日志的 jar 包,二者可能會有沖突,將 hive 中的 log4j-slf4j-impl-2.10.0.jar刪除,在hive運行時直接使用 hadoop 提供的日志 jar 包。

[huwei@hadoop101 lib]$ rm -rf log4j-slf4j-impl-2.10.0.jar

3 Hive 元數(shù)據(jù)配置到 MySql


(1)在 $HIVE_HOME/conf目錄下新建 hive-site.xml 文件

[huwei@hadoop101 ~]$ vim $HIVE_HOME/conf/hive-site.xml

添加如下內(nèi)容

<?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://hadoop101: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>root</value>
</property><!-- Hive默認在HDFS的工作目錄 --><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><!-- Hive元數(shù)據(jù)存儲的驗證 --><property><name>hive.metastore.schema.verification</name><value>false</value></property><!-- 元數(shù)據(jù)存儲授權(quán)  --><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property>
</configuration>

(2)拷貝驅(qū)動

上傳 JDBC 驅(qū)動至/opt/software/ ,然后將 MySql 的 JDBC 驅(qū)動拷貝到 Hive 的 lib 目錄下

[huwei@hadoop101 software]$ cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib

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

登錄 mysql

[huwei@hadoop101 ~]$ mysql -uroot -proot

由于在 hive-site.xml 文件中指定了存放元數(shù)據(jù)的數(shù)據(jù)庫 metastore
在這里插入圖片描述

所以新建 Hive 元數(shù)據(jù)庫 metastore

mysql> create database metastore;
Query OK, 1 row affected (0.01 sec)mysql> quit;
Bye

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

[huwei@hadoop101 ~]$ schematool -initSchema -dbType mysql -verbose

4 啟動 Hive


(1)啟動 hadoop 集群

[huwei@hadoop101 ~]$ hdp_cluster.sh start

從下面三種啟動方式中選擇一種即可

(3)普通方式啟動 hive

[huwei@hadoop101 ~]$ hive

(4)元數(shù)據(jù)服務方式啟動 hive

hive的元數(shù)據(jù)是存在 MySql 里的,如果不使用元數(shù)據(jù)服務的話,hive直接會操作MySql里的元數(shù)據(jù),使用元數(shù)據(jù)服務的話,hive會操作元數(shù)據(jù)服務,元數(shù)據(jù)服務再去操作 MySql 里的元數(shù)據(jù)

① 在 hive-site.xml 文件中添加如下配置信息

[huwei@hadoop101 ~]$ cd /opt/module/hive-3.1.2/conf
[huwei@hadoop101 conf]$ vim hive-site.xml
    <!-- 指定存儲元數(shù)據(jù)要連接的地址 --><property><name>hive.metastore.uris</name><value>thrift://hadoop101:9083</value></property>

② 啟動 metastore

[huwei@hadoop101 ~]$ hive --service metastore

③ 新開啟一個窗口,啟動 hive

[huwei@hadoop101 ~]$ hive

(5)JDBC 方式啟動 hive

普通方式啟動 hive是直連的,而該方式則是通過 hiveserver2 再去連接 hive 的

① 在 hive-site.xml 文件中添加如下配置信息

[huwei@hadoop101 ~]$ cd /opt/module/hive-3.1.2/conf
[huwei@hadoop101 conf]$ vim hive-site.xml
    <!-- 指定hiveserver2連接的host --><property><name>hive.server2.thrift.bind.host</name><value>hadoop101</value></property><!-- 指定hiveserver2連接的端口號 --><property><name>hive.server2.thrift.port</name><value>10000</value></property>

② 啟動 hiveserver2

[huwei@hadoop101 ~]$ hive --service hiveserver2

③ 新開啟一個窗口,啟動 beeline 客戶端

[huwei@hadoop101 conf]$ beeline -u jdbc:hive2://hadoop101:10000 -n huwei

注意:-n后跟的是當前的用戶名

在這里插入圖片描述

(6)使用 hive

hive> show databases;
hive> show tables;
hive> create table test (id int);
hive> insert into test values(1);
hive> select * from test;

(7)編寫啟動 metastore 和 hiveserver2 腳本

前面第2、3種啟動的方式導致需要打開多個 shell 窗口,編寫啟動 metastore 和 hiveserver2 腳本

[huwei@hadoop101 ~]$ cd bin
[huwei@hadoop101 bin]$ vim hiveservice.sh
#!/bin/bash
HIVE_LOG_DIR=$HIVE_HOME/logs
if [ ! -d $HIVE_LOG_DIR ]
thenmkdir -p $HIVE_LOG_DIR
fi
#檢查進程是否運行正常,參數(shù)1為進程名,參數(shù)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_stopsleep 2hive_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

添加執(zhí)行權(quán)限

[huwei@hadoop101 bin]$ chmod u+x hiveservice.sh

啟動服務

[huwei@hadoop101 bin]$ hiveservice.sh start

在這里插入圖片描述

此時,我們發(fā)現(xiàn)有兩個 RunJar 進程,就是hive服務進程了

5 Hive 常用交互命令


在這里插入圖片描述

(1)-e:進入 hive 的交互窗口執(zhí)行 sql 語句

首先進入hive 的交互窗口,新建表并插入內(nèi)容

hive> create table mytbl (id int,name string);
hive> insert into mytbl values(1001,'zhangsan');

退出hive 的交互窗口

[huwei@hadoop101 ~]$ hive -e "select * from mytbl;"

在這里插入圖片描述
(2)-f:執(zhí)行腳本中 sql 語句

/opt/module/hive/下創(chuàng)建 datas 目錄并在該目錄下創(chuàng)建 hivef.sql 文件

[huwei@hadoop101 ~]$ cd /opt/module/hive-3.1.2/
[huwei@hadoop101 hive-3.1.2]$ mkdir datas
[huwei@hadoop101 hive-3.1.2]$ cd datas/
[huwei@hadoop101 datas]$ touch hivef.sql
[huwei@hadoop101 datas]$ vim hivef.sql

在文件中編寫 sql 語句

select * from mytbl;

執(zhí)行腳本文件中的 sql 語句

[huwei@hadoop101 datas]$ hive -f /opt/module/hive-3.1.2/datas/hivef.sql

(3)退出 hive 窗口

hive> quit;
hive> exit;

如果是以 jdbc 方式開啟 hive,則!quit;退出

(4)在 hive 命令窗口中查看 hdfs文件系統(tǒng)

hive> dfs -ls /;

還可以在 hive 命令窗口中查看 linux 文件系統(tǒng),!ls /;,但這都很少用

(5)查看在 hive 中輸入的所有歷史命令

[huwei@hadoop101 datas]$ cd ~
[huwei@hadoop101 ~]$ cat .hivehistory

6 Hive 常見屬性配置


(1)Hive 窗口打印默認庫和表頭

[huwei@hadoop101 ~]$ cd /opt/module/hive-3.1.2/conf/
[huwei@hadoop101 conf]$ vim hive-site.xml

添加如下內(nèi)容

    <property><name>hive.cli.print.header</name><value>true</value></property><property><name>hive.cli.print.current.db</name><value>true</value></property>

(2)Hive 運行日志信息配置

Hive 的 log 默認存放在 /tmp/atguigu/hive.log 目錄下(當前用戶名下),修改 hive 的 log存放日志到 /opt/module/hive-3.1.2/logs

修改 /opt/module/hive-3.1.2/conf/hive-log4j2.properties.template文件名稱為 hive-log4j2.properties

[huwei@hadoop101 conf]$ mv hive-log4j2.properties.template hive-log4j2.properties

hive-log4j.properties 文件中修改 log 存放位置

[huwei@hadoop101 conf]$ vim hive-log4j2.properties

在這里插入圖片描述
(3)參數(shù)配置方式

查看當前所有的配置信息

hive (default)> set;

① 配置文件方式

  • 默認配置文件:hive-default.xml
  • 用戶自定義配置文件:hive-site.xml

注意:用戶自定義配置會覆蓋默認配置。另外,Hive也會讀入Hadoop的配置,因為Hive是作為Hadoop的客戶端啟動的,Hive的配置會覆蓋Hadoop的配置。配置文件的設定對本機啟動的所有Hive進程都有效。

② 命令行參數(shù)方式

啟動 Hive 時,可以在命令行添加 -hiveconf param=value 來設定參數(shù)。

[huwei@hadoop101 ~]$ hive -hiveconf mapred.reduce.tasks=10;

注意:僅對本次hive啟動有效

查看參數(shù)設置:

hive (default)> set mapred.reduce.tasks;

③ 參數(shù)聲明方式

可以在 HQL 中使用 SET 關鍵字設定參數(shù)

hive (default)> set mapred.reduce.tasks=100;

注意:僅對本次hive啟動有效

查看參數(shù)設置:

hive (default)> set mapred.reduce.tasks;

上述三種設定方式的優(yōu)先級依次遞增。即配置文件<命令行參數(shù)<參數(shù)聲明。注意某些系統(tǒng)級的參數(shù),例如 log4j 相關的設定,必須用前兩種方式設定,因為那些參數(shù)的讀取在會話建立以前已經(jīng)完成了。

http://www.risenshineclean.com/news/63786.html

相關文章:

  • 網(wǎng)站開發(fā)公司對比新開發(fā)的app怎么推廣
  • 功能型網(wǎng)站制作多少錢2019年度最火關鍵詞
  • WordPress板塊加密seo搜索引擎優(yōu)化平臺
  • 唯一做魅惑的網(wǎng)站如何在網(wǎng)上推廣自己的產(chǎn)品
  • 網(wǎng)站降權(quán)的原因品牌策劃方案
  • 做音響的是哪個網(wǎng)站南昌搜索引擎優(yōu)化
  • 可以做彩頁的網(wǎng)站企業(yè)品牌類網(wǎng)站有哪些
  • 企業(yè)網(wǎng)站建設多少家如何注冊網(wǎng)址
  • 網(wǎng)站建設中的主要功能西安seo培訓學校
  • 發(fā)新聞稿做新聞源對網(wǎng)站有啥幫助完整企業(yè)網(wǎng)站模板
  • 一家做特賣的網(wǎng)站叫什么seo站外推廣有哪些
  • 電子稅局網(wǎng)站開發(fā)服務項目文檔全球搜鉆是什么公司
  • 做b2b網(wǎng)站銷售怎樣讓客戶找上門如何創(chuàng)建一個網(wǎng)頁
  • 誰有做網(wǎng)站的朋友的V信怎么免費制作網(wǎng)站
  • 公司的網(wǎng)站建設費進入什么科目整合營銷傳播成功案例
  • 做英語教具的網(wǎng)站sem 優(yōu)化軟件
  • 實時街景地圖app廣東seo快速排名
  • 黃山網(wǎng)站建設jidela十大中文網(wǎng)站排名
  • 重慶地區(qū)專業(yè)做網(wǎng)站的公司網(wǎng)絡營銷策略研究論文
  • 類似CSDN的wordpress主題百度seo代理
  • 網(wǎng)站二級域名怎么做專門做推廣的軟文
  • 企業(yè)網(wǎng)站模板下載哪家公司強關鍵詞代發(fā)包收錄
  • 網(wǎng)站建設中素材臺州seo排名優(yōu)化
  • 如何找網(wǎng)站制作銷售推廣方案
  • 無錫網(wǎng)站建設mkdns如何提高自己在百度的排名
  • 網(wǎng)站建設不完整軟文推廣代理平臺
  • 做化妝品注冊和注冊的網(wǎng)站有哪些灰色行業(yè)推廣平臺
  • 移動端網(wǎng)站和微信網(wǎng)頁設計關鍵詞挖掘排名
  • 昆明網(wǎng)站建設服務公司上海牛巨微網(wǎng)絡科技有限公司
  • 廣州優(yōu)質(zhì)網(wǎng)站建設案例百度人工客服電話24小時