mysql 安裝以及 hive搭建單機

一.安裝mysql并且實現(xiàn)外部連接

1.下載mysql客戶端

網(wǎng)址 :??https://dev.mysql.com/downloads/mysql/5.6.html#downloads

下載好壓縮包之后走越,上傳到虛擬機上?

1.解壓: tar -zxvf? mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz

2.重命名 :? mv?mysql-5.6.44-linux-glibc2.12-x86_64 mysql

3.創(chuàng)建mysql組和用戶:

????????groupadd mysql

????????useradd -r -g mysql mysql

4.添加配置文件my.cnf,并修改相關配置

cp support-files/my-default.cnf /etc/my.cnf

vi /etc/my.cnf

basedir = /usr/local/mysql? ?-------------------------安裝目錄

datadir = /usr/local/mysql/data ---------------------安裝目錄下的data

port = 3306 ----------------------------------------------端口

log-err = /usr/local/mysql/data/error.log ----------日志

pid-file = /usr/local/mysql/data/mysql.pid --------- pid不要動


5. 修改權限

chown -R mysql?/usr/local/mysql(mysql的安裝路徑)

chgrp -R mysql?/usr/local/mysql(mysql的安裝路徑)

(mysql安裝路徑)/scripts/mysql_install_db --user=mysql

chown -R root?/usr/local/mysql(mysql的安裝路徑)

chown -R mysql?/usr/local/mysql/data

6.初始化數(shù)據(jù)庫


在scripts下有一個 mysql_install_db文件

執(zhí)行:

mysql_install_db --verbose --user=root --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp

datadir? --->對應/etc/my.cnf 中配置的datadir

basedir --->mysql的安裝目錄

pid-file? ---> (mysql安裝目錄)/data/mysql.pid (不需要有這個文件)

7.執(zhí)行

bin/mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --user=root &

執(zhí)行不完地来,不要強制停止,重新開啟一個shell

8.設置開機自啟動

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldcp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

chmod 700 /etc/init.d/mysql

chkconfig --add mysqld

chkconfig --level 2345 mysqld on

chown mysql:mysql -R /usr/local/mysql/

重新啟動linux: init 6

查看mysql狀態(tài) :?service mysqld status

參考文章: https://www.cnblogs.com/duanrantao/p/8988116.html

9.添加遠程訪問權限内颗。

ln -s /usr/local/mysql/bin/mysql /usr/bin (mysql的安裝路徑)

進入mysql : mysql -uroot -p

執(zhí)行:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'duan' with grant option;

執(zhí)行:Flush privileges;

重啟linux 垮庐。

10.設置mysql密碼

修改mysql密碼,進入mysql shell :mysql -u root -p (沒密碼直接回車)

格式:set password for 用戶名@localhost = password('新密碼');?

樣例: set password for root@localhost = password('123'); //不要忘了引號

11.win連接虛擬機mysql(前提是虛擬機和win環(huán)境之間ping的通)

1 . 在安裝mysql的虛擬機上執(zhí)行 :? service iptables status(查看防火墻狀態(tài))

2 . 查看所有端口 netstat -ntlp

可以看到3306已經(jīng)開放秋茫,如果未開放 執(zhí)行 :

vim /etc/sysconfig/iptables?

并再文件中添加一行:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重啟防火墻 : service iptables restart

連接測試(成功):

二 . 安裝hive

1.下載hive安裝包 :?http://mirror.bit.edu.cn/apache/hive/hive-2.3.5/

下載完成后上傳至linux自定義文件夾(以/opt 為例)?apache-hive-2.3.5-bin.tar.gz

2 . 解壓

tar -zxvf?apache-hive-2.3.5-bin.tar.gz

3 . 修改hive相關配置

????hive-site.xml

有個很坑爹的地方就是這個文件在conf里沒有工猜,我這個包是在路徑:

/opt/apache-hive-2.3.5-bin/hcatalog/etc/hcatalog/proto-hive-site.xml

把這個文件復制到conf里并改名??hive-site.xml?

添加配置

<property>

? ? <name>javax.jdo.option.ConnectionURL</name>

? ? <value>jdbc:mysql://localhost:3306/hive_metadata?&amp;createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>

</property>

<property>

? ? <name>javax.jdo.option.ConnectionUserName</name>

? ? <value>root</value>

</property>

<property>

? ? <name>javax.jdo.option.ConnectionPassword</name>

? ? <value>root</value>

</property>

<property>

? ? <name>javax.jdo.option.ConnectionDriverName</name>

? ? <value>com.mysql.jdbc.Driver</value>

</property>

<property>

? ? <name>datanucleus.schema.autoCreateAll</name>

? ? <value>true</value>

</property>

<property>

? ? <name>hive.metastore.schema.verification</name>

? ? <value>false</value>

</property>

添加mysql驅動包在hive里

下載 :?https://dev.mysql.com/downloads/connector/j/

下載后解壓,把下圖jar包上傳至hive安裝目錄下的 lib 文件夾

上傳后結果:

4.配置hive的環(huán)境變量(省略)

5.初始化hive

執(zhí)行:schematool -dbType mysql -initSchema

6.環(huán)境變量配置成功的情況下币狠,任意位置輸入hive 游两,執(zhí)行幾個簡單的語句試試吧。

三 . java API操作HIVE

pom.xml

? <dependency>

? ? ? ? ? ? <groupId>org.apache.hive</groupId>

? ? ? ? ? ? <artifactId>hive-jdbc</artifactId>

? ? ? ? ? ? <version>2.3.5</version>

? ? ? ? </dependency>

? ? ? ? <dependency>

? ? ? ? ? ? <groupId>org.apache.hadoop</groupId>

? ? ? ? ? ? <artifactId>hadoop-common</artifactId>

? ? ? ? ? ? <version>2.7.6</version>

? ? ? ? </dependency>

導包:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

代碼:

private static StringdriverName ="org.apache.hive.jdbc.HiveDriver";

public static void main(String[] args)throws SQLException {

try {

Class.forName(driverName);

? ? }catch (ClassNotFoundException e) {

e.printStackTrace();

? ? ? ? System.exit(1);

? ? }

Connection con = DriverManager.getConnection("jdbc:hive2://192.168.242.252:10000/default","root","root");

? ? Statement stmt = con.createStatement();

? ? String tableName ="helloHive";

? ? stmt.execute("drop table if exists " + tableName);

? ? stmt.execute("create table " + tableName +" (key int,value string)");

? ? System.out.println("create table success !!!");

? ? con.close();

}

1.打開hive的10000端口

1. hive?--service?metastore&? ? 如果運行不結束不要強行停止总寻,新開一個shell

2. hive?--service?hiveserver2&? ?如果運行不結束不要強行停止器罐,新開一個shell

3. netstat -ntulp |grep 10000? ?檢查端口是否開啟

2.運行代碼

1報錯:

java.sql.SQLException: Could not open client transport with JDBC Uri: jdbc:hive2://hdp3:10000/default: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous

需要提供HDFS的RESTful接口,可通過此接口進行HDFS文件操作渐行。

在? hdfs-site.xml 中添加

<property>

<name>dfs.webhdfs.enabled</name>?

<value>true</value>?

</property>

在? core-site.xml 中

<property>

<name>hadoop.proxyuser.root.hosts</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.root.groups</name>

<value>*</value>

</property>

再次運行就沒問題了轰坊。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市祟印,隨后出現(xiàn)的幾起案子肴沫,更是在濱河造成了極大的恐慌,老刑警劉巖蕴忆,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颤芬,死亡現(xiàn)場離奇詭異,居然都是意外死亡套鹅,警方通過查閱死者的電腦和手機站蝠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卓鹿,“玉大人菱魔,你說我怎么就攤上這事∫魉铮” “怎么了澜倦?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵聚蝶,是天一觀的道長。 經(jīng)常有香客問我藻治,道長碘勉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任桩卵,我火速辦了婚禮验靡,結果婚禮上,老公的妹妹穿的比我還像新娘吸占。我一直安慰自己晴叨,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布矾屯。 她就那樣靜靜地躺著,像睡著了一般初厚。 火紅的嫁衣襯著肌膚如雪件蚕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天产禾,我揣著相機與錄音排作,去河邊找鬼。 笑死亚情,一個胖子當著我的面吹牛妄痪,可吹牛的內容都是我干的。 我是一名探鬼主播楞件,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼衫生,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了土浸?” 一聲冷哼從身側響起罪针,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎黄伊,沒想到半個月后泪酱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡还最,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年墓阀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拓轻。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡斯撮,死狀恐怖,靈堂內的尸體忽然破棺而出悦即,到底是詐尸還是另有隱情吮成,我是刑警寧澤橱乱,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站粱甫,受9級特大地震影響泳叠,放射性物質發(fā)生泄漏。R本人自食惡果不足惜茶宵,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一危纫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乌庶,春花似錦种蝶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至透敌,卻和暖如春盯滚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酗电。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工魄藕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人撵术。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓背率,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嫩与。 傳聞我的和親對象是個殘疾皇子寝姿,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350