在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
请参见下面的屏幕截图。
2.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
创建目录 namenode
和 datanode
..
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
请参见下面的屏幕截图。
3. 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
这是我的设置的屏幕截图。
步骤6:验证Hadoop配置
初始化Hadoop基础架构存储。
sudo su - hadoop
hdfs namenode -format
请参见下面的输出。
测试您的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
输出示例如下所示。
访问Hadoop Web仪表板 http://ServerIP:9870
..
概述Hadoop集群 http://ServerIP:8088
..
测试是否可以创建目录。
$ 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.sh
和local-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规模的存储和分析
$ 59.99 $ 23.95
________________________________________________________________
有现货
13新
使用从$ 37.88到$ 22.23.95
立即购买
亚马逊网
2020年5月30日上午3:29
Hadoop说明
有现货
新1
立即购买
亚马逊网
2020年5月30日上午3:29
________________________________________________________________
________________________________________________________________
特点
发布日期 | 2014-06-16T00:00:00.000Z |
语言 | 英语 |
页数 | 156 |
发行日期 | 2014-06-16T00:00:00.000Z |
格式 | Kindle电子书 |
Hadoop应用架构
$ 49.99 $ 44.43
________________________________________________________________
有现货
18个新
由$ 38.22 27使用从$ 8.94免费送货
立即购买
亚马逊网
2020年5月30日上午3:29
HBase:可靠指南:随机访问行星大小数据
$ 39.99 $ 14.75
________________________________________________________________
有现货
17新
从$ 14.75到51 $ 1.98
立即购买
亚马逊网
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免费送货
立即购买
亚马逊网
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免费送货
立即购买
亚马逊网
2020年5月30日上午3:29
________________________________________________________________
________________________________________________________________
特点
零件号 | 41641073 |
版 | 1个 |
语言 | 英语 |
页数 | 616 |
发行日期 | 2017-04-11T00:00:01Z |
参考:
这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。
将指南下载为PDF
关
这是续集。
这是续集。
这是续集。