linux安装单机版HBase
安装HBase的前置环境
1、JDK环境
2、hadoop环境
3、zookeeper环境(可选,HBase自带zookeeper)
各个环境参考地址: https://hbase.apache.org/book.html#basic.prerequisites
HBase各版本对应的可选java版本
HBase各版本对应可选的hadoop版本
本次安装相关版本信息
1、Java 1.8
下载地址 https://www.oracle.com/java/technologies/downloads/#java8
2、Hadoop-3.3.6.tar.gz
下载地址:https://archive.apache.org/dist/hadoop/common/
国内地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common
3、zookeeper-3.7.2.tar.gz
下载地址 https://dlcdn.apache.org/zookeeper/
4、HBase-2.5.8-bin.tar.gz
官网:https://zookeeper.apache.org/
下载地址:https://archive.apache.org/dist/hbase/
本次安装所有java包都放在了 /opt/firma/ 目录下, 解压后的文件都放在了/opt/app/路径下
安装Java环境
1、查看当前是否有jdk版本,是否与需要安装的HBase版本适配
# 查看java是否已安装[root@localhost /]# java -versionjava version "21.0.3"2024-04-16 LTS
2、安装java1.8
# 解压上传的jar到指定目录tar-zxvf jdk-8u411-linux-x64.tar.gz -C /opt/app/
# 配置环境变量vim /etc/profile
3、添加java环境变量
exportJAVA_HOME=/opt/app/jdk1.8.0_411
exportPATH=$JAVA_HOME/bin:$PATH
4、重新加载配置,输入:source /etc/profile
source /etc/profile
# 查看java版本进行测试java-version
安装Hadoop
1、配置免密登录
1.1 设置免密
ssh-keygen -t rsa -P''
1.2 生成无密码密钥对,询问保存路径直接输入回车
1.3 生成密钥对:id_rsa和id_rsa.pub,默认存储在~/.ssh目录下。 接下来:把id_rsa.pub追加到授权的key里面去。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 修改权限chmod600 ~/.ssh/authorized_keys
#需要启用RSA认证,启动公钥私钥配对认证方式vim /etc/ssh/sshd_config
1.4 如果提示权限不足在命令前加上sudo 修改ssh配置
PubkeyAuthentication yes# 启用公钥私钥配对认证方式
AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径
1.5 重启SSH
servicessh restart
1.6此步骤报错:Failed to restart ssh.service: Unit not found.,使用以下命令重启
systemctl restart sshd
2、配置环境变量
# 解压上传的jar到指定目录tar-zxvf hadoop-3.3.6.tar.gz -C /opt/app/
# 配置环境变量vim /etc/profile
2.1 增加Hadoop环境变量配置
exportHADOOP_HOME=/opt/app/hadoop-3.3.6
exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
2.2 使环境变量生效source /etc/profile
source /etc/profile
2.3 执行hadoop version,验证是否配置正确
[root@localhost firma]# hadoop version
Hadoop 3.3.6
Source code repository https://github.com/apache/hadoop.git -r 1be78238728da9266a4f88195058f08fd012bf9c
Compiled by ubuntu on 2023-06-18T08:22Z
Compiled on platform linux-x86_64
Compiled with protoc 3.7.1
From source with checksum 5652179ad55f76cb287d9c633bb53bbd
This command was run using /opt/app/hadoop-3.3.6/share/hadoop/common/hadoop-common-3.3.6.jar
3、配置Hadoop相关文件
3.1 总共需要修改三个文件,路径在$HADOOP_HOME/etc/hadoop/下
hadoop-env.sh
core-site.xml
hdfs-site.xml
cd /opt/app/hadoop-3.3.6/etc/hadoop/
# 修改hadoop-env.shvim hadoop-env.sh
# hadoop-env.sh文件中增加jdk配置,设置jdk的存放路径exportJAVA_HOME=/opt/app/jdk1.8.0_411
cd /opt/app/hadoop-3.3.6/etc/hadoop/
# 修改core-site.xmlvim core-site.xml
#增加一下配置<configuration><property><!--指定 namenode 的 hdfs 协议文件系统的通信地址--><name>fs.defaultFS</name><value>hdfs://localhost:8020</value></property><property><!--指定 hadoop 数据文件存储目录--><name>hadoop.tmp.dir</name><value>/opt/app/hadoop/data</value></property></configuration>
# 修改hdfs-site.xmlvim hdfs-site.xml
# 增加下面配置<configuration><property><!--由于我们这里搭建是单机版本,所以指定 dfs 的副本系数为 1--><name>dfs.replication</name><value>1</value></property></configuration>
4、关闭防火墙,不关闭防火墙可能导致无法访问 Hadoop 的 Web UI 界面
# 查看防火墙状态sudo firewall-cmd --state# 关闭防火墙:sudo systemctl stop firewalld
# 禁止开机启动sudo systemctl disable firewalld
5、第一次启动 Hadoop 时需要进行初始化,进入 /opt/app/hadoop-3.3.6/bin目录下,执行以下命令
cd /opt/app/hadoop-3.3.6/bin
#执行初始化
./hdfs namenode -format
Hadoop 3中不允许使用root用户来一键启动集群,需要配置启动用户
cd /opt/app/hadoop-3.3.6/bin
# 编辑start-dfs.sh、stop-dfs.sh,在顶部加入以下内容HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
6、启动HDFS,进入/opt/app/hadoop-3.3.6/bin 目录下,启动 HDFS
cd /opt/app/hadoop-3.3.6/bin
# 执行重启
./start-dfs.sh
7、验证是否启动
方式一:执行 jps 查看 NameNode 和 DataNode 服务是否已经启动:
[root@localhost hadoop]# jps6050 Jps
23909 NameNode
24074 DataNode
24364 SecondaryNameNode
方式二:访问http://localhost:9870/
安装HBase
Hbase依赖hadoop的hdfs、zookeeper和java环境
1、下载解压设置环境变量
# 解压上传的jar到指定目录tar-zxvf hbase-2.5.8-bin.tar.gz -C /opt/app/
# 配置环境变量vim /etc/profile
# 添加环境变量exportHBASE_HOME=/opt/app/hbase-2.5.8
exportPATH=$PATH:${HBASE_HOME}/bin
# 重新加载环境变量source /etc/profile
2、修改hbase配置文件hbase-env.sh、hbase-site.xml
# 修改 hbase-env.shvim /opt/app/hbase-2.5.8/conf/hbase-env.sh
#增加一下配置#要求jdk1.8+exportJAVA_HOME=/opt/app/jdk1.8.0_411
#配置Hbase是否使用内置的zookeeperexportHBASE_MANAGES_ZK=true
# 修改 hbase-site.xmlvim /opt/app/hbase-2.5.8/conf/hbase-site.xml
<configuration><!-- false是单机模式,true是分布式模式。--><!-- 分布式是指hbase和zookeeper运行在不同的jvm,即hbase用外部的zookeeper --><property><name>hbase.cluster.distributed</name><value>false</value></property><!-- hbase存放的位置,一般hbase数据存在hdfs,这里的hdfs可以是单机版的--><property><name>hbase.rootdir</name><!-- 这里的hdfs地址要跟hadoop > core > sitehdfs地址一致 --><value>hdfs://localhost:8020/hbase</value></property><!-- 不加这个启动start-hbase.sh会报错 --><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><!-- zk主机地址和端口采用默认的,不用配置 --><!-- 默认会根据regionserver文件去找,默认是localhost:2181 --></configuration>
3、启动
cd /opt/app/hbase-2.1.2/bin
# 启动
./start-hbase.sh
4、测试是否成功
方法一、在浏览器输入:http://localhost1:16010/ 显示这个页面标识成功
显示这个页面标识成功
方法二
# 输入jps命令,存在HMaster标识启动成功[root@localhost bin]# jps23909 NameNode
24074 DataNode
15722 Jps
15147 HQuorumPeer
15275 HMaster
24364 SecondaryNameNode
# 单机模式时没有HRegionServer15486 HRegionServer
# 可以使用hbase shell,list查看表命令看是否报错[root@localhost logs]# hbase shell
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.5.8, r37444de6531b1bdabf2e445c83d0268ab1a6f919, Thu Feb 2915:37:32 PST 2024
Took 0.0010 seconds
hbase:001:0> list
TABLE
0 row(s)
Took 0.2467 seconds
=>[]
hbase:002:0>exit
版权归原作者 街角等待 所有, 如有侵权,请联系我们删除。