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>
- 执行 NameNode 的格式化
> /root/hadoop/hadoop-3.2.1/bin/hdfs namenode -format
- 启动 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
而后重新启动
- 进入 Hadoop 创立一个文件
> /root/hadoop/hadoop-3.2.1/bin/hdfs dfs -mkdir /test
// 查看
> /root/hadoop/hadoop-3.2.1/bin/hdfs dfs -ls /
- 装置 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
- 拜访 Hbase
>/root/hadoop/hbase-2.3.1/bin/hbase shell
- 网页拜访地址
Hbase: http://xxx:16010/master-status
// 开启 Hadoop 网页拜访
> /root/hadoop/hadoop-3.2.1/sbin/start-yarn.sh
Hadoop: http://xxx:8088/cluster
- 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