在Ubuntu 20.04上安裝Apache Hadoop / HBase

這是續集。
您可以通過以下鏈接以PDF格式下載本文,以為我們提供支持。

將指南下載為PDF


這是續集。

這是續集。
這是續集。

本教程將引導您在Ubuntu 20.04(Focal Fossa)Linux服務器上安裝Hadoop和HBase。 HBase是一種用Java編寫的開源分布式非關係數據庫,可在Hadoop文件系統(HDFS)上運行。藉助HBase,您可以運行大型群集,這些群集承載非常大的表,這些表在商品硬件上具有數十億行和數百萬列。

本安裝指南不適用於高可用性生產設置,但適用於開發的實驗室設置。 HBase安裝在單節點Hadoop群集上完成。該服務器是具有以下規格的Ubuntu 20.04虛擬機。

  • 16 GB
  • 8個vCPU..
  • 20GB啟動盤
  • 100GB原始磁盤用於數據存儲

如果您的資源與本練習中的設置不匹配,則可以使用所需的內容查看是否可以啟動該服務。

對於CentOS 7,請參閱如何在CentOS 7上安裝Apache Hadoop / HBase。

在Ubuntu 20.04上安裝Hadoop

第一部分介紹在Ubuntu 20.04 LTS服務器上安裝單節點Hadoop集群。安裝Ubuntu 20.04服務器不在本指南的範圍之內。有關說明,請參見虛擬化環境文檔。

步驟1:更新系統

更新並有選擇地升級Ubuntu系統上安裝的所有軟件包。

sudo apt update
sudo apt -y upgrade
sudo reboot

步驟2:在Ubuntu 20.04上安裝Java

如果您的Ubuntu 20.04系統上沒有Java,請安裝Java。

sudo apt update
sudo apt install default-jdk default-jre

在Ubuntu 20.04上成功安裝Java後,請使用java命令行檢查版本。

$ java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

設置 JAVA_HOME 變量。

cat <

更新$ PATH和設置。

source /etc/profile.d/hadoop_java.sh

然後測試。

$ echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64

參考:

如何在Ubuntu / Debian上設置默認Java版本

步驟3:建立Hadoop使用者帳戶

創建單獨的Hadoop用戶以分開Hadoop和Unix文件系統。

sudo adduser hadoop
sudo usermod -aG sudo hadoop
sudo usermod -aG sudo hadoop

添加用戶後,為用戶生成一個SS密鑰對。

$ sudo su - hadoop$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):  Created directory '/home/hadoop/.ssh'. Enter passphrase (empty for no passphrase):  Enter same passphrase again:  Your identification has been saved in /home/hadoop/.ssh/id_rsa. Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. The key fingerprint is: SHA256:mA1b0nzdKcwv/LPktvlA5R9LyNe9UWt+z1z0AjzySt4 [email protected] The key's randomart image is: +---[RSA 2048]----+ |                 | |       o   + . . | |      o + . = o o| |       O . o.o.o=| |      + S . *ooB=| |           o *=.B| |          . . *+=| |         o o o.O+| |          o E.=o=| +----[SHA256]-----+

將此用戶的密鑰添加到授權的ssh密鑰列表中。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

確保可以使用添加的密鑰進行SSH。

$ ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:42Mx+I3isUOWTzFsuA0ikhNN+cJhxUYzttlZ879y+QI.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-28-generic x86_64)

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


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
$ exit

步驟4:下載並安裝Hadoop

確保 最新版本的Hadoop 在下載此處指定的版本之前。在撰寫本文時,這是版本 3.2.1..

將最新版本保存到變量。

RELEASE="3.2.1"

然後將Hadoop存檔下載到本地系統。

wget https://www-eu.apache.org/dist/hadoop/common/hadoop-$RELEASE/hadoop-$RELEASE.tar.gz

解壓縮文件。

tar -xzvf hadoop-$RELEASE.tar.gz

將結果目錄移到 /usr/local/hadoop..

sudo mv hadoop-$RELEASE/ /usr/local/hadoop
sudo mkdir /usr/local/hadoop/logs
sudo chown -R hadoop:hadoop /usr/local/hadoop

設置 HADOOP_HOME 並更改包含Hadoop二進制文件的目錄 $PATH.

cat <

源文件。

source /etc/profile.d/hadoop_java.sh

檢查Hadoop版本。

$ hadoop version
Hadoop 3.2.1
Source code repository https://gitbox.apache.org/repos/asf/hadoop.git -r b3cbbb467e22ea829b3808f4b7b01d07e0bf3842
Compiled by rohithsharmaks on 2019-09-10T15:56Z
Compiled with protoc 2.5.0
From source with checksum 776eaf9eee9c0ffc370bcbc1888737
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-3.2.1.jar

步驟5:配置Hadoop

可以在下面找到所有Hadoop配置 /usr/local/hadoop/etc/hadoop/目錄。

要在Ubuntu 20.04上完成Hadoop的安裝,您需要修改一些配置文件。

第一次編輯 JAVA_HOME Shell腳本hadoop-env.sh:

$ sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
# Set JAVA_HOME - Line 54
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/

然後配置。

1.core-site.xml

core-site.xml 該文件包含啟動時使用的Hadoop群集信息。這些屬性是:

  • Hadoop實例使用的端口號
  • 分配給文件系統的內存
  • 數據存儲內存限制
  • 讀/寫緩衝區大小。

開門 core-site.xml

sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml

在兩者之間添加以下屬性 標籤。


   
      fs.default.name
      hdfs://localhost:9000
      The default file system URI
   

請參見下面的屏幕截圖。

在Ubuntu 20.04上安裝Apache Hadoop / HBase2.hdfs-site.xml

必須為群集中使用的每個主機配置此文件。該文件包含以下信息:

  • 本地文件系統上的Namenode和datanode路徑。
  • 複製數據的價值

此設置將Hadoop基礎架構保存在輔助磁盤上– /dev/sdb..

$ lsblk
 NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 sda      8:0    0 76.3G  0 disk 
 └─sda1   8:1    0 76.3G  0 part /
 sdb      8:16   0   100G  0 disk 
 sr0     11:0    1 1024M  0 rom  

分區並掛載該磁盤 /hadoop 目錄。

sudo parted -s -- /dev/sdb mklabel gpt
sudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%
sudo parted -s -- /dev/sdb align-check optimal 1
sudo mkfs.xfs /dev/sdb1
sudo mkdir /hadoop
echo "/dev/sdb1 /hadoop xfs defaults 0 0" | sudo tee -a /etc/fstab
sudo mount -a 

確認:

$ df -hT | grep /dev/sdb1
/dev/sdb1      xfs        50G   84M   100G   1% /hadoop

創建目錄 namenodedatanode..

sudo mkdir -p /hadoop/hdfs/{namenode,datanode}

將所有權設置為hadoop用戶和組。

sudo chown -R hadoop:hadoop /hadoop

然後打開文件。

sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

然後在兩者之間添加以下屬性 標籤。


   
      dfs.replication
      1
   
	
   
      dfs.name.dir
      file:///hadoop/hdfs/namenode
   
	
   
      dfs.data.dir
      file:///hadoop/hdfs/datanode
   

請參見下面的屏幕截圖。

在Ubuntu 20.04上安裝Apache Hadoop / HBase3. mapred-site.xml

現在,設置要使用的MapReduce框架。

sudo vim /usr/local/hadoop/etc/hadoop/mapred-site.xml

設置如下。


   
      mapreduce.framework.name
      yarn
   

4. yarn-site.xml

此文件中的設置將覆蓋以下設置 Hadoop紗線..定義資源管理和作業調度邏輯。

sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

添加:


   
      yarn.nodemanager.aux-services
      mapreduce_shuffle
   

這是我的設置的屏幕截圖。

在Ubuntu 20.04上安裝Apache Hadoop / HBase

步驟6:驗證Hadoop配置

初始化Hadoop基礎架構存儲。

sudo su -  hadoop
hdfs namenode -format

請參見下面的輸出。

在Ubuntu 20.04上安裝Apache Hadoop / HBase

測試您的HDFS配置。

$ start-dfs.sh
Starting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [hbase]
hbase: Warning: Permanently added 'hbase' (ECDSA) to the list of known hosts.

最後,檢查YARN配置。

$ start-yarn.shStarting resourcemanagerStarting nodemanagers

Hadoop 3.x默認Web UI端口:

  • 名稱節點 –默認的HTTP端口為9870。
  • 資源管理器 –默認的HTTP端口為8088。
  • MapReduce作業歷史記錄服務器 –默認的HTTP端口為19888。

您可以使用以下命令查看hadoop使用的端口:

$ ss -tunelp

輸出示例如下所示。

在Ubuntu 20.04上安裝Apache Hadoop / HBase

訪問Hadoop Web儀錶板 http://ServerIP:9870..

在Ubuntu 20.04上安裝Apache Hadoop / HBase在Ubuntu 20.04上安裝Apache Hadoop / HBase

概述Hadoop集群 http://ServerIP:8088..

在Ubuntu 20.04上安裝Apache Hadoop / HBase

測試是否可以創建目錄。

$ hadoop fs -mkdir /test
$ hadoop fs -ls /
Found 1 items
drwxr-xr-x - hadoop supergroup 0 2020-05-29 15:41 /test

Hadoop服務已停止

使用以下命令。

$ stop-dfs.sh
$ stop-yarn.sh

在Ubuntu 20.04上安裝HBase

您可以選擇以獨立模式或偽分布式模式安裝HBase。設置過程類似於Hadoop安裝。

步驟1:下載並安裝HBase

校驗 最新發布的 要麼穩定 在下載之前。我們建議您將穩定版本用於生產。

VER="2.2.4"
wget http://apache.mirror.gtcomm.net/hbase/stable/hbase-$VER-bin.tar.gz

解壓縮下載的Hbase存檔。

tar xvf hbase-$VER-bin.tar.gz
sudo mv hbase-$VER/ /usr/local/HBase/

更新$ PATH值。

cat <

更新外殼環境值。

$ source /etc/profile.d/hadoop_java.sh$ echo $HBASE_HOME/usr/local/HBase

編輯 JAVA_HOME Shell腳本hbase-env.sh:

$ sudo vim /usr/local/HBase/conf/hbase-env.sh
# Set JAVA_HOME - Line 27
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/

步驟2:配置HBase

像對Hadoop一樣進行配置。所有HBase配置文件都位於 /usr/local/HBase/conf/ 目錄。

hbase-site.xml

將數據目錄設置為此文件的適當位置。

選項1:以獨立模式安裝HBase(不建議)

在獨立模式下,所有守護程序(HMaster,HRegionServer和ZooKeeper)都在一個jvm進程/實例中運行

創建HBase根目錄。

sudo mkdir -p /hadoop/HBase/HFiles
sudo mkdir -p /hadoop/zookeeper
sudo chown -R hadoop:hadoop /hadoop/

打開文件進行編輯。

sudo vim /usr/local/HBase/conf/hbase-site.xml

然後如下配置 標籤如下所示:


   
      hbase.rootdir
      file:/hadoop/HBase/HFiles
   
	
   
      hbase.zookeeper.property.dataDir
      /hadoop/zookeeper
   

默認, hbase.rootdir 在屬性中,數據仍存儲在/ tmp /中。

使用以下命令啟動HBase start-hbase.sh HBase bin目錄中的腳本。

$ sudo su - hadoop$ start-hbase.sh running master, logging to /usr/local/HBase/logs/hbase-hadoop-master-hbase.out

選項2:以偽分布式模式安裝HBase(推薦)

我們的價值 hbase.rootdir 如果先前設置,它將以獨立模式啟動。在偽分布式模式下,HBase完全在單個主機上運行,​​但是每個HBase守護程序(HMaster,HRegionServer和ZooKeeper)作為單獨的進程運行。

要以偽分布式模式安裝HBase,請如下設置其值:


   
      hbase.rootdir
      hdfs://localhost:8030/hbase
   
	
   
      hbase.zookeeper.property.dataDir
      /hadoop/zookeeper
   
   
   
     hbase.cluster.distributed
     true
   

使用此設置,數據將存儲在HDFS中。

確保創建了Zookeeper目錄。

sudo mkdir -p /hadoop/zookeeper
sudo chown -R hadoop:hadoop /hadoop/

使用以下命令啟動HBase start-hbase.sh HBase bin目錄中的腳本。

$ sudo su - hadoop
$ start-hbase.sh 
localhost: running zookeeper, logging to /usr/local/HBase/bin/../logs/hbase-hadoop-zookeeper-hbase.out
running master, logging to /usr/local/HBase/logs/hbase-hadoop-master-hbase.out
: running regionserver, logging to /usr/local/HBase/logs/hbase-hadoop-regionserver-hbase.out

檢查HDFS的HFS目錄。

$ hadoop fs -ls /hbaseFound 9 itemsdrwxr-xr-x   - hadoop supergroup          0 2019-04-07 09:19 /hbase/.tmpdrwxr-xr-x   - hadoop supergroup          0 2019-04-07 09:19 /hbase/MasterProcWALsdrwxr-xr-x   - hadoop supergroup          0 2019-04-07 09:19 /hbase/WALsdrwxr-xr-x   - hadoop supergroup          0 2019-04-07 09:17 /hbase/corruptdrwxr-xr-x   - hadoop supergroup          0 2019-04-07 09:16 /hbase/datadrwxr-xr-x   - hadoop supergroup          0 2019-04-07 09:16 /hbase/hbase-rw-r--r--   1 hadoop supergroup         42 2019-04-07 09:16 /hbase/hbase.id-rw-r--r--   1 hadoop supergroup          7 2019-04-07 09:16 /hbase/hbase.versiondrwxr-xr-x   - hadoop supergroup          0 2019-04-07 09:17 /hbase/oldWALs

步驟3:管理HMaster和HRegionServer

HMaster服務器控制HBase群集。您最多可以啟動9個備份HMaster服務器。這將創建總共10個HMaster,包括Primary。

HRegionServer根據HMaster的指令管理StoreFiles數據。通常,一個HRegionServer在群集中的每個節點上運行。在同一系統上運行多個HRegionServer對於在偽分布式模式下進行測試很有用。

您可以使用腳本啟動和停止主服務器和區域服務器。 local-master-backup.shlocal-regionservers.sh 每。

$ local-master-backup.sh start 2 # Start backup HMaster$ local-regionservers.sh start 3 # Start multiple RegionServers
  • 每個HMaster使用兩個端口(默認情況下為16000和16010)。由於端口偏移量已添加到這些端口, 2,Backup HMaster使用端口16002和16012

以下命令使用端口16002 / 16012、16003 / 16013和16005/16015啟動三個備份服務器。

$ local-master-backup.sh start 2 3 5
  • 每個RegionServer需要兩個端口,默認端口為16020和16030。

以下命令啟動四個其他RegionServer,它們運行在從16022/16032(基本端口16020/16030加2)開始的順序端口上。

$ local-regionservers.sh start 2 3 4 5

更換停止 start 帶參數 stop 每個命令後跟要停止的服務器偏移量。例。

$ local-regionservers.sh stop 5

啟動HBase Shell

使用HBase Shell之前,Hadoop和Hbase必須正在運行。在此處啟動服務的正確順序。

$ start-all.sh
$ start-hbase.sh

然後使用HBase Shell。

[email protected]:~$ hbase shell2019-04-07 10:44:43,821 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicableSLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/usr/local/HBase/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]HBase ShellUse "help" to get list of supported commands.Use "exit" to quit this interactive shell.Version 1.4.9, rd625b212e46d01cb17db9ac2e9e927fdb201afa1, Wed Dec  5 11:54:10 PST 2018hbase(main):001:0> 

HBase正在停止。

stop-hbase.sh

Hadoop和HBase已成功安裝在Ubuntu 20.04上。

閱讀書籍:


Hadoop:權威指南:Internet規模的存儲和分析

Hadoop:權威指南:Internet規模的存儲和分析

$ 59.99 $ 23.95
________________________________________________________________
有現貨



13新
使用從$ 37.88到$ 22.23.95

立即購買
在Ubuntu 20.04上安裝Apache Hadoop / HBase亞馬遜網




2020年5月30日上午3:29


Hadoop說明

Hadoop說明

有現貨



新1

立即購買
在Ubuntu 20.04上安裝Apache Hadoop / HBase亞馬遜網




2020年5月30日上午3:29
________________________________________________________________






________________________________________________________________


特點

發布日期2014-06-16T00:00:00.000Z
語言英語
頁數156
發行日期2014-06-16T00:00:00.000Z
格式Kindle電子書


Hadoop應用架構

Hadoop應用架構

$ 49.99 $ 44.43
________________________________________________________________
有現貨



18個新
由$ 38.22 27使用從$ 8.94免費送貨

立即購買
在Ubuntu 20.04上安裝Apache Hadoop / HBase亞馬遜網




2020年5月30日上午3:29


HBase:可靠指南:隨機訪問行星大小數據

HBase:可靠指南:隨機訪問行星大小數據

$ 39.99 $ 14.75
________________________________________________________________
有現貨



17新
從$ 14.75到51 $ 1.98

立即購買
在Ubuntu 20.04上安裝Apache Hadoop / HBase亞馬遜網




2020年5月30日上午3:29
________________________________________________________________






________________________________________________________________


特點

零件號978-1-4493-9610-7
是成人用品
1個
語言英語
頁數556
發行日期2011-09-23T00:00:01Z


大數據:可伸縮實時數據系統的原理和最佳實踐

大數據:可伸縮實時數據系統的原理和最佳實踐

$ 49.99 $ 35.49
________________________________________________________________
有現貨



11個新
由$ 26.00 28使用從$ 10.03免費送貨

立即購買
在Ubuntu 20.04上安裝Apache Hadoop / HBase亞馬遜網




2020年5月30日上午3:29
________________________________________________________________






________________________________________________________________


特點

零件號43171-600463
是成人用品
發布日期2015-05-10T00:00:01Z
第一
語言英語
頁數328
發行日期2015-05-10T00:00:01Z


設計數據密集型應用程序:可靠,可擴展和可維護的系統背後的重要構想

設計數據密集型應用程序:可靠,可擴展和可維護的系統背後的重要構想

$ 59.99 $ 34.99
________________________________________________________________
有現貨



27新
由$ 30.99 23使用從$ 31.48免費送貨

立即購買
在Ubuntu 20.04上安裝Apache Hadoop / HBase亞馬遜網




2020年5月30日上午3:29
________________________________________________________________






________________________________________________________________


特點

零件號41641073
1個
語言英語
頁數616
發行日期2017-04-11T00:00:01Z

參考:

這是續集。
您可以通過以下鏈接以PDF格式下載本文,以為我們提供支持。

將指南下載為PDF


這是續集。

這是續集。
這是續集。

Sidebar