Hadoop&Hbase&Phoenix

HHP(HA)

Hadoop

1. 安装包

hadoop-3.3.1.tar.gz

2. 解压

# tar -zxf hadoop-3.3.1.tar.gz -C /opt/
# mv hadoop-3.3.1 hadoop

3. 添加环境变量

# vim /etc/profile

# HADOOP
export HADOOP_HOME=/opt/hadoop
export PATH=HADOOP_HOME/bin:$PATH
export PATH=HADOOP_HOME/sbin:$PATH

# source /etc/profile

4. 设置hosts

# vim /etc/hosts

10.0.0.8	hp1
10.0.0.20	hp2
10.0.0.21	hp3

若服务器名称一致且没设置hosts。UI只会显示一个节点,但集群所有的服务正常运行。

5. 修改配置文件

# cd hadoop/etc/hadoop

hadoop-env.sh

export JAVA_HOME=/usr/local/jdk-11.0.13

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

core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://10.0.0.8:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/tmp</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>   
	<property>
        <name>dfs.namenode.http-address</name>
        <value>10.0.0.8:50070</value>
    </property>
    <property> <!--Namenode持久存储名字空间及事务日志的本地文件系统路径-->
      <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop/dfs/data/nd</value>     <!--目录无需预先创建,会自动创建-->
  </property>

  <property>  <!--DataNode存放块数据的本地文件系统路径-->
      <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/dfs/data/dn</value>
  </property>

  <property>  <!--数据需要备份的数量,不能大于集群的机器数量-->
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>10.0.0.8:9001</value>
  </property>
  <property>  <!--设置为true,可以在浏览器中IP+port查看-->
     <name>dfs.webhdfs.enabled</name>
     <value>true</value>
  </property>
</configuration>

mapred-site.xml

<configuration>
    <property> <!--mapreduce运用了yarn框架,设置name为yarn-->
      <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>

  <property> <!--历史服务器,查看Mapreduce作业记录-->
    <name>mapreduce.jobhistory.address</name>
    <value>10.0.0.8:10020</value>
  </property>

  <property>  <!--历史服务器的web地址-->
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>10.0.0.8:19888</value>
  </property>
</configuration>

yarn-site.xml

<configuration>
	<!-- 指定 MR 走 shuffle -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>

  <property> <!--ResourceManager 对客户端暴露的地址-->
    <name>yarn.resourcemanager.address</name>
    <value>10.0.0.8:8032</value>
  </property>
	<!-- 环境变量的继承 -->
	<property>
		<name>yarn.nodemanager.env-whitelist</name>
		<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
	</property>
	<!-- 开启日志聚集功能 -->
	<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
	</property>
	<!-- 设置日志聚集服务器地址 -->
	<property>
		<name>yarn.log.server.url</name>
		<value>http://10.0.0.8:19888/jobhistory/logs</value>
	</property>
	<!-- 设置日志保留时间为 7 天 -->
	<property>
		<name>yarn.log-aggregation.retain-seconds</name>
		<value>604800</value>
	</property>

  <property> <!--ResourceManager 对客户端暴露的地址-->
    <name>yarn.resourcemanager.address</name>
    <value>10.0.0.8:8032</value>
  </property>

  <property> <!--ResourceManager 对Application10.0.0.8暴露的地址-->
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>10.0.0.8:8030</value>
  </property>

  <property> <!--ResourceManager 对NodeManager暴露的地址-->
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>10.0.0.8:8031</value>
  </property>

  <property> <!--ResourceManager 对管理员暴露的地址-->
    <name>yarn.resourcemanager.admin.address</name>
    <value>10.0.0.8:8033</value>
  </property>

  <property> <!--ResourceManager 对外web暴露的地址,可在浏览器查看-->
    <name>yarn.resourcemanager.webapp.address</name>
    <value>10.0.0.8:8088</value>
  </property>
</configuration>

workers

10.0.0.8
10.0.0.20
10.0.0.21
HA(选做)

hadoop-env.sh

export JAVA_HOME=/usr/local/jdk-11.0.13

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_ZKFC_USER=root
export HDFS_JOURNALNODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

core-site.xml

<configuration>
   <!-- 声明hdfs文件系统 指定某个ip地址,在ha模式中指定hdfs集群的逻辑名称 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://cluster1</value>
    </property>
     <!-- 声明hadoop工作目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/data/tmp</value>
    </property>
     <!--默认用户Root-->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
    </property>
     <!-- 指定zookeeper集群的地址,用于管理hdfs集群 -->
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>10.0.0.8:2181,10.0.0.20:2181,10.0.0.21:2181</value>
    </property>
    <!-- hadoop链接zookeeper的超时时长设置 -->
    <property>
        <name>ha.zookeeper.session-timeout.ms</name>
        <value>1000</value>
        <description>ms</description>
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <!--副本数量,默认3个-->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 配置namenode和datanode的工作目录-数据存储目录 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/data/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/data/dfs/data</value>
    </property>
    <!-- 启用webhdfs -->
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
	
    <!-- 指定逻辑名称,自动寻找NameNode节点 -->
    <!--指定hdfs的nameservice为cluster1,需要和core-site.xml中的保持一致
                 dfs.ha.namenodes.[nameservice id]为在nameservice中的每一个NameNode设置唯一标示符。
        配置一个逗号分隔的NameNode ID列表。这将是被DataNode识别为所有的NameNode。
        例如,如果使用"cluster1"作为nameservice ID,并且使用"nn1"和"nn2"作为NameNodes标示符
    -->
	<property>
        <name>dfs.nameservices</name>
        <value>cluster1</value>
    </property>
    <!-- 把定义的逻辑名称指向各个namenode的别名 -->
    <property>
        <name>dfs.ha.namenodes.cluster1</name>
        <value>nn1,nn2,nn3</value>
    </property>
    <!--NameNode的RPC通信地址-->
    <property>
        <name>dfs.namenode.rpc-address.cluster1.nn1</name>
        <value>10.0.0.8:9000</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.cluster1.nn2</name>
        <value>10.0.0.20:9000</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.cluster1.nn3</name>
        <value>10.0.0.21:9000</value>
    </property>
    <!--NameNode的http通信地址-->
    <property>
        <name>dfs.namenode.http-address.cluster1.nn1</name>
        <value>10.0.0.8:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.cluster1.nn2</name>
        <value>10.0.0.20:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.cluster1.nn3</name>
        <value>10.0.0.21:50070</value>
    </property>
	
    <!-- 配置JournalNode集群的地址 -->
    <!-- 指定NameNode的edits元数据的共享存储位置。也就是JournalNode列表
                 该url的配置格式:qjournal://host1:port1;host2:port2;host3:port3/journalId
        journalId推荐使用nameservice,默认端口号是:8485 -->
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://10.0.0.8:8485;10.0.0.20:8485;10.0.0.21:8485/cluster1</value>
    </property>
    <!-- 指定JouralNode节点存放编辑日志的存储路径-->
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/opt/hadoop/data/journaldata</value>
    </property>
	
    <!-- 开启NameNode失败自动切换 -->
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    <!-- 开启自动故障转移功能 -->
    <property>
        <name>dfs.client.failover.proxy.provider.cluster1</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <!-- 指定ha出现故障时的隔离方法 -->
    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
        <value>shell(true)</value>
    </property>
    <!-- 指定隔离主机的私钥路径(主备节点间相互免密钥,指定私匙地址)-->
    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/root/.ssh/id_rsa</value>
    </property>

    <!-- 配置sshfence隔离机制超时时间 -->
    <property>
        <name>dfs.ha.fencing.ssh.connect-timeout</name>
        <value>30000</value>
    </property>

    <property>
        <name>ha.failover-controller.cli-check.rpc-timeout.ms</name>
        <value>60000</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <!-- 指定mr框架为yarn -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- 指定mapreduce jobhistory地址 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>10.0.0.8:10020</value>
    </property>
    <!-- 任务历史服务器的web地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>10.0.0.8:19888</value>
    </property>
    <!-- 配置运行过的日志存放在hdfs上的存放路径 -->
    <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/history/done</value>
    </property>
    <!-- 配置正在运行中的日志在hdfs上的存放路径 -->
    <property>
        <name>mapreudce.jobhistory.intermediate.done-dir</name>
        <value>/history/done/done_intermediate</value>
    </property>
    <!--以下必须配置,否则运行MapReduce会提示检查是否配置-->
	<property>
		<name>yarn.app.mapreduce.am.env</name>
		<value>HADOOP_MAPRED_HOME=/opt/hadoop</value>
	</property>
	<property>
		<name>mapreduce.map.env</name>
		<value>HADOOP_MAPRED_HOME=/opt/hadoop</value>
	</property>
	<property>
		<name>mapreduce.reduce.env</name>
		<value>HADOOP_MAPRED_HOME=/opt/hadoop</value>
	</property>
</configuration>

yarn-site.xml

<configuration>
    <!-- 开启RM高可用 -->
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <!-- 指定RM的cluster id -->
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>cluster1</value>
    </property>
    <!-- 指定RM的名字 -->
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <!-- 分别指定RM的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>10.0.0.20</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>10.0.0.21</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>10.0.0.20:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>10.0.0.21:8088</value>
    </property>
    <!-- 指定zk集群地址 -->
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>10.0.0.8:2181,10.0.0.20:2181,10.0.0.21:2181</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 开启日志聚合 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>86400</value>
    </property>
    <!-- 启用自动恢复 -->
    <property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
    </property>
    <!-- 制定resourcemanager的状态信息存储在zookeeper集群上 -->
    <property>
        <name>yarn.resourcemanager.store.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
    </property>
    <!-- 是否对虚拟内存限制 -->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
    <!-- 物理内存不够,大量占用虚拟内存,超过一定比例则报错 -->
    <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>3</value>
    </property>
</configuration><configuration>
	<!-- 指定 MR 走 shuffle -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>

  <property> <!--ResourceManager 对客户端暴露的地址-->
    <name>yarn.resourcemanager.address</name>
    <value>10.0.0.8:8032</value>
  </property>
	<!-- 环境变量的继承 -->
	<property>
		<name>yarn.nodemanager.env-whitelist</name>
		<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
	</property>
	<!-- 开启日志聚集功能 -->
	<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
	</property>
	<!-- 设置日志聚集服务器地址 -->
	<property>
		<name>yarn.log.server.url</name>
		<value>http://10.0.0.8:19888/jobhistory/logs</value>
	</property>
	<!-- 设置日志保留时间为 7 天 -->
	<property>
		<name>yarn.log-aggregation.retain-seconds</name>
		<value>604800</value>
	</property>

  <property> <!--ResourceManager 对客户端暴露的地址-->
    <name>yarn.resourcemanager.address</name>
    <value>10.0.0.8:8032</value>
  </property>

  <property> <!--ResourceManager 对Application10.0.0.8暴露的地址-->
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>10.0.0.8:8030</value>
  </property>

  <property> <!--ResourceManager 对NodeManager暴露的地址-->
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>10.0.0.8:8031</value>
  </property>

  <property> <!--ResourceManager 对管理员暴露的地址-->
    <name>yarn.resourcemanager.admin.address</name>
    <value>10.0.0.8:8033</value>
  </property>

  <property> <!--ResourceManager 对外web暴露的地址,可在浏览器查看-->
    <name>yarn.resourcemanager.webapp.address</name>
    <value>10.0.0.8:8088</value>
  </property>
</configuration>

workers

10.0.0.8
10.0.0.20
10.0.0.21

6. 远程发送

# 将hadoop拷贝到其它节点
scp -r hadoop user@IP:/opt/

7. 格式化HDFS

# cd hadoop/bin
# ./hadoop namenode -format 
#出现如下信息说明格式化成功
common.Storage: Storage directory /home/hadoop_repo/dfs/name has been successfully formatted.

需要重新格式化的按下面操作:

删除hadoop/tmp,hadoop/logs和hadoop/dfs

HA格式化
cd hadoop/bin
  1. 所有节点都启动JournalNode

    ./hdfs --daemon start journalnode
    
  2. 在node1格式化NameNode

    ./hdfs namenode -format
    
  3. 启动node001的NameNode

# ./hdfs --daemon start namenode

# jps
515 NameNode
615 Jps
30187 JournalNode
25517 QuorumPeerMain
  1. 启动node002的备用NameNode

    ./hdfs namenode -bootstrapStandby
    
  2. 启动ZKFC

    ./hdfs zkfc -formatZK
    
  3. 启动HDFS

    ./start-dfs.sh
    
  4. 启动yarn

    ./start-yarn.sh
    

8. 启动集群

# cd hadoop/sbin
# ./start-all.sh 		#启动集群
# ./stop-all.sh 		#停止集群
# ./mr-jobhistory-daemon.sh start historyserver		#每个节点启动

9. UI

10.0.0.8:50070
10.0.0.8:8088

Hbase

1. 安装包

hbase-2.4.14.tar.gz

2. 解压

# tar -zxf hbase.2.4.14.tar.gz -C /opt/
# mv hbase-2.4.14 hbase

3. 添加环境变量

# vim /etc/profile

# Hbase
export HBASE_HOME=/opt/hbase
export PATH=$HBASE_HOME/bin:$PATH

source /etc/profile

4. 复制hadoop文件

# cp $HADOOP_HOME/etc/hadoop/core-site.xml  HBASE_HOME/conf/
# cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml  HBASE_HOME/conf/

5. 修改配置文件

cd hbase/conf

hbase-env.sh

export JAVA_HOME=/usr/local/jdk-11.0.13

export HBASE_MANAGES_ZK=false

hbase-site.xml

<configuration>
    <!--  此目录regionserver共享的目录,用来持久存储HBase的数据,其默认值为:${hbase.tmp.dir}/hbase,如果不修改默认值,数据将会在集群重启时丢失。 -->
    <property>
        <name>hbase.rootdir</name>
        <!-- 设置Hadoop master-->
        <value>hdfs://10.0.0.8:9000/hbase</value>
    </property>
    <!-- 设置hbase集群为分布式集群 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    
    <!-- 设置zookeeper集群,用英文逗号分隔 -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>10.0.0.8:2181,10.0.0.20:2181,10.0.0.21:2181</value>
    </property>
    <!-- hbase备份的副本数,不能超过datanode的节点数。
    	 hbase的数据备份数需要再hbase-site.xml配置文件中单独设置,否则hbase写入的数据regionServer只会保存一份! -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- Zookeeper元数据的存储目录,需要和Zookeeper的zoo.cfg 配置的一致 -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/opt/zookeeper/data</value>
    </property>
    <!-- 指定HBase Master Web页面访问端口,默认端口号16010 -->
    <property>
        <name>hbase.master.info.port</name>
        <value>16010</value>
    </property>
    <!-- 指定HBase RegionServer Web页面访问端口,默认端口号16030 -->
	<property>
		<name>hbase.regionserver.info.port</name>
		<value>16030</value>
	</property>
    <!-- 解决启动HMaster无法初始化WAL的问题 -->
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
    <property>
      <name>hbase.wal.provider</name>
      <value>filesystem</value>
    </property>
</configuration>

regionservers

10.0.0.8
10.0.0.20
10.0.0.21
HA(选做)

hbase-env.sh

export JAVA_HOME=/usr/local/jdk-11.0.13

export HBASE_MANAGES_ZK=false

hbase-site.xml

<configuration>
    <!--  此目录regionserver共享的目录,用来持久存储HBase的数据,其默认值为:${hbase.tmp.dir}/hbase,如果不修改默认值,数据将会在集群重启时丢失。 -->
    <property>
        <name>hbase.rootdir</name>
        <!-- 设置Hadoop master-->
        <value>hdfs://10.0.0.8:9000/hbase</value>
    </property>
    <!-- 设置hbase集群为分布式集群 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    
    <!-- 设置zookeeper集群,用英文逗号分隔 -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>10.0.0.8:2181,10.0.0.20:2181,10.0.0.21:2181</value>
    </property>
    <!-- hbase备份的副本数,不能超过datanode的节点数。
    	 hbase的数据备份数需要再hbase-site.xml配置文件中单独设置,否则hbase写入的数据regionServer只会保存一份! -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- Zookeeper元数据的存储目录,需要和Zookeeper的zoo.cfg 配置的一致 -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/opt/zookeeper/data</value>
    </property>
    <!-- 指定HBase Master Web页面访问端口,默认端口号16010 -->
    <property>
        <name>hbase.master.info.port</name>
        <value>16010</value>
    </property>
    <!-- 指定HBase RegionServer Web页面访问端口,默认端口号16030 -->
	<property>
		<name>hbase.regionserver.info.port</name>
		<value>16030</value>
	</property>
    <!-- 解决启动HMaster无法初始化WAL的问题 -->
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
    <property>
      <name>hbase.wal.provider</name>
      <value>filesystem</value>
    </property>
</configuration>

regionservers

10.0.0.8
10.0.0.20
10.0.0.21

backup-masters

# vim backup-masters

10.0.0.20
10.0.0.21

6. 远程发送

# scp -r hbase user@IP:/opt/

7. 启动&停止

start-hbase.sh		# 启动集群
stop-hbase.sh		# 停止集群

tip:没有出现错误不要更换lib中的jar,有可能出现可以正常启动过段时间,程序挂掉的情况。

删除所有信息:

# cd hadoop/bin && ./hadoop fs -rm -r /hbase

# zkCli.sh
# deleteall /hbase

8. UI

10.0.0.8:16010

Phoenix

1. 安装包

phoenix.tar.gz

2. 解压

# tar -zxf phoenix-hbase-2.3-5.1.2-bin.tar.gz -C /opt/
# mv peoenix5.1.2 phoenix

3. 添加环境变量

# vim /etc/profile

# Phoenix
export PHOENIX_HOME=/opt/phoenix
export PATH=$PHOENIX_HOME/bin:$PATH

# source /etc/profile

4. 拷贝 phoenix jar 文件

# 拷贝 phoenix-server-hbase-2.3-5.1.2.jar 到 hbase 的 lib 目录
cp $PHOENIX_HOME/phoenix-server-hbase-2.3-5.1.2.jar $HBASE_HOME/lib/

4. 重启Hbase

# Hbase 停止
stop-hbase.sh

# 启动 zookeeper 客户端
zkCli.sh

# 删除 hbase 注册信息
deleteall /hbase
# 退出 zookeeper 客户端

# Hbase 启动
start-hbase.sh

5. 启动

# 在 phoenix/bin 下输入命令, 进入到命令行,接下来就可以操作了
$PHOENIX_HOME/bin/sqlline.py master:2181

6. 远程连接

​ 1. 使用Dbeaver连接。

​ 2. 修改C:\Windows\System32\drivers\etc\hosts(与修改/etc/hosts一样)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值