Hadoop和Hbase伪集群如何安装

Hadoop和Hbase伪集群如何安装

小编给大家分享一下Hadoop和Hbase伪集群如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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/downloads.html Hadoop下载地址: https://hadoop.apache.org/releases.html 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

以上是“Hadoop和Hbase伪集群如何安装”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!