Hoje vou ensinar como criar um cluster hbase totalmente distribuído:
1. Confirmação ambiental:
Como os dados do hbase são armazenados no cluster hdfs, é necessário criar um cluster hdfs e precisamos usar o zookeeper para gerenciar nosso cluster hbase, portanto, nossa máquina precisa instalar o cluster do zookeeper.
Conforme mostrado na figura:
cluster hadoop:
Existem três máquinas no ambiente local: master, slave1, slave2, que são o nome e o tipo de dados dos hdfs, dos quais QuorumPeerMain é o processo java do zookeeper. Depois de confirmar que não há problema no ambiente acima, podemos instalar nosso cluster hbase Também.
2. Faça o upload do pacote de instalação hbase
Observe que, como o hbase depende do cluster do hadoop, a versão do hbase de que precisamos corresponde ao hadoop.O meu hadoop local é a versão 2.7.3 (você pode usar a versão do hadoop para visualizar a versão)
Siga o site oficial http://hbase.apache.org/book.html#java para visualizar o relacionamento entre as versões:
portanto, a versão do hbase que baixei é a versão 2.1.8 e faça o upload para o servidor
3. Descompacte
tar -zxvf hbase-2.1.8-bin.tar.gz
Minha pasta é / home / hbase, o efeito é o seguinte:
4. Modifique o arquivo de configuração
Digite o diretório / conf:
- Modifique hbase-env.sh
O que precisa ser modificado é o local da instalação do jdk, o outro é usar um zk externo, você pode usar para echo $JAVA_HOME
consultar o local da instalação do jdk
- Modifique hbase-site.xml
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
- Modificar servidores de regiões
- Nota: Você também precisa colocar hdfs-site.xml e core-site.xml do hadoop em hbase / conf
Primeiro encontramos a localização desse arquivo: o
caminho é: /home/hadoop/hadoop-2.7.3/etc/hadoop
e copiamos esses dois arquivos no passado:
cp /home/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml ./
cp /home/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml ./
- Por fim, copiamos esse hbase configurado para os outros dois servidores:
scp -r hbase-2.1.8 slave1:/home/hbase/
scp -r hbase-2.1.8 slave2:/home/hbase/
4. Inicie o hbase
Digite o diretório bin no nó principal, use
./start-hbase.sh
Inicie o habse, neste momento alguns conflitos de pacotes jar serão relatados:
precisamos modificar ou excluir o mesmo jar, aqui minha abordagem é renomear o jar no hbase:
cd lib/client-facing-thirdparty/
mv slf4j-log4j12-1.7.25.jar slfj-log4j12-1.7.25.jar.bak
Por fim, use o script shell próximo no diretório bin para fechar o hbase e reiniciar:
./stop-hbase.sh
./start-hbase.sh
Início bem sucedido!
Como minha versão é 2.1.8, meu número de porta é 16010
http://master:16010/master-status