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 -version
java 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环境变量

export JAVA_HOME=/opt/app/jdk1.8.0_411
export PATH=$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

# 修改权限
chmod 600 ~/.ssh/authorized_keys

#需要启用RSA认证,启动公钥私钥配对认证方式
vim /etc/ssh/sshd_config

1.4 如果提示权限不足在命令前加上sudo 修改ssh配置

PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径

1.5 重启SSH

service ssh 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环境变量配置

export HADOOP_HOME=/opt/app/hadoop-3.3.6
export PATH=$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.sh
vim hadoop-env.sh
# hadoop-env.sh文件中增加jdk配置,设置jdk的存放路径
export JAVA_HOME=/opt/app/jdk1.8.0_411
cd /opt/app/hadoop-3.3.6/etc/hadoop/
# 修改core-site.xml
vim 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.xml
vim 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]# jps
6050 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
# 添加环境变量
export HBASE_HOME=/opt/app/hbase-2.5.8
export PATH=$PATH:${HBASE_HOME}/bin
# 重新加载环境变量
source /etc/profile

2、修改hbase配置文件hbase-env.sh、hbase-site.xml

# 修改 hbase-env.sh
vim /opt/app/hbase-2.5.8/conf/hbase-env.sh
#增加一下配置
#要求jdk1.8+
export JAVA_HOME=/opt/app/jdk1.8.0_411
#配置Hbase是否使用内置的zookeeper
export HBASE_MANAGES_ZK=true
# 修改 hbase-site.xml
vim /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]# jps
23909 NameNode
24074 DataNode
15722 Jps
15147 HQuorumPeer
15275 HMaster
24364 SecondaryNameNode
# 单机模式时没有HRegionServer
15486 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 29 15:37:32 PST 2024
Took 0.0010 seconds
hbase:001:0> list
TABLE
0 row(s)
Took 0.2467 seconds
=> []
hbase:002:0> exit
  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值