【實驗】 Ubuntu18.04 安裝部署Hadoop & Hbase 以及HBase shell簡單使用

Ubuntu18.04 安裝部署Hadoop & Hbase

OS: Ubuntu18.04 Server

VMware

本文所需所有數據包均需從官網下載

配置ssh免密登陸

ssh localhost                         #登陸SSH,第一次登陸輸入yes
exit                                  #退出登錄的ssh localhost
 
cd ~/.ssh/                            #如果沒法進入該目錄,執行一次ssh localhost
ssh-keygen -t rsa  

連續敲擊三次回車

其中,第一次回車是讓KEY存於默認位置,以方便後續的命令輸入。第二次和第三次是確定passphrase,相關性不大。之後再輸入:

cat ./id_rsa.pub >> ./authorized_keys     #加入授權
ssh localhost                         #此時已不需密碼即可登錄localhost。

配置Java環境

安裝JDK

解壓JDK並重命名

tar -vxzf jdk-8u251-linux-x64.tar.gz 
sudo mv jdk-8u251-linux-x64 java

將解壓好的JDK傳輸到自己的文件夾

sudo cp -r java /usr/local

配置JDK

設置環境變量

vim /etc/profile

在末尾添加

JAVA_HOME=/usr/local/java 
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

重新加載環境變量的配置文件

source /etc/profile

檢測

java -version

結果

java version "1.8.0_251"                                                                Java(TM) SE Runtime Environment (build 1.8.0_251-b08)                                     Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode

安裝配置Hadoop

安裝Hadoop

解壓並重命名

tar -vxzf hadoop-2.9.2.tar.gz 
mv hadoop-2.9.2 hadoop

移動文件夾

sudo cp -r hadoop /usr/local

修改文件擁有者爲當前用戶

sudo chown -R 當前用戶名 ./hadoop

設置環境變量

sudo vim /etc/profile

添加以下內容

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

重載

source /etc/profile

檢測

hadoop version

返回結果:

Hadoop 2.9.2                                                                              Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 826afbeae31ca687bc2f8471dc841b66ed2c6704                     Compiled by ajisaka on 2018-11-13T12:42Z                                                                                      Compiled with protoc 2.5.0                                                        From source with checksum 3a9939967262218aa556c684d107985                                                           This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.9.2.jar 

修改配置文件

xml修改的部分均爲

<configuration>
</configuration>

內的內容

切換文件目錄

cd /usr/local/hadoop/etc/hadoop/

在 hadoop-env.sh 中更改 JAVA_HOME

sudo vim hadoop-env.sh

註釋掉

export JAVA_HOME=${JAVA_HOME}

添加

export JAVA_HOME=/usr/local/java

core-site.xml

sudo vim core-site.xml
<!-- 指定HDFS老大(namenode)的通信地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://0.0.0.0:9000</value>
</property>
<!-- 指定hadoop運行時產生文件的存儲路徑 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/tmp</value>
 </property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/tmp</value>
</property>

hdfs-site.xml

sudo vim  hdfs-site.xml 
<property>
    <name>dfs.data.dir</name>
    <value>/usr/local/hadoop/hdfs/data</value>
    <description>datanode上數據塊的物理存儲位置</description>
</property>

<!-- 設置hdfs副本數量 -->
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

測試,啓動

格式化namenode

hadoop namenode -format

啓動hdfs

start-all.sh

查看相應的進程

jps

在這裏插入圖片描述

訪問測試

192.168.73.107:50070

在這裏插入圖片描述

安裝配置Hbase

安裝Hbase

解壓與重命名

tar -vxzf hbase-1.4.13-bin.tar.gz
mv hbase-1.4.13 hbase

移動文件夾

sudo cp -r hbase /usr/local

設置環境變量

sudo vim /etc/profile
export HBASE_HOME=/usr/local/hbase
export HBASE_CONF_DIR=$HBASE_HOME/conf
export HBASE_CLASS_PATH=$HBASE_CONF_DIR
export PATH=$PATH:$HBASE_HOME/bin

重載

source /etc/profile

檢測安裝版本

hbase version

在這裏插入圖片描述

修改配置文件

xml修改的部分均爲

<configuration>
</configuration>

內的內容

進入文件目錄

cd /usr/local/hbase/conf 

hbase-env.sh中更改JAVA_HOME

sudo vim hbase-env.sh

添加

 export JAVA_HOME=/usr/local/java
 export HBASE_MANAGES_ZK=false

修改hbase-site.xml

sudo vim hbase-site.xml

修改

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///usr/local/hbase/hbase-tmp</value>
    </property>
</configuration>

啓動Hbase

start-hbase.sh

查看運行情況

jps

在這裏插入圖片描述
HMaster一定要有

簡單使用Hbase

進入交互界面

hbase shell

進行一些基本數據庫操作

創建表

使用create命令創建一個新表.你必須規定表名和列族名

create 'test', 'cf' 

在這裏插入圖片描述

顯示錶信息

使用list 命令可以顯示錶信息

list 'test' 

在這裏插入圖片描述

使用 describe 命令顯示錶的詳細信息

describe 'test'

在這裏插入圖片描述

向表中加入數據

使用 put 命令

put 'test', 'row1', 'cf:a', 'value1'
put 'test', 'row2', 'cf:b', 'value2'
put 'test', 'row3', 'cf:c', 'value3'

掃描表

使用scan 命令掃描整個表取得數據

scan 'test'

在這裏插入圖片描述

取一行數據

使用get指令

get 'test', 'row1'

在這裏插入圖片描述

修改表模式

使用alter命令,如修改存儲版本數

disable 'test'
alter 'test', NAME=>'cf',VERSIONS=>5
enable 'test'

在這裏插入圖片描述

其他命令

disable table, drop table,enable table 等

思考題

  1. 請問僞分佈和分佈式的含義有何不同?就本實驗,你是如何理解在一臺計算機上做到“僞分佈”的?

在這裏插入圖片描述

利用0.0.0.0(本機所有IP地址)爲一個節點,製造出“僞分佈”

  1. 在1.2小節進行安裝SSH並設置SSH無密碼登陸,請問這個安裝的目的是什麼?

用本地賬戶進行遠程登陸,實現“僞分佈”的效果

  1. 如果繼續向Hbase的test表中put行鍵爲”row1”,值爲其它字符串的數據,put ‘test’ ,’row1’, ‘cf:a’, ‘value6’,會發生什麼?如果採用語句get ‘test’, ‘row1’, {COLUMN=>‘cf:a’, VERSIONS=>3} 進行查詢,分析你得到的結果。put與關係數據庫的插入有何不同?

在這裏插入圖片描述

新值會被覆蓋

在這裏插入圖片描述

會保留歷史結果,查詢的話顯示最新覆蓋內容

參考網址

Ubuntu 18.04 安裝 Hadoop系統環境

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章