基於ubuntu16.04偽分散式安裝hadoop2.9.1以及hive2.3.1

来源:https://www.cnblogs.com/gsytech/archive/2019/03/12/10519575.html
-Advertisement-
Play Games

一、安裝ubuntu操作系統 參考:https://www.cnblogs.com/Alier/p/6337151.html 二、下載hadoop以及hive hadoop:https://hadoop.apache.org/releases.html hive:http://hive.apache ...


一、安裝ubuntu操作系統

參考:https://www.cnblogs.com/Alier/p/6337151.html

二、下載hadoop以及hive

hadoop:https://hadoop.apache.org/releases.html

hive:http://hive.apache.org/downloads.html

三、hadoop安裝

1.準備工作

1 sudo useradd -m hadoop -s /bin/bash #創建hadoop用戶
2 sudo passwd hadoop                   #為hadoop用戶設置密碼,之後需要連續輸入兩次密碼
3 sudo adduser hadoop sudo             #為hadoop用戶增加管理員許可權
4 su - hadoop                          #切換當前用戶為用戶hadoop
5 sudo apt-get update 

2.安裝ssh並設置免密登陸

1 sudo apt-get install openssh-server   #安裝SSH server
2 ssh localhost                         #登陸SSH,第一次登陸輸入yes
3 exit                                  #退出登錄的ssh localhost
4 cd ~/.ssh/                            #如果沒法進入該目錄,執行一次ssh localhost
5 ssh-keygen -t rsa  
6 cat ./id_rsa.pub >> ./authorized_keys #加入授權
7 ssh localhost                      #此時不需輸入密碼
hadoop@ge-hadoop:~$ ssh localhost 
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.8.0-36-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

312 個可升級軟體包。
14 個安全更新。

Last login: Mon Mar 11 21:37:12 2019 from 127.0.0.1
hadoop@ge-hadoop:~$ 

如上面顯示。

3.安裝配置java環境

由於撰寫本文時作者已經配置完成,故無法展示

附參考鏈接:https://www.linuxidc.com/Linux/2015-01/112030.htm

重點為配置java環境,如下:

sudo gedit ~/.bashrc     #在此文件中配置加入

export JAVA_HOME=/usr/java/jdk1.8.0_201#為你java安裝路徑

sudo gedit /ect/profile  #在此文件配置中加入

export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre    
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib    
export PATH=${JAVA_HOME}/bin:$PATH

JAVA_HOME為你安裝java路徑

配置完兩個文件需要輸入,配置立即生效

 1 source ~/.bashrc

2 source /etc/profile 

在終端輸入

hadoop@ge-hadoop:~$ java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

表明安裝配置成功。

4.hadoop安裝與配置

將hadoop安裝包配置解壓到/usr/local目錄下:

tar -zxvf hadoop-2.9.1.tar.gz -C /usr/local
cd /usr/local
sudo mv hadoop-2.9.1 hadoop
sudo chown hadoop ./hadoop #修改文件所屬用戶

添加hadoop環境變數

sudo gedit /etc/profile #添加以下行

export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

source /etc/prifile 立即生效

查看hadoop版本號

hadoop@ge-hadoop:~$ hadoop version
Hadoop 2.9.1
Subversion https://github.com/apache/hadoop.git -r e30710aea4e6e55e69372929106cf119af06fd0e
Compiled by root on 2018-04-16T09:33Z
Compiled with protoc 2.5.0
From source with checksum 7d6d2b655115c6cc336d662cc2b919bd
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.9.1.jar

顯示安裝成功

5.配置偽分散式

主要修改hadoop配置文件

cd /usr/local/hadoop/etc/hadoop #配置文件目錄
sudo vim hadoop-env.sh #在該文件下添加
export JAVA_HOME
=/usr/java/jdk1.8.0_201

sudo vim hdfs-site.xml

修改該文件為

<configuration>
        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
        <property>
                <name>dfs.secondary.http.address</name>
                <value>127.0.0.1:50090</value>
        </property>
</configuration>  

接下來修改core-site.xml

<configuration>
        <property>
             <name>hadoop.tmp.dir</name>
             <value>file:/usr/local/hadoop/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
        </property>
</configuration>

最後執行NAMEnode初始化

./bin/hdfs namenode -format #此段代碼執行多次容易報錯

 1 ./sbin/start-dfs.sh #啟動服務

2 jps #查看服務狀態 

hadoop@ge-hadoop:/usr/local/hadoop$ jps
5632 ResourceManager
5457 SecondaryNameNode
6066 Jps
5238 DataNode
5113 NameNode
5756 NodeManager
hadoop@ge-hadoop:/usr/local/hadoop$ 

成功啟動後,可以訪問 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,還可以線上查看 HDFS 中的文件。 

四、hive安裝與配置

1.準備工作

安裝mysql

下載mysql-connector-java:https://dev.mysql.com/downloads/connector/j/  #最好下載與mysql配套的,不然連接時候容易報錯

2.配置mysql

mysql -u root -p; #咦root許可權登陸mysql
create database hive;
use hive;
create table user(Host char(20),User char(10),Password char(20));
insert into user(Host,User,Password) values("localhost","hive","hive"); #建立hive用戶密碼為hive
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.*  TO 'hive'@'localhost' IDENTIFIED BY 'hive';
FLUSH PRIVILEGES;

3.hive安裝配置

tar –zxvf  apache-hive-2.3.4-bin.tar.gz /usr/local/
sudo mv apache-hive-2.3.4-bin.tar.gz hive

sudo vim /etc/profile
保存後記得要source /etc/profile 使其更改生效

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

修改hive/conf下的幾個模板

cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml

更改hive-env.sh文件,指定hadoop的安裝路

HADOOP_HOME=/usr/local/hadoop

 更改hive-site.xml文件,指定資料庫的相關信息

 

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hive?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>hive</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
  <description>password to use against metastore database</description>
</property>

此處建議在配置文件中找到對應行修改value值,不然容易報錯

修改hive/bin下的hive-config.sh文件

export JAVA_HOME=/usr/java/jdk1.8.0_201
export HADOOP_HOME=/usr/local/hadoop
export HIVE_HOME=/usr/local/hive

解壓mysql-connector-java-5.1.47.tar.gz

tar -zxvf mysql-connector-java-5.1.47.tar.gz /usr/local

將文件中mysql-connector-java-5.1.47.jar 包copy到hive/lib目錄下

初始化hive資料庫

schematool -dbType mysql -initSchema

打開hive

hadoop@ge-hadoop:/usr/local/hive$ bin/hive

Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-2.3.4.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive> 

完成,當然安裝郭恆中會出行很多很多報錯的地方,又問題歡迎留言


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、top查看是否有特別吃cpu和記憶體的進程,病毒進程kill是殺不死的,因為ps命令被修改 2、ls -la /proc/病毒進程pid/ pwd為病毒進程程式目錄 一般在/usr/bin下 3、/bin/ps,/bin/netsta程式都是1.2M的大小,顯然被人掉包 ps 改成了ips 4、進 ...
  • 九、shell腳本清理磁碟空間 添加定時任務: crontab -e 加:0 0 */4 * * cd /home/script && sh free_space.sh >> /tmp/free_space.log 2>&1 & (每4天清理一次) 十、shell 腳本監控磁碟空間,郵件報警(容量超 ...
  • 1. cmd 調出命令行視窗 2. netstat -ano 查看埠被占用情況 3.命令:tasklist | findstr "9480" 發現被httpd.exe 占用 4.結束該進程 taskkill /f /t /im httpd.exe 註意:一定要用管理員身份運行 否則沒有許可權執行成功 ...
  • 容器中管理數據主要有兩種方式 數據捲:容器內的數據直接映射到本地主機目錄。 數據捲容器:使用特定的容器維護數據捲。 Docker提供三種不同的方式將數據從宿主機掛載到容器中:volumes,bind mounts和tmpfs。 1)volumes:Docker管理宿主機文件系統的一部分(/var/l ...
  • 1. 卸載navicate for mysql 會留下很多坑,主要是卸載不幹凈,卸載之後重新安裝會出現之前的庫內容和庫鏈接還存在的問題,這種情況的出現是卸載殘餘。 解決辦法,清理註冊表(網上很多教程但不一定有用,折騰了好久,所有的註冊表全部刪除,C盤下的programData下的數據也已經刪除,但重 ...
  • 1.查看mysql資料庫預設編碼: mysql> show variables like "character%"; + + +| Variable_name | Value |+ + +| character_set_client | utf8 || character_set_connectio ...
  • 一、問題描述 ​ 最近遇到了一個奇怪的MySql資料庫問題,好幾次前一天晚上歷史數據還正常存儲,第二天早上來了看實時數據存儲還正常,歷史數據不存儲了。找了好久也沒找到問題。後來仔細想了想,歷史數據設置了變化才存儲,是不是數據一直不變,就一直沒有往資料庫寫數據,導致MySql的連接太久不用自動斷開了。 ...
  • 操作系統版本:HP-UNIX B.11.31 資料庫版本:11.2.0.4 RAC (一) 問題概要 (1)在AWR報告的Top 10 Foreground Events中發現reliable message占用了較高的DB Time,如下: Top 10 Foreground Events by ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...