乐趣区

关于大数据:HadoopHbase伪集群安装步骤

Hbase 和 Hadoop 和 jdk 版本肯定要对应, 不然很容易出错

Hbase 和 jdk 版本对应关系

Java Version HBase 1.3+ HBase 2.1+ HBase 2.3+
JDK7 反对 不反对 不反对
JDK8 反对 反对 反对
JDK11 不反对 不反对 没有测试

Hbase 和 Hadoop 版本对应关系

HBase-1.3.x HBase-1.4.x HBase-1.5.x HBase-2.1.x HBase-2.2.x HBase-2.3.x
Hadoop-2.4.x 反对 不反对 不反对 不反对 不反对 不反对
Hadoop-2.5.x 反对 不反对 不反对 不反对 不反对 不反对
Hadoop-2.6.0 不反对 不反对 不反对 不反对 不反对 不反对
Hadoop-2.6.1+ 反对 不反对 不反对 不反对 不反对 不反对
Hadoop-2.7.0 不反对 不反对 不反对 不反对 不反对 不反对
Hadoop-2.7.1+ 反对 反对 不反对 反对 不反对 不反对
Hadoop-2.8.[0-2] 不反对 不反对 不反对 不反对 不反对 不反对
Hadoop-2.8.[3-4] 没有测试 没有测试 不反对 反对 不反对 不反对
Hadoop-2.8.5+ 没有测试 没有测试 反对 反对 反对 不反对
Hadoop-2.9.[0-1] 不反对 不反对 不反对 不反对 不反对 不反对
Hadoop-2.9.2+ 没有测试 没有测试 反对 没有测试 反对 不反对
Hadoop-2.10.0 没有测试 没有测试 反对 没有测试 没有测试 反对
Hadoop-3.0.[0-2] 不反对 不反对 不反对 不反对 不反对 不反对
Hadoop-3.0.3+ 不反对 不反对 不反对 反对 不反对 不反对
Hadoop-3.1.0 不反对 不反对 不反对 不反对 不反对 不反对
Hadoop-3.1.1+ 不反对 不反对 不反对 反对 反对 反对
Hadoop-3.2.x 不反对 不反对 不反对 不反对 反对 反对

Hase 下载地址: https://hbase.apache.org/down…
Hadoop 下载地址: https://hadoop.apache.org/rel…
jdk 版本 1.8

hadoop-3.2.1.tar.gz
hbase-2.3.1-bin.tar.gz

1. 装置 hadoop

> tar -xzvf hadoop-3.2.1.tar.gz
// 批改配置文件
> cd hadoop-3.2.1/etc/hadoop

// 创立 /usr/local/hadoop 目录

> mkdir /usr/local/hadoop
> vim hadoop-env.sh
// 增加 JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64
> vim hdsf-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>
> vim core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
  1. 执行 NameNode 的格式化
> /root/hadoop/hadoop-3.2.1/bin/hdfs namenode -format
  1. 启动 hdfs
> /root/hadoop/hadoop-3.2.1/sbin/start-dfs.sh

谬误一:

WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
hadoop1: ssh: Could not resolve hostname 

> hostname
hadoop1
vim /etc/hosts
127.0.0.1 hadoop1 // 增加


谬误二:
localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

> ssh localhost
// 首次登陆须要输出 yes
// 输出明码

1. 设置无明码登陆
// 退出方才的登陆, 留神此时还在服务器上, 并没有退回到本地
> exit
> cd ~/.ssh
> ssh-keygen -t rsa
> cat ./id_rsa.pub >> ./authorized_keys
> chmod 700 ~/.ssh
> chmod 644 ~/.ssh/authorized_keys

// .ssh 须要是 700 权限
// authorized_keys 须要是 644 权限


谬误三:
ERROR: Attempting to operate on hdfs namenode as root
> vim /root/hadoop/hadoop-3.2.1/etc/hadoop/hadoop-env.sh
// 头部增加
export HDFS_DATANODE_USER=root
export HADOOP_SECURE_DN_USER=hdfs
export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root


而后重新启动
  1. 进入 Hadoop 创立一个文件
> /root/hadoop/hadoop-3.2.1/bin/hdfs dfs -mkdir /test
// 查看
>  /root/hadoop/hadoop-3.2.1/bin/hdfs dfs -ls  /
  1. 装置 Hbase
> tar -xzvf hbase-2.3.1-bin.tar.gz
> cd hbase-2.3.1/conf
// 拷贝 Hadoop 中 hdfs-site.xml 和 core-site.xml 到当前目录
> cp ../../hadoop-3.2.1/etc/hadoop/hdfs-site.xml  .
> cp ../../hadoop-3.2.1/etc/hadoop/core-site.xml  .
> vim hbase-env.sh
// 增加 jdk 环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64

> vim hbase-size.xml

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://127.0.0.1:9000/hbase</value>
        </property>
        <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/usr/local/hadoop/zookeeper</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
</configuration>

> mkdir /usr/local/hadoop/zookeeper
  1. 拜访 Hbase
>/root/hadoop/hbase-2.3.1/bin/hbase shell
  1. 网页拜访地址
Hbase: http://xxx:16010/master-status

// 开启 Hadoop 网页拜访
> /root/hadoop/hadoop-3.2.1/sbin/start-yarn.sh

Hadoop: http://xxx:8088/cluster
  1. Hadoop 端口大全
节点 默认端口 配置 用处阐明
HDFS DataNode 50010 dfs.datanode.address datanode 服务端口,用于数据传输
HDFS DataNode 50075 dfs.datanode.http.address http 服务的端口
HDFS DataNode 50475 dfs.datanode.https.address https 服务的端口
HDFS DataNode 50020 dfs.datanode.ipc.address ipc 服务的端口
HDFS NameNode 50070 dfs.namenode.http-address http 服务的端口
HDFS NameNode 50470 dfs.namenode.https-address https 服务的端口
HDFS NameNode 8020 fs.defaultFS 接管 Client 连贯的 RPC 端口,用于获取文件系统 metadata 信息。
HDFS journalnode 8485 dfs.journalnode.rpc-address RPC 服务
HDFS journalnode 8480 dfs.journalnode.http-address HTTP 服务
HDFS ZKFC 8019 dfs.ha.zkfc.port ZooKeeper FailoverController,用于 NN HA
YARN ResourceManager 8032 yarn.resourcemanager.address RM 的 applications manager(ASM) 端口
YARN ResourceManager 8030 yarn.resourcemanager.scheduler.address scheduler 组件的 IPC 端口
YARN ResourceManager 8031 yarn.resourcemanager.resource-tracker.address IPC
YARN ResourceManager 8033 yarn.resourcemanager.admin.address IPC
YARN ResourceManager 8088 yarn.resourcemanager.webapp.address http 服务端口
YARN NodeManager 8040 yarn.nodemanager.localizer.address localizer IPC
YARN NodeManager 8042 yarn.nodemanager.webapp.address http 服务端口
YARN NodeManager 8041 yarn.nodemanager.address NM 中 container manager 的端口
YARN JobHistory Server 10020 mapreduce.jobhistory.address IPC
YARN JobHistory Server 19888 mapreduce.jobhistory.webapp.address http 服务端口
HBase Master 60000 hbase.master.port IPC
HBase Master 60010 hbase.master.info.port http 服务端口
HBase RegionServer 60020 hbase.regionserver.port IPC
HBase RegionServer 60030 hbase.regionserver.info.port http 服务端口
HBase HQuorumPeer 2181 hbase.zookeeper.property.clientPort HBase-managed ZK mode,应用独立的 ZooKeeper 集群则不会启用该端口。
HBase HQuorumPeer 2888 hbase.zookeeper.peerport HBase-managed ZK mode,应用独立的 ZooKeeper 集群则不会启用该端口。
HBase HQuorumPeer 3888 hbase.zookeeper.leaderport HBase-managed ZK mode,应用独立的 ZooKeeper 集群则不会启用该端口。
Hive Metastore 9083 /etc/default/hive-metastore 中 export PORT=<port> 来更新默认端口
Hive HiveServer 10000 /etc/hive/conf/hive-env.sh 中 export HIVE_SERVER2_THRIFT_PORT=<port> 来更新默认端口
ZooKeeper Server 2181 /etc/zookeeper/conf/zoo.cfg 中 clientPort=<port> 对客户端提供服务的端口
ZooKeeper Server 2888 /etc/zookeeper/conf/zoo.cfg 中 server.x=[hostname]:nnnnn[:nnnnn],标蓝局部 follower 用来连贯到 leader,只在 leader 上监听该端口。
ZooKeeper Server 3888 /etc/zookeeper/conf/zoo.cfg 中 server.x=[hostname]:nnnnn[:nnnnn],标蓝局部 用于 leader 选举的。只在 electionAlg 是 1,2 或 3(默认) 时须要。
// 批改默认端口
> vim /root/hadoop/hadoop-3.2.1/etc/hadoop/yarn-site.xml
// name 能够参照下面的表
<configuration>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>xxx:8088</value>
  </property>
</configuration>

// 而后启动或者重启 yarn(资源管理零碎)

> /root/hadoop/hadoop-3.2.1/sbin/start-yarn.sh

退出移动版