macOS 搭建Hadoop+HBase

概述

关于Hadoop就不介绍了,之前的文章已经提到。
HBase是一种NoSQL数据库,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。
而HBase运行环境依赖Hadoop。

安装Hadoop(3.1.1)

  • 安装JDK1.7+
  • 修改主机名为localhost:
    sudo scutil --set HostName localhost
  • 配置ssh
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

此步骤的目的是:保证命令 >ssh localhost 可以免密码正常登陆

  • 安装Hadoop
    > brew install hadoop
    安装完之后,会提示安装的位置:/usr/local/Cellar/hadoop
    如果遇到 brew link hadoop 报错(/usr/local/sbin/写错误),可能是此目录不存在或者是权限不足
  • 配置运行环境
    (此步需要在hadoop的安装目录下找到配置文件)
  1. core-site.xml
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:///usr/local/Cellar/hadoop/3.1.1/libexec/tmp</value>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
  1. hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:///usr/local/Cellar/hadoop/3.1.1/libexec/tmp/dfs/name</value>
	</property>
	<property>
		<name>dfs.namenode.data.dir</name>
		<value>file:///usr/local/Cellar/hadoop/3.1.1/libexec/tmp/dfs/data</value>
	</property>  
</configuration>
  1. mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  1. hadoop-env.sh
    将文件中的关于JAVA_HOME的环境变量打开并赋值
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home
  1. 修改环境变量
    在 ~/.bash_profile 文件中写入:
export HADOOP_HOME=/usr/local/Cellar/hadoop/3.1.1/libexec
export PATH=$PATH:${HADOOP_HOME}/bin

在终端执行命令,使环境变量生效
> source ~/.bash_profile

  1. 格式化HDFS
> cd /usr/local/Cellar/hadoop/3.1.1/bin
> ./hdfs namenode -format
  • 运行启动Hadoop
> cd /usr/local/Cellar/hadoop/3.1.1/sbin
> ./start-dfs.sh
  • 查看Hadoop启动情况
    执行以下命令
> jps
输出:
* DataNode
* NameNode
* SecondaryNameNode
其中 * 号是进程号,此处忽略

以上完成了Hadoop环境搭建.

安装HBase(1.2.6.1)

  • 安装HBase
    > brew install hbase
    安装完成提示位置:/usr/local/Cellar/hbase/
  • 配置运行环境
    (此步需要在hbase的安装目录下找到配置文件)
  1. hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///usr/local/var/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/var/zookeeper</value>
  </property>
  <property>
    <name>hbase.zookeeper.dns.interface</name>
    <value>lo0</value>
  </property>
  <property>
    <name>hbase.regionserver.dns.interface</name>
    <value>lo0</value>
  </property>
  <property>
    <name>hbase.master.dns.interface</name>
    <value>lo0</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>
  1. regionservers
    查看是否有localhost,如果没有则添加

  2. 修改环境变量
    在 ~/.bash_profile 文件中写入:

# for HBase
export HBASE_CLASSPATH=/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop
export HBASE_MANAGES_ZK=true
export HBASE_HOME=/usr/local/Cellar/hbase/1.2.6.1/libexec
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_REGIONSERVERS=${HBASE_HOME}/conf/regionservers
export HBASE_HOME=/usr/local/Cellar/hbase/1.2.6.1/libexec
export PATH=$PATH:${HBASE_HOME}/bin

在终端执行命令,使环境变量生效
> source ~/.bash_profile

  • 运行启动HBase
> cd /usr/local/Cellar/hbase/1.2.6.1/bin
> ./start-hbase.sh
  • 查看Hadoop启动情况
    执行以下命令
> jps
输出:
* HRegionServer
* HMaster
* HQuorumPeer
* DataNode
* Jps
* NameNode
* SecondaryNameNode 
其中 * 号是进程号,此处忽略

HBase 操作

  • 启动数据库
> hbase shell
输出:
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.6.1, rUnknown, Sun Jun  3 23:19:26 CDT 2018
  • 数据操作
> create 'student','Sname','Ssex','Sage','Sdept','course'

> put 'student', '95001','Sname', 'Uwei'
> put 'student', '95001','Ssex', 'Male'
> put 'student', '95001','course:math', '80'

> scan 'student'

参考文章:

  1. macOS安装HBase及详解
  2. HBase四种部署模式和基本操作
  3. macOS安装Hadoop 3.1.1(伪分布模式)
  4. macOS配置hadoop+Hbase开发环境
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值