HBase 完全分布式安装(新)

第1关:HBase 完全分布式安装

1.主机映射配置
输入命令 vi /etc/hosts进行主机 ip 的映射设置,添加如下配置:

复制代码
#master、slave1、slave2
172.16.248.174    master
172.16.251.34    slave1
172.16.240.174    slave2

2.免密登录

在各节点服务器生成秘钥:

复制代码
#master、slave1、slave2
ssh-keygen -t rsa

在 master 复制 master、slave1、slave2 的公钥。

复制代码
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

在 slave1 复制 master 的 authorized_keys 文件。

复制代码
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

在 slave2 复制 master 的 authorized_keys 文件。

复制代码
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

3.安装 Zookeeper

复制代码
cd /opt
tar -zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 /app
vim /etc/profile
# 添加配置
export ZOOKEEPER_HOME=/app/zookeeper-3.4.6
export PATH=$ZOOKEEPER_HOME/bin:$PATH
# 保存退出
source /etc/profile
cd /app/zookeeper-3.4.6/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
# 修改添加配置
dataDir=/app/zookeeper-3.4.6/zkData
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
mkdir /app/zookeeper-3.4.6/zkData
vim /app/zookeeper-3.4.6/zkData/myid

在 myid 文件中输入数字 1 ,保存退出

分发 Zookeeper

将解压好的 Zookeeper 与配置文件通过 scp 命令发送至 slave1、slave2 中

复制代码
#发送 Zookeeper
scp -r /app/zookeeper-3.4.6 root@slave1:/app
scp -r /app/zookeeper-3.4.6 root@slave2:/app
# 修改 slave1、slave2 中的 myid
# slave1:
vim /app/zookeeper-3.4.6/zkData/myid
# 删除所有内容,输入数字 2 ,保存退出
# slave2:
vim /app/zookeeper-3.4.6/zkData/myid
# 删除所有内容,输入数字 3 ,保存退出
#master
#发送配置文件
scp  /etc/profile root@slave1:/etc/
scp  /etc/profile root@slave2:/etc/

在各节点上分别执行source /etc/profile,使配置文件生效。

启动 Zookeeper

分别在三台节点上执行命令启动 Zookeeper

复制代码
# master
zkServer.sh start
# slave1
zkServer.sh start
# slave2
zkServer.sh start

4.Hadoop 伪分布式安装

复制代码
cd /opt
tar -zxvf hadoop-3.1.3.tar.gz -C /app/
vim /etc/profile
# 添加配置
export HADOOP_HOME=/app/hadoop-3.1.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
# 保存退出
source /etc/profile
cd /app/hadoop-3.1.3/etc/hadoop
# 编辑文件
vi hadoop-env.sh
# 在文件末尾添加如下代码
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
# 编辑文件
vim core-site.xml
# 在文件末尾的 configuration 标签中添加代码如下
    <!--指定Hadoop运行时产生文件的存储目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/app/hadoop-3.1.3/data/hadoop/tmp</value>
    </property>
    <!--指定HDFS中NameNode的地址-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
#编辑文件
vim hdfs-site.xml
# 在文件末尾的 configuration 标签中添加代码如下
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
# 格式化 NameNode
hadoop namenode -format
# 启动 HDFS
start-dfs.sh

5.HBase 完全分布式搭建

复制代码
cd /opt
tar -zxvf hbase-2.2.3-bin.tar.gz -C /app/
vim /etc/profile
# 添加配置
export HBASE_HOME=/app/hbase-2.2.3
export PATH=$HBASE_HOME/bin:$PATH
# 保存退出
source /etc/profile
cd /app/hbase-2.2.3/conf
vi hbase-env.sh
# 添加配置
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
export HBASE_MANAGES_ZK=false
vim hbase-site.xml
# 添加配置
<property>
          <name>hbase.rootdir</name>
          <value>hdfs://master:9000/hbase</value>
      </property> 
      <property>
          <name>hbase.cluster.distributed</name>
          <value>true</value>
      </property>
      <property>
          <name>hbase.unsafe.stream.capability.enforce</name>
          <value>false</value>
      </property>
           <property>
            <name>hbase.zookeeper.quorum</name>
          <value>master,slave1,slave2</value>
      </property>
      <property>
          <name>hbase.zookeeper.property.dataDir</name>
          <value>/app/zookeeper-3.4.6/zkData</value>
      </property>
vim regionservers
# 添加配置
master
slave1
slave2
# 分发
scp -r /app/hbase-2.2.3 root@slave1:/app
scp -r /app/hbase-2.2.3 root@slave2:/app
scp  /etc/profile root@slave1:/etc/
scp  /etc/profile root@slave2:/etc/
# 在各节点上分别执行 source /etc/profile,使配置文件生效。
# master 上启动 HBase
start-hbase.sh
相关推荐
天桥下的卖艺者9 小时前
使用scitable包,两步生成逆概率删失权重(IPCW)
数据库·r语言
隔窗听雨眠9 小时前
AI原生数据库浪潮:国产数据库的架构重构与路径之争
数据库
数据库小学妹10 小时前
数据库选型实战:从数据类型到TCO成本,五维决策框架+九款产品横评
数据库·信创·国产数据库·数据库选型·oracle迁移
神龙天舞200111 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
丙氨酸長鏈12 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
独行侠影a13 小时前
APScheduler+Redis 分布式定时任务:解决多实例任务重复执行
数据库·redis·分布式
传说故事13 小时前
数据库中一些常用英文单词含义
数据库·oracle
夏贰四13 小时前
中小企业搭建业务中台如何控成本?业务中台轻量化落地分几步实施?
数据库·业务中台
林焱RPA14 小时前
影刀RPA200篇纪念版:最实用的20个自动化场景大盘点
数据库
名字还没想好☜14 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine