在Linux中进行Hbase搭建

news2024/11/14 23:43:20

在公网IP为x.x.x.x、y.y.y.y和z.z.z.z并装有Centos8的服务器上进行hadoop集群搭建、zookeeper集群搭建和hbase搭建,都安装hadoop-3.1.3、server-jre-8u202-linux-x64、apache-zookeeper-3.6.4-bin和hbase-2.5.0-bin。

环境准备(三台服务器都一样)

第一步,创建统一工作目录。

# 软件安装路径

命令:mkdir -p /usr/local/src/server/

# 数据存储路径

命令:mkdir -p /usr/local/src/data/

# 安装包存放路径

命令:mkdir -p /usr/local/src/software/

第二步,在/usr/local文件夹中下载server-jre-8u202-linux-x64。

到地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html下载server-jre-8u202-linux-x64的tar.gz压缩包。然后使用WinSCP将server-jre-8u202-linux-x64压缩包上传到/usr/local文件夹中。

命令:cd /usr/local/src/software

wget https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html/jre-8u202-linux-x64.tar.gz

第三步,上传、解压tar.gz压缩包。

命令:cd /usr/local/src/software

tar -zxvf server-jre-8u202-linux-x64.tar.gz -C /usr/local/src/server

第四步,配置jre环境变量,打开/etc/profile文件,在文件底部另起一行,加上下面代码:

export JAVA_HOME=/usr/local/src/server/jdk1.8.0_202

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

第五步,测试server-jre是否配置成功。

# 刷新profile文件

命令:source /etc/profile

# 查看jdk版本

命令:java -version

如果成功显示server-jre的版本,则说明server-jre配置成功。

第六步,关闭防火墙。

为了可以让本地的机器可以通过Web网页访问集群资源,为了防止在运行集群的时候出现集群不可访问的状况,需要关闭防火墙。

命令:systemctl stop firewalld

# 开机时禁用防火墙

命令:systemctl disable firewalld

第七步,各自修改主机名,配置IP地址映射。

命令:hostnamectl set-hostname node1

hostnamectl set-hostname node2

hostnamectl set-hostname node3

对三台主机的IP地址进行映射,可以方便后续的配置,同时也方便对集群进行通信,三台机器同样操作。

在/etc/hosts文件中加入下面的代码:

x.x.x.x node1

y.y.y.y node2

z.z.z.z node3

第八步,配置免密登录。

# 在~目录下执行,生成密钥

命令:cd

ssh-keygen -t rsa  # 按四下enter

cd /root/.ssh/

cp id_rsa.pub authorized_keys

# 将node1的密钥拷到其他服务器上

ssh-copy-id -i node2

ssh-copy-id -i node3

第九步,集群时间同步。

命令:yum -y install ntpdate

ntpdate ntp4.aliyun.com

安装Hadoop(三台服务器都一样)

第一步,集群规划。

NameNode=NN      DataNode=DN     SecondaryNameNode=SNN

NodeManager=NM   ResourceManager=RM

HDFS集群—主角色:NN   从角色:DN   主角色辅助角色:SNN

YARN集群—主角色:RM   从角色:NM

框架         node1      node2       node3

HDFS        NN、DN       DN        SNN、DN
 
YARN          NM       RM、NM        NM

Hadoop集群包括两个集群:HDFS集群和YARN集群。

两个集群都是标准的主从架构集群。

逻辑上分离:两个集群互相之间没有依赖、互不影响。

物理上在一起:某些角色进程往往部署在同一台物理服务器上。

MapReduce是计算框架、代码层面的组件,没有集群之说。

角色规划的准则:

根据软件工作特性和服务器硬件资源情况合理分配。

角色规划注意事项:

资源上有抢夺冲突的,尽量不要部署在一起。

工作上需要互相配合的,尽量部署在一起。

第二步,下载hadoop-3.1.3。

登录网址:https://archive.apache.org/dist/hadoop/common/

下载hadoop-3.1.3.tar.gz。也可以使用命令下载。

命令:cd /usr/local/src/software

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

第三步,上传、解压tar.gz压缩包。

命令:cd /usr/local/src/software

tar -zxvf hadoop-3.1.3.tar.gz -C /usr/local/src/server

第四步,配置环境变量。

在/etc/profile文件添加下面的代码:

export HADOOP_HOME=/usr/local/src/server/hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

# 使环境变量生效

命令:source /etc/profile

# 测试是否配置成功

命令:hadoop version

如果结果显示“Hadoop 3.1.3”,则说明hadoop配置成功。

集群配置

配置文件在/usr/local/src/server/hadoop-3.1.3/etc/hadoop中。

第一步,对node1中的Hadoop自定义配置文件进行配置。

1)创建目录。

命令:mkdir /usr/local/src/server/hadoop-3.1.3/tmp

mkdir /usr/local/src/server/hadoop-3.1.3/dfs

2)配置hadoop-env.sh。

在hadoop-env.sh文件中加入下面的代码:

export JAVA_HOME=/usr/local/src/server/jdk1.8.0_202

# 在文件末尾加入下面的代码,设置用户以执行对应角色shell命令

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

3)配置core-site.xml。

在core-site.xml文件中加入下面的代码:

<configuration>

<property>

  <name>fs.defaultFS</name>

  <value>hdfs://node1:9000</value>

</property>

<!-- 配置Hadoop存储数据目录,默认/tmp/hadoop-${user.name} -->

<property>

   <name>hadoop.tmp.dir</name>

 <value>file:/usr/local/src/server/hadoop-3.1.3/tmp</value>

</property>

<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->

<property>

   <name>io.file.buffer.size</name>

   <value>131072</value>

</property>

<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->

<property>

   <name>fs.trash.interval</name>

   <value>10080</value>

</property>

</configuration>

4)配置hdfs-site.xml。

在hdfs-site.xml文件中加入下面的代码:

<configuration>

<!-- namenode存储hdfs名字的空间的元数据文件目录 -->

<property>

<name>dfs.namenode.name.dir</name>            
<value>file:/usr/local/src/server/hadoop-3.1.3/dfs/name</value>

</property>

<!-- datanode上的一个数据块的物理的存储位置文件 -->

<property>

  <name>dfs.datanode.data.dir</name> 
  <value>file:/usr/local/src/server/hadoop-3.1.3/dfs/data</value>

</property>

<!-- 指定HDFS保存数据副本的数量 -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!-- 设置一个block的大小:128M-->

<property>

<name>dfs.blocksize</name>

<value>134217728</value>

</property>

<!-- 定义namenode界面的访问地址 -->

<property>

<name>dfs.http.address</name>

<value>node1:50070</value>

</property>

<!-- 设置HDFS的文件权限-->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<!-- 指定DataNode的节点配置文件 -->

<property>

<name>dfs.hosts</name>

<value>/usr/local/src/server/hadoop-3.1.3/etc/hadoop/workers</value>

</property>

</configuration>

5)配置workers。

在workers文件中加入下面的代码:

node1

node2

node3

注意:不要有多余的换行和空格

6)mapred-site.xml配置。

在mapred-site.xml文件中加入下面的代码:

<configuration>

<!-- 指定 MapReduce 程序运行在 Yarn 上,表示MapReduce使用yarn框架 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!-- 开启MapReduce小任务模式 -->

<property>

<name>mapreduce.job.ubertask.enable</name>

<value>true</value>

</property>

<!-- 设置历史任务的主机和端口 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>node1:10020</value>

</property>

<!-- 设置网页访问历史任务的主机和端口 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node1:19888</value>

</property>

</configuration>

7)配置yarn-site.xml。

在yarn-site.xml文件中加入下面的代码:

<configuration>

<!-- Site specific YARN configuration properties -->

<!-- NodeManager获取数据的方式shuffle -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- yarn的web访问地址 -->

<property>

<description>

The http address of the RM web application.

If only a host is provided as the value,the webapp will be served on a random port.

</description>

<name>yarn.resourcemanager.webapp.address</name>

  <value>${yarn.resourcemanager.hostname}:8088</value>

</property>

<property>

<description>

The https address of the RM web application.

If only a host is provided as the value,the webapp will be served on a random port.

</description>

  <name>yarn.resourcemanager.webapp.https.address</name>

  <value>${yarn.resourcemanager.hostname}:8090</value>

</property>

<!-- 开启日志聚合功能,方便我们查看任务执行完成之后的日志记录 -->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<!-- 设置聚合日志在hdfs上的保存时间 -->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>604800</value>

</property>

</configuration>

第二步,对node2中的Hadoop自定义配置文件进行配置。

1)创建目录。

命令:mkdir /usr/local/src/server/hadoop-3.1.3/tmp

mkdir /usr/local/src/server/hadoop-3.1.3/dfs

2)配置hadoop-env.sh。

在hadoop-env.sh文件中加入下面的代码:

export JAVA_HOME=/usr/local/src/server/jdk1.8.0_202

# 在文件末尾加入下面的代码,设置用户以执行对应角色shell命令

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

3)配置core-site.xml。

在core-site.xml文件中加入下面的代码:

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://node2:9000</value>

</property>

<!-- 配置Hadoop存储数据目录,默认/tmp/hadoop-${user.name} -->

<property>

<name>hadoop.tmp.dir</name>

 <value>file:/usr/local/src/server/hadoop-3.1.3/tmp</value>

</property>

<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->

<property>

<name>fs.trash.interval</name>

<value>10080</value>

</property>

</configuration>

4)配置hdfs-site.xml。

在hdfs-site.xml文件中加入下面的代码:

<configuration>

<!-- namenode存储hdfs名字的空间的元数据文件目录 -->

<property>

<name>dfs.namenode.name.dir</name>           
<value>file:/usr/local/src/server/hadoop-3.1.3/dfs/name</value>

</property>

<!-- datanode上的一个数据块的物理的存储位置文件 -->

<property>

<name>dfs.datanode.data.dir</name>         
<value>file:/usr/local/src/server/hadoop-3.1.3/dfs/data</value>

</property>

<!-- 指定HDFS保存数据副本的数量 -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!-- 设置一个block的大小:128M-->

<property>

<name>dfs.blocksize</name>

<value>134217728</value>

</property>

<!-- 设置HDFS的文件权限-->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<!-- 指定DataNode的节点配置文件 -->

<property>

<name>dfs.hosts</name>

<value>/usr/local/src/server/hadoop-3.1.3/etc/hadoop/workers</value>

</property>

</configuration>

5)配置workers。

在workers文件中加入下面的代码:

node1

node2

node3

注意:不要有多余的换行和空格

6)mapred-site.xml配置。

在mapred-site.xml文件中加入下面的代码:

<configuration>

<!-- 指定MapReduce程序运行在Yarn上,表示MapReduce使用yarn框架 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!-- 开启MapReduce小任务模式 -->

<property>

<name>mapreduce.job.ubertask.enable</name>

<value>true</value>

</property>

<!-- 设置历史任务的主机和端口 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>node2:10020</value>

</property>

<!-- 设置网页访问历史任务的主机和端口 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node2:19888</value>

</property>

</configuration>

7)配置yarn-site.xml。

在yarn-site.xml文件中加入下面的代码:

<configuration>

<!-- Site specific YARN configuration properties -->

<!-- NodeManager获取数据的方式shuffle -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node2</value>

</property>

<!-- yarn的web访问地址 -->

<property>

<description>

The http address of the RM web application.

If only a host is provided as the value,the webapp will be served on a random port.

</description>

<name>yarn.resourcemanager.webapp.address</name>

<value>${yarn.resourcemanager.hostname}:8088</value>

</property>

<property>

<description>

The https address of the RM web application.

If only a host is provided as the value,the webapp will be served on a random port.

</description>

<name>yarn.resourcemanager.webapp.https.address</name>

<value>${yarn.resourcemanager.hostname}:8090</value>

</property>

<!-- 开启日志聚合功能,方便我们查看任务执行完成之后的日志记录 -->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<!-- 设置聚合日志在hdfs上的保存时间 -->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>604800</value>

</property>

</configuration>

第三步,对node3中的Hadoop自定义配置文件进行配置。

1)创建目录。

命令:mkdir /usr/local/src/server/hadoop-3.1.3/tmp

mkdir /usr/local/src/server/hadoop-3.1.3/dfs

2)配置hadoop-env.sh。

在hadoop-env.sh文件中加入下面的代码:

export JAVA_HOME=/usr/local/src/server/jdk1.8.0_202

# 在文件末尾加入下面的代码,设置用户以执行对应角色shell命令

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

3)配置core-site.xml。

在core-site.xml文件中加入下面的代码:

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://node3:9000</value>

</property>

<!-- 配置Hadoop存储数据目录,默认/tmp/hadoop-${user.name} -->

<property>

<name>hadoop.tmp.dir</name>

<value>file:/usr/local/src/server/hadoop-3.1.3/tmp</value>

</property>

<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->

<property>

<name>fs.trash.interval</name>

<value>10080</value>

</property>

</configuration>

4)配置hdfs-site.xml。

在hdfs-site.xml文件中加入下面的代码:

<configuration>

<!-- namenode存储hdfs名字的空间的元数据文件目录 -->

<property>

<name>dfs.namenode.name.dir</name>                   

<value>file:/usr/local/src/server/hadoop-3.1.3/dfs/name</value>

</property>

<!-- datanode上的一个数据块的物理的存储位置文件 -->

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/usr/local/src/server/hadoop-3.1.3/dfs/data</value>

</property>

<!-- 指定HDFS保存数据副本的数量 -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!-- 设置一个block的大小:128M-->

<property>

<name>dfs.blocksize</name>

<value>134217728</value>

</property>

<!-- 定义secondarynamenode的通信地址 -->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>node3:50071</value>

</property>

<!-- 设置HDFS的文件权限-->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<!-- 指定DataNode的节点配置文件 -->

<property>

<name>dfs.hosts</name>

<value>/usr/local/src/server/hadoop-3.1.3/etc/hadoop/workers</value>

</property>

</configuration>

5)配置workers。

在workers文件中加入下面的代码:

node1

node2

node3

注意:不要有多余的换行和空格

6)mapred-site.xml配置。

在mapred-site.xml文件中加入下面的代码:

<configuration>

<!-- 指定 MapReduce 程序运行在 Yarn 上,表示MapReduce使用yarn框架 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!-- 开启MapReduce小任务模式 -->

<property>

<name>mapreduce.job.ubertask.enable</name>

<value>true</value>

</property>

<!-- 设置历史任务的主机和端口 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>node3:10020</value>

</property>

<!-- 设置网页访问历史任务的主机和端口 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node3:19888</value>

</property>

</configuration>

7)配置yarn-site.xml。

在yarn-site.xml文件中加入下面的代码:

<configuration>

<!-- Site specific YARN configuration properties -->

<!-- NodeManager获取数据的方式shuffle -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- yarn的web访问地址 -->

<property>

<description>

The http address of the RM web application.

If only a host is provided as the value,the webapp will be served on a random port.

</description>

<name>yarn.resourcemanager.webapp.address</name>

<value>${yarn.resourcemanager.hostname}:8088</value>

</property>

<property>

<description>

The https address of the RM web application.

If only a host is provided as the value,the webapp will be served on a random port.

</description>

<name>yarn.resourcemanager.webapp.https.address</name>

<value>${yarn.resourcemanager.hostname}:8090</value>

</property>

<!-- 开启日志聚合功能,方便我们查看任务执行完成之后的日志记录 -->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<!-- 设置聚合日志在hdfs上的保存时间 -->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>604800</value>

</property>

</configuration>

集群启动

# 注意:如果集群是第一次启动,需要在Namenode所在节点格式化NameNode,非第一次不用执行格式化 Namenode 操作。

命令:hadoop namenode -format

# 在node1,node2,node3上分别启动HDFS、YARN

命令:cd /usr/local/src/server/hadoop-3.1.3/sbin

./start-dfs.sh   (HDFS)

./start-yarn.sh   (YARN)

# 在node1,node2,node3上查看集群的hadoop进程

命令:jps

若在node1,node2,node3上分别显示下面的结果,则说明启动集群启动成功。

# 在node1,node2,node3上分别停止HDFS、YARN

命令:cd /usr/local/src/server/hadoop-3.1.3/sbin

./stop-dfs.sh  (HDFS)

./stop-yarn.sh  (YARN)

ZooKeeper的安装与配置(三台服务器都一样)

第一步,环境准备。

1)jvm环境;

2)JDK必须是7或以上版本;

3)使用shell进行远程连接。

第二步,下载安装ZooKeeper

登录网址:https://dlcdn.apache.org/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz,下载apache-zookeeper-3.6.4-bin,然后通过WinSCP上传到/usr/local/src文件夹。

步,解压ZooKeeper安装包。

命令:cd /usr/local/src

tar -xvzf apache-zookeeper-3.6.4-bin.tar.gz -C /usr/local/

mv apache-zookeeper-3.6.4-bin zookeeper-3.6.4

第四步,配置ZooKeeper

# 将/usr/local/zookeeper-3.6.4/conf中的zoo_sample.cfg改成zoo.cfg

命令:cd /usr/local/zookeeper-3.6.4/conf

mv zoo_sample.cfg zoo.cfg

# 在/usr/local/zookeeper-3.6.4下新建zkData文件夹

命令:cd /usr/local/zookeeper-3.6.4

mkdir zkData

最后对文件zoo.cfg进行编辑,将dataDir的路径换成文件夹zkData的路径,得到下面的代码:

dataDir=/usr/local/zookeeper-3.6.4/zkData

第五步,启动测试。

# 启动服务端

命令:cd /usr/local/zookeeper-3.6.4/bin

./zkServer.sh start

# 查看进程

命令:jps

# 启动客户端

命令:cd /usr/local/zookeeper-3.6.4/bin

./zkCli.sh

第六步,配置环境变量。

在文件/etc/profile中添加下面的代码:

#zookeeper

export ZK_HOME=/usr/local/zookeeper-3.6.4

export PATH=$PATH:$ZK_HOME/bin

# 使环境变量生效

命令:source /etc/profile

第七步,对/usr/local/zookeeper-3.6.4/conf/zoo.cfg文件做进一步的修改。

说明:2888为组成zookeeper服务器之间的通信端口,3888为用来选举leader的端口,server后面的数字与后面的myid相对应。

server.1=x.x.x.x:2888:3888

server.2=y.y.y.y:2888:3888

server.3=z.z.z.z:2888:3888

第八步,进入/usr/local/zookeeper-3.6.4/zkData,修改myid文件,内容要和zoo.cfg中的修改相对应。

ZooKeeper集群测试

# 启动各个服务器的zookeeper

命令:./zkServer.sh start

# 查看当前zookeeper的状态

命令:./zkServer.sh status

若zookeeper正常启动,则可以发现,由于选举机制,不能成功启动第一台服务器node1和第二台服务器node2。

当启动第三台服务器node3时,出现选票超过半数,node3成为了leader,而node1和node2成为了follower。

安装Hbase

Hbase依赖于ZooKeeper、HDFS,在启动Hbase之前必须要启动ZooKeeper、HDFS,否则Hbase无法启动。

第一步,下载Hbase安装包。

登录网址:Index of /dist/hbase,下载hbase-2.5.0-bin.tar.gz,然后通过WinSCP上传到/usr/local/src文件夹。

第二步,解压Hbase安装包。

命令:cd /usr/local/src

tar -xvzf hbase-2.5.0-bin.tar.gz -C /usr/local/

第三步,配置环境变量。

在文件/etc/profile中添加下面的代码:

#Hbase

export PATH=$PATH:$HBASE_HOME/bin

export HBASE_HOME=/usr/local/hbase-2.5.0/

# 使环境变量生效

命令:source /etc/profile

配置Hbase

第一步,配置hadoop-env.sh文件。

编辑文件/usr/local/hbase-2.5.0/conf/hadoop-env.sh,得到的代码如下:

export HBASE_HOME=/usr/local/hbase-2.5.0/

export JAVA_HOME=/usr/local/src/server/jdk1.8.0_202

export HADOOP_HOME=/usr/local/src/server/hadoop-3.1.3

export HBASE_LOG_DIR=$HBASE_HOME/logs

export HBASE_PID_DIR=$HBASE_HOME/pids

export HBASE_MANAGES_ZK=false

注意:HBASE_MANAGES_ZK的值默认是true,作用是让Hbase启动的同时也启动ZooKeeper。在安装的过程中,采用独立运行ZooKeeper集群的方式,故将其属性值改为false。

第二步,配置hbase-site.xml文件。

编辑文件/usr/local/hbase-2.5.0/conf/hbase-site.xml,得到的代码如下:

<configuration>

      <!-- HBase数据在HDFS中的存放的路径 -->

      <!-- 设置HRegionServers共享目录,mycluster是在hadoop中设置的名字空间 -->

      <property>

          <name>hbase.rootdir</name>

          <value>hdfs://node1/hbase</value>

      </property>

      <!--设置HMaster的rpc端口-->

      <property>

<name>hbase.master.port</name>       

<value>16000</value>

</property>

      <!--设置HMaster的http端口-->

      <property>

     <name>hbase.master.info.port</name>

     <value>16010</value>

   </property>

   <!--指定zookeeper集群端口-->

   <property>

<name>hbase.zookeeper.property.clientPort</name> #zookeeper端口号

   <value>2181</value>

</property>

<!一指定zookeeper数据目录,需要与zookeeper集群中的dataDir配置相一致 -->

      <property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/usr/local/apache-zookeeper-3.6.4-bin/zkdata</value>

      </property>

      <!-- Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面 -->

      <property>

          <name>hbase.cluster.distributed</name>

          <value>true</value>

      </property>

      <!-- ZooKeeper的地址 -->

      <property>

          <name>hbase.zookeeper.quorum</name>

          <value>node1,node2,node3</value>

      </property>

      <!-- 指定缓存文件存储的路径 -->

      <property>

      <name>hbase.tmp.dir</name>

      <value>/usr/local/hbase-2.5.0/tmp</value>

   </property>

</configuration>

第三步,配置regionservers文件。

编辑文件/usr/local/hbase-2.5.0/conf/regionservers,得到的代码如下:

node1

node2

node3

注意:regionservers文件负责配置Hbase集群中哪台节点作Region Server服务器。

第四步,分发配置。

# 将在node1配置好的hbase分发到node2和node3

命令:scp -r /usr/local/hbase-2.5.0 root@node2:/usr/local

scp -r /usr/local/hbase-2.5.0 root@node3:/usr/local

# 将在node1配置好的/etc/profile分发到node2和node3

命令:scp -r /etc/profile root@node2:/etc/

scp -r /etc/profile root@node3:/etc/

# 在node2和node3使环境变量生效

命令:source /etc/profile

注意:“export HBASE_PID_DIR=/usr/local/hbase-2.5.0/pids”在node2和node3上没有,需要在/usr/local/hbase-2.5.0目录下面使用命令“mkdir -p /usr/local/hbase-2.5.0/pids”创建pids文件夹。

启动Hbase

第一步,启动zookeeper(在全部虚拟机上启动)

命令:cd /usr/local/apache-zookeeper-3.6.4-bin/bin

./zkServer.sh  start

第二步,启动hadoop(在hadoop102上启动)

命令:start-all.sh

第三步,启动hadoop(在hadoop102上启动)

命令:start-all.sh

第四步,验证Hbase是否配置成功

在浏览器输入网址:hadoop102:16010,若页面无法访问,则说明配置失败,需要对/usr/local/src/server/hadoop-3.1.3/etc/hadoop中的文件core-site.xml以及/usr/local/hbase-2.5.0/conf中的文件hbase-site.xml进行编辑,两个hadoop102端口号要一致。

编辑完成后,再次访问网页,若可以成功进入,则说明配置成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/185237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于javaweb宠物领养平台管理系统设计和实现

基于javaweb宠物领养平台管理系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方…

C++基础——C++ 判断

C基础——C 判断C 判断判断语句C if 语句语法流程图? : 运算符C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句&#xff08;可选的&#xff09;。 下面是大多数编…

DAMA数据管理知识体系指南之数据管理概述

第2章 数据管理 2.1 引言 2.2 使命和目标 使命 在信息的可用性、安全性和质量方面&#xff0c;满足并超越企业中所有利益相关者的信息要求。 战略目标 &#xff08;1&#xff09;理解企业和所有利益相关者的信息需求。 &#xff08;2&#xff09;获取、存储、保护和确保数据资…

堆的结构及函数接口、堆排序,TopK

本篇内容涉及到二叉树的概念及性质&#xff0c;可参考文章 树和二叉树的概念及性质 文章目录一、堆的概念二、堆的存储结构三、堆的函数接口1. 初始化及销毁2. 打印函数3. 堆的插入4. 堆的删除5. 取堆顶、判空、数据个数四、建堆算法和时间复杂度1. 向上调整建堆2. 向下调整建堆…

CTFshow--web--红包题第二弹

查看源代码&#xff0c;按注释提示&#xff0c;构造参数试试?cmdaa<?php #error_reporting(0); ?> <html lang"zh-CN"><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8" /><meta name&quo…

MATLAB绘制爱心曲线并导出

MATLAB绘制爱心曲线并导出 爱心曲线的表达式&#xff1a; f(x)x2/3e3(π−x2)1/2sin(aπx)f(x)x^{2/3}\frac e 3(\pi-x^2)^{1/2}sin(a\pi x) f(x)x2/33e​(π−x2)1/2sin(aπx) f (x,a)x.^2.^(1/3)exp(1)/3*(pi-x.^2).^(1/2).*sin(a*pi*x); h figure(color,[1 1 1]); set(g…

应用系统与钉钉集成案例及操作步骤

1、准备钉钉应用 1.1、注册钉钉账号 作为钉钉的企业管理员&#xff0c;首先登录钉钉官网&#xff0c;注册一个钉钉账号。 如果已经有账号&#xff0c;则直接使用即可。 钉钉官网&#xff1a;https://www.dingtalk.com/ 1.2、开通企业团队 企业管理员使用账号登录钉钉。 如…

如何限制docker容器使用内存大小

本文介绍如何通过docker运行参数配置限制docker容器可以使用的内存上限。docker容器默认可以使用全部宿主机的所有内存和 swap 分区&#xff0c;比如宿主机的内存是32G&#xff0c;则运行一个docker容器最多可以分配到32G内存&#xff0c;如果启用了多个docker容器&#xff0c;…

CSS实现文本显示两行

效果图 text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;display: -moz-box;-moz-line-clamp: 2;-moz-box-orient: vertical;overflow-wrap: break-word;word-break: break-all;white-space: normal;overflow: hidden;text-…

SAP ADM100-2.2 SAP系统开启过程中的配置文件

SAP系统的每个实例需要的数据都在文件系统中,包括所有实例都需要访问的全局数据(Globally)和个别实例需要访问的数据。在文件系统汇总,实例需要的数据被包含在usr/sap目录,在这里被进一步组织到子目录。 【注意】:业务数据和相关数据被存储在数据库中,数据库根据不同的制…

【GD32F427开发板试用】三、USB转CAN功能开发与试用总结

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;chenjie 【GD32F427开发板试用】一、环境搭建与freertos移植 【GD32F427开发板试用】二、USB库移植与双USB CDC-ACM功能开发 【GD32F427开发板…

【C++】IO流

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《吃透西嘎嘎》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;C语言的输…

04 微服务调用组件Feign

JAVA 项目中如何实现接口调用&#xff1f; 1&#xff09;Httpclient HttpClient 是 Apache Jakarta Common 下的子项目&#xff0c;用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包&#xff0c;并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统…

linux下Jenkins的安装、部署、启动(完整教程)

linux下Jenkins的安装、部署、启动(完整教程) 一、安装环境 Linux系统Centos 7 二、安装步骤 1、安装jdk8 2、安装jenkins 首先依次如下三个命令&#xff1a; 2.1 导入镜像 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.…

内网渗透之中间人欺骗攻击

ARP攻击协议简介ARP全称为Address Resolution Protocol&#xff0c;即地址解析协议&#xff0c;它是一个根据IP地址获取物理地址的TCP/IP协议&#xff0c;主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机&#xff0c;并接收返回消息&#xff0c;以此确定目标的…

手把手教你QT打包(Windows)

第一步、切换工程版本 在这一步可以直接在QT的项目页面就可以完成 在这里切换完成之后建议先运行一下&#xff0c;确保没有问题我们再进行下一步 第二步、找到对应的文件夹和编译工具进行编译 我们在使用的过成功&#xff0c;会发现点击工程中的运行就可以执行&#xff0c;但是…

MySQL详解(二)——基础 2.0

5. 完整性约束 完整性约束是为了表的数据的正确性&#xff01;如果数据不正确&#xff0c;那么一开始就不能添加到表中。 5.1 主键 当某一列添加了主键约束后&#xff0c;那么这一列的数据就不能重复出现。这样每行记录中其主键列的值就是这一行的唯一标识。例如学生的学号可…

【Linux】基础IO --- 内核级和用户级缓冲区、磁盘结构、磁盘的分治管理、block group块组剖析…

出身寒微&#xff0c;不是耻辱。能屈能伸&#xff0c;方为丈夫。 文章目录一、缓冲区&#xff08;语言级&#xff1a;IO流缓冲&#xff0c;内核级&#xff1a;块缓冲&#xff09;1.观察一个现象2.理解缓冲区存在的意义&#xff08;节省进程IO数据的时间&#xff09;3.语言级缓冲…

commonjs vs ES module in Node.js

在现代软件开发中&#xff0c;模块将软件代码组织成独立的块&#xff0c;这些块共同构成了更大、更复杂的应用程序。 在浏览器 JavaScript 生态系统中&#xff0c;JavaScript 模块的使用依赖于import和export语句&#xff1b;这些语句分别加载和导出 EMCAScript 模块&#xff…

Java SSM (springboot+mybatis)美食菜谱分享平台系统设计和实现以及论文报告

Java SSM (springbootmybatis)美食菜谱分享平台系统设计和实现以及论文报告 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收…