ubuntu下hbase的搭建和依赖环境搭建以及相关操作

ubuntu从0安装HBase和HBase所依赖的环境的安装配置

  • 简单说三步走
    1. java环境的安装和配置
    2. hadoop安装和配置
    3. hbase安装和配置

我的搭建环境

  • ubuntu:18 软件源阿里云

  • java:openjdk version “1.8.0_252”

  • Hadoop:hadoop-2.7.7

  • Hbase:hbase-1.4.13

由于后面需要安装openssh-server所以我在这里将软件源修改为国内的更新源

sudo vi /etc/apt/sources.list

  • 阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
  • 清华大学
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
  • 保存后执行命令 apt-get update &apt-get upgrade
apt-get dist-upgrade
apt-get update
apt-get full-upgrade
  • 删除以下载的包
apt-get clean
  • 重新启动
reboot

一、ubuntu安装SSH

  1. 安装Hadoop在Linux环境下之前,需要建立和使用Linux SSH(安全Shell)。按照下面设立Linux环境提供的步骤。

    SSH设置和密钥生成

    SSH设置需要在集群上执行不同的操作,如启动,停止和分布式守护shell操作。进行身份验证不同的Hadoop用户,需要一种用于Hadoop的用户提供的公钥/私钥对,并用不同的用户共享。

  • 为什么要安装SSH?
    因为在Hadoop启动以后,namenode是通过SSH来启动和停止各个节点上的各种守护进程的
  • 复制公钥从id_rsa.pub为authorized_keys,并提供所有者,读写权限到authorized_keys文件。
# ssh-keygen -t rsa
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 0600 ~/.ssh/authorized_keys
  • 验证ssh
ssh localhost

一开始安装会出现错误

  • 原因:
    Ubuntu默认并没有安装ssh服务,如果通过ssh链接Ubuntu,需要自己手动安装openssh-server
  • 解决方案:安装SSH
sudo apt-get install openssh-server

二、java环境的安装和配置

  • 安装java环境的命令
sudo apt install openjdk-8-jre-headless
sudo apt install openjdk-8-jdk-headless
  • 输入java 和 javac 检查是否安装成功
  • 配置环境变量
vi /etc/profile   //打开配置文件
// shift+g跳到配置文件的最后一行,o(在当前行的下一行打开编辑模式)将以下命令写入配置文件中
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
export PATH=${JAVA_HOME}/bin:$PATH
  • 执行 source /etc/profile 全局设置立刻生效
  • 此时可以通过echo $JAVA_HOME来验证结果
  • 重启检验java -version看到版本后即可

三、hadoop安装和配置

  • 下载hadoop
cd /usr/local
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
hadoop国内镜像离线下载地址:北京信息学院镜像http://mirror.bit.edu.cn/apache/hadoop/common/
tar xzf hadoop-2.7.7.tar.gz
mkdir hadoop
mv hadoop-2.7.7/* hadoop/
  1. 安装 Hadoop
    在这里安装模拟分布式模式的Hadoop。

  2. 设置 Hadoop 环境变量
    打开Hadoop 的环境变量文件 sudo vi ~/.bashrc

    export HADOOP_HOME=/usr/local/hadoop
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export YARN_HOME=$HADOOP_HOME
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
    export HADOOP_INSTALL=$HADOOP_HOME

source ~/.bashrc 应用
2. Hadoop配置
根据需要Hadoop将配置文件中的内容作修改。

cd $HADOOP_HOME/etc/hadoop

为了使用Java开发Hadoop程序,必须用java在系统中的位置来替换 hadoop-env.sh文件中的 java环境变量JAVA_HOME的值

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

配置Hadoop

  • core-site.xml用于Hadoop实例的端口号,分配给文件系统,存储器限制用于存储数据存储器和读/写缓冲器的大小的信息。
  • vi core-site.xml
<configuration>
<property>
 <name>fs.default.name</name>
 <value>hdfs://localhost:9000</value>
 </property>
</configuration>
  • yarn-site.xml此文件用于配置成yarn在Hadoop中
  • vi yarn-site.xml
<configuration>
<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
 </property>
</configuration>
  • hdfs-site.xml用于复制数据的值,NameNode的路径,本地文件系统,要存储Hadoop基础架构的Datanode路径的信息。
  • vi hdfs-site.xml
<configuration>
<property>
 <name>dfs.replication</name >
 <value>1</value>
 </property>
 <property>
 <name>dfs.name.dir</name>
 <value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
 </property>
 <property>
 <name>dfs.data.dir</name>
 <value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
 </property>
</configuration>
  • mapred-site.xml指定MapReduce框架以使用。默认情况下Hadoop包含yarn-site.xml模板。首先,它需要从mapred-site.xml复制模板到mapred-site.xml文件,使用下面的命令来。
cp mapred-site.xml.template mapred-site.xml
  • vi mapred-site.xm
<configuration>
<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
</configuration>
  1. 验证Hadoop
  • 第1步 - 名称节点设置
    设置名称节点使用“hdfs namenode -format”命令如下
cd ~
hdfs namenode -format

可能会报权限或者文件目录找不到的错误
查看报错信息是因为文件下载下来后没有相关的权限,或者我们之前配置的文件路径有误,一定要填写自己的文件路径
相应的就解决方案sudo chmod赋予相关的权限即可
或者mkdir -p 创建与报错信息相关的目录

  • 第2步 - 验证Hadoop DFS
    下面的命令用来启动DFS。执行这个命令将启动Hadoop文件系统。
start-dfs.sh
  • 第3步 - 验证Yarn脚本
    下面的命令用来启动yarn脚本。执行此命令将启动yarn守护进程。
start-yarn.sh
  • 第4步 - 访问Hadoop上的浏览器
    访问Hadoop的默认端口号为50070。使用以下网址,以获取Hadoop服务在浏览器中。
http://localhost:50070

在这里插入图片描述

  • 第5步 - 验证集群中的所有应用程序
    访问群集的所有应用程序的默认端口号为8088。使用以下URL访问该服务
http://localhost:8088/

在这里插入图片描述

四、hbase安装和配置

  1. 下载HBase

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.4.13/hbase-1.4.13-bin.tar.gz
    离线下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/
    
  2. 解压:tar -zxvf hbase-1.4.13-bin.tar.gz
    移动到自己的目录:sudo mv hbase-1.4.9 /usr/local
    
  3. 进入conf目录,在 hbase-env.sh后面添加如下内容,注意这里的JAVA_HOME填自己的jdk路径

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64   **注意这里的JAVA_HOME填自己的jdk路径**
    export HBASE_MANAGES_ZK=false
    
  4. 修改HBase的主配置文件hbsae-site.xml:在单实例HBase运行环境下,主要是修改指定HBase和ZooKeeper的写数据目录

<configuration>
//Here you have to set the path where you want HBase to store its files.
//HBase数据保存目录
<property>
<name>hbase.rootdir</name>
<value>file:/home/hadoop/HBase/HFiles</value>
</property>
//Here you have to set the path where you want HBase to store its built
in zookeeper files.
//Zookeeper的数据保存目录
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property>
</configuration>
  1. 添加到环境变量
sudo vi ~/.bashrc

export HBASE_HOME=/usr/local/hbase-1.4.13//填写自己的路径
export HBASE_CONF_DIR=$HBASE_HOME/conf
export HBASE_CLASS_PATH=$HBASE_CONF_DIR
export PATH=$PATH:$HBASE_HOME/bin

使用source ~/.bashrc命令语句使修改的 .bashrc文件立即生效
  1. 验证
  • 使用hbase version 命令测试是否修改.bashrc文件成功,如能显示HBase正确的版本则说明修改成功。

  • 可以通过使用 HBase 的 bin 文件夹中提供 start-hbase.sh 脚本启动HBase

  • 停止HBase:stop-hbase.sh

  • 可以通过使用./hbase shell打开hbase的客户端进行操作

  • 测试hbase 基础操作

    # 创建表
    create 'student', 'score'
    # list: 列出HBase的所有表
    
    # 查看表结构
    describe 'student'
    
    # 删除数据
    # 用drop命令可以删除表。在删除一个表之前必须先将其禁用。
    disable 'student'
    drop 'student'
    
    # 添加数据
    put 'student', 'zhangsan', 'score:english', '69'
    put 'student', 'zhangsan', 'score:Math', '86'
    put 'student', 'zhangsan', 'score:Computer', '69'
    put 'student', 'lisi', 'score:english', '55'
    put 'student', 'lisi', 'score:Math', '100'
    put 'student', 'lisi', 'score:Computer', '77'
    
    # 查询数据
    scan 'student'
    get 'student', 'zhangsan', 'score:Computer'
    
    # 修改数据
    put 'student', 'lisi', 'score:Math', '95'
    
    # 删除数据
    delete 'student', 'lisi', 'score:Math'
    
    # 删除表的所有单元格
    deleteall 'student', 'lisi'
    
    # count命令计算表的行数量
    count 'student'
    
    

    在这里插入图片描述
    对比一下MySQL的表
    在这里插入图片描述

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不走小道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值