1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
| 准备工作: 安装、搭建好JDK、MySQL、Hadoop、Zookeeper、Hive,并做好免密登录
#上传文件到/usr/software sudo tar -zxvf hbase-2.5.0-bin.tar.gz -C /usr/local/ cd /usr/local sudo chmod -R 777 hbase-2.5.0/ sudo chown -R huser:huser hbase-2.5.0/
#hbase-2.5.0
#完全分布式配置 cd /usr/local/hbase-2.5.0/conf vim hbase-env.sh
export JAVA_HOME=/usr/local/java export HBASE_MANAGES_ZK=false export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true
vim hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 --> <property> <name>hbase.rootdir</name> <value>hdfs://node1:9000/hbase</value> </property>
<!-- 指定hbase是否分布式运行 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property>
<!-- 指定zookeeper的地址,多个用“,”分割 --> <property> <name>hbase.zookeeper.quorum</name> <value>node1,node2,node3:2181</value> </property>
<!-- --> <property> <name>hbase.tmp.dir</name> <value>/usr/local/hbase-2.5.0/tmp</value> </property>
<!--指定hbase管理页面--> <property> <name>hbase.master.info.port</name> <value>60010</value> </property>
<!--在分布式的情况下一定要设置,不然容易出现Hmaster起不来的情况--> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration>
#本地模式只需要在上面配 <property> <name>hbase.rootdir</name> <value>file:///usr/local/hbase-2.5.0/data</value> </property> 只需要在hbase-env.sh添加java路径即可 export JAVA_HOME=/usr/local/java export HBASE_MANAGES_ZK=true
vim regionservers localhost
vim regionservers #指定HBase集群的从节点;原内容清空,添加如下三行 node1 node2 node3
#创建back-masters配置文件,里边包含备份HMaster节点的主机名,每个机器独占一行,实现HMaster的高可用 vim backup-masters node2
#分发安装包 sudo scp -r hbase-2.5.0/ node2:/usr/local/ sudo scp -r hbase-2.5.0/ node3:/usr/local/
#创建软连接 注意:三台机器均做如下操作 #因为HBase集群需要读取hadoop的core-site.xml、hdfs-site.xml的配置文件信息,所以我们三台机器都要执行以下命令,在相应的目录创建这两个配置文件的软连接 ln -s /usr/local/hadoop-3.3.4/etc/hadoop/core-site.xml /usr/local/hbase-2.5.0/conf/core-site.xml
ln -s /usr/local/hadoop-3.3.4/etc/hadoop/hdfs-site.xml /usr/local/hbase-2.5.0/conf/hdfs-site.xml
cd /usr/local/hbase-2.5.0/conf/ ll进行查看
#添加HBase环境变量 sudo vim /etc/profile
export HBASE_HOME=/usr/local/hbase-2.5.0 export PATH=$PATH:$HBASE_HOME/bin source /etc/profile
sudo scp -r /etc/profile node2:/etc/ sudo scp -r /etc/profile node3:/etc/ #记得在对应机器source /etc/profile
#完全分布式启动 需要提前启动HDFS及ZooKeeper集群 如果没开启hdfs,请在node1运行start-all.sh命令 如果没开启zookeeper,请在3个节点分别运行zkServer.sh start命令 hdfs dfsadmin -safemode get #查看是否处于安全模式 hdfs dfsadmin -safemode leave #关闭安全模式
第一台机器node01(HBase主节点)执行以下命令,启动HBase集群 方法一: start-hbase.sh
方法二: #HMaster节点上启动HMaster命令 hbase-daemon.sh start master #启动HRegionServer命令 hbase-daemon.sh start regionserver
启动完后,jps查看HBase相关进程 node1、node2上有进程HMaster、HRegionServer node3上有进程HRegionServer 注意: Zookeeper :主要用于获取 meta 表的位置信息,Master 的信息; HBase Master :主要用于执行 HBaseAdmin 接口的一些操作,例如建表等; HBase RegionServer :用于读、写数据。
访问:http://192.168.217.80:60010 新的端口:16010
停止HBase集群的正确顺序 #node1上运行,关闭hbase集群 stop-hbase.sh 关闭ZooKeeper集群 关闭Hadoop集群
启动命令: 在node1 start-all.sh 在3台执行 zkServer.sh start 在node1执行 start-hbase.sh
关闭命令: 顺序: 在node1,node2执行 hbase-daemon.sh stop master hbase-daemon.sh stop regionserver node3执行 hbase-daemon.sh stop regionserver 在node1执行 stop-hbase.sh
在node1,node2,node3 zkServer.sh stop
在node1执行stop-all.sh
|