HADOOP para construir um conjunto de alta disponibilidade

Alta disponibilidade Setup Hadoop Cluster

Construir clusters de alta disponibilidade, a necessidade de envolver oito perfis

1.zookepper MyID o diretório de arquivos do nó zkdata
zoo.cfg sob o diretório de arquivos de nó 2.zookepper zkdata
etc / hadoop-env.sh Hadoop em um diretório de instalação do diretório em / 3.hadoop
sob a 4.hadoop diretório de instalação core-site.xml sob etc / hadoop / diretório
etc / hadoop em 5.hadoop diretório de instalação hdfs-site.xml sob / diretório
escravos no etc / diretório de instalação 6.hadoop hadoop sob / diretório
7.hadoop instalar diretório / etc Hadoop no fio-site.xml / diretório
diretório de instalação etc / hadoop em 8.hadoop mapred-site.xml sob / diretório

`集群策略:
zk 1 、2  、3为 zookapper 
hadoop4、5为 namenode
hadoop6、7为``resourcemanager 
hadoop 8910为 namdnode 、journalnode 以及 nodemanager 

ideias de configuração de cluster e detalhes do perfil

A criação de um cluster zookepper

Objectivo: Para assegurar failover automática num ambiente de cluster (pelo menos 3, um número impar)

①myid

1

Criar um sistema on zkdata diretório de arquivos, a que tocar um arquivo chamado myid
fim de garantir zk cada um tem sua própria identidade.

②zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/zkdata
clientPort=3001
server.1=主机名:3002:3003
server.2=主机名:4002:4003
server.3=主机名:5002:5003

Criar um jardim zoológico em diretório de arquivos zkdata, conforme mostrado no arquivo cfg, o conteúdo acima.
DataDir diretório de arquivos
clientport 3001 servidor porta zk (porta processo cliente)
3002: porta interna Atomic Transmissão de dados
3003: interno para eleição de porta tolerante
Átomos transmissões a partir do site oficial do zookepper explicação
átomos de transmitir: a de qualquer um dos outros servidores escrever solicitação do cliente, em toda a sincronização entre servidores.

Até o momento, o cluster zookepper trabalho preparatório foi concluída.

zk conjunto de comando :

Executado no diretório bin sob o diretório de instalação zk

./zkServer.sh iniciar /root/zkdata/zoo.cfg (iniciar)
./zkServer.sh estado /root/zkdata1/zoo.cfg (Ver Status)

2. configurar um hdfs fragmentação

Pré-trabalho:

Modificar um endereço IP estático: vim /etc/sysconfig/network-script/ifcfg-ens37
nome do host: vim /etc/hostname
mapeamento ip: vim /etc/hosts
configure livre de ssh densa Login: ssh-keygen -t rsa(gerado chave secreta), ssh-copy-id 主机名(distribuído chave secreta)

③hadoop-env.sh

Modificar as variáveis ​​de ambiente jdk propósito: acesso remoto, a variável de ambiente é inválido, ele pode operar adequadamente para garantir o acesso remoto.

export JAVA_HOME=/自己的安装目录

④core-site.xml

arquivo de configuração do núcleo hadoop

<!-- 高可用集群的配置 -->
<!-- 文件系统的入口 -->	
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://ns</value>
</property>
<!-- 文件系统的目录 -->	
<property>
  <name>hadoop.tmp.dir</name>
  <value>/root/hadoop-2.9.2/data</value>
</property>
<!-- ZK系统的IP及Port -->	
<property>
	<name>ha.zookeeper.quorum</name>
  <value>zk1:3001,zk2:4001,zk3:5001</value>
</property>

Porque é um cluster, de forma que nenhum entrada especificar sistemas de arquivos para nome personalizado *** ns *** vez.

⑤hdfs-site.xml

<!--指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致 -->
	  <property>
		  <name>dfs.nameservices</name>
		  <value>ns</value>
	  </property>
	  
	  <!-- ns下面有两个NameNode,分别是nn1,nn2 -->
	  <property>
		  <name>dfs.ha.namenodes.ns</name>
		  <value>nn1,nn2</value>
	  </property>
	  
 		<!-- nn1的RPC通信地址 -->
	  <property>
		  <name>dfs.namenode.rpc-address.ns.nn1</name>
		  <value>hadoop4:9000</value>
	  </property>
	  <!-- nn1的http通信地址 -->
	  <property>
		  <name>dfs.namenode.http-address.ns.nn1</name>
		  <value>hadoop4:50070</value>
	  </property>
  	<!-- nn2的RPC通信地址 -->
	  <property>
		  <name>dfs.namenode.rpc-address.ns.nn2</name>
		  <value>hadoop5:9000</value>
	  </property>
	  <!-- nn2的http通信地址 -->
	  <property>
		  <name>dfs.namenode.http-address.ns.nn2</name>
		  <value>hadoop5:50070</value>
	  </property>

<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
	<property>
		<name>dfs.namenode.shared.edits.dir</name>
		<value>qjournal://hadoop8:8485;hadoop9:8485;hadoop10:8485/ns</value>
	</property>
	
	<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
	<property>
		<name>dfs.journalnode.edits.dir</name>
		<value>/root/journal</value>
	</property>
	
<!-- 开启NameNode故障时自动切换 -->
	<property>
		<name>dfs.ha.automatic-failover.enabled</name>
		<value>true</value>
	</property>
	
    <!-- 配置失败自动切换实现方式 -->
	<property>
		<name>dfs.client.failover.proxy.provider.ns</name>
		<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
	</property>
	
	<!-- 配置隔离机制,如果ssh是默认22端口,value直接写sshfence即可 -->
	<property>
		<name>dfs.ha.fencing.methods</name>
		<value>sshfence</value>
	</property>
	
	<!-- 使用隔离机制时需要ssh免登陆 -->
	<property>
		<name>dfs.ha.fencing.ssh.private-key-files</name>
		<value>/root/.ssh/id_rsa</value>
	</property>
	<!-- 可视化界面可写操作 -->	
	<property>
	  <name>dfs.permissions.enabled</name>
	  <value>false</value>
	</property>

⑥slaves

hadoop8
hadoop9
hadoop10

Configuração de três hospedeiros, tanto como DataNode e como NodeManager.

⑦yarn-site.xml

<!-- 开启RM高可用 -->
<property>
  <name>yarn.resourcemanager.ha.enabled</name>
  <value>true</value>
</property>
<!-- 指定RM的cluster id -->
<property>
  <name>yarn.resourcemanager.cluster-id</name>
  <value>yrc</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>hadoop24</value>
</property>
<property>
  <name>yarn.resourcemanager.hostname.rm2</name>
  <value>hadoop25</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address.rm1</name>
  <value>hadoop6:8088</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address.rm2</name>
  <value>hadoop7:8088</value>
</property>
<!-- 指定zk集群地址 -->
<property>
  <name>yarn.resourcemanager.zk-address</name>
  <value>zk:3001,zk:4001,zk:5001</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>

⑧mapred-site.xml

<!--配置计算框架-->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
<!--配置历史服务器的TCP端口-->
<property>
   <name>mapreduce.jobhistory.address</name>
   <value>hadoop10:10020</value>
</property>
<!--配置历史服务器的web端口-->
<property>
   <name>mapreduce.jobhistory.webapp.address</name>
   <value>hadoop10:19888</value>
</property> 

Nota: Como o diretório padrão hadoop sob nenhum arquivo-site.xml mapred. Portanto, a necessidade de copiar manualmente, execute o seguinte comando:

cp hadoop-2.9.2/etc/hadoop/mapred-site.xml.template hadoop-2.9.2/etc/hadoop/mapred-site.xml

Mapred pode criar um documento
até agora, para construir uma configuração de cluster foi concluída

3. Iniciar a alta disponibilidade hadoop aglomerado

Comando (sequencial)

☆☆☆☆ yum install psmisc -y(Todos os nós instalado estruturas de fragmentação centos7.x dependente)
☆☆☆☆ hdfs zkfc -formatZK(realizado em qualquer namenode, formatação ZK)
☆☆☆☆ hadoop-daemon.sh start journalnode(execução começou em todos os nós journalNode)

Primeiro começar journalNode é garantir que o formato NameNode (dados próprios) antes, para garantir a sincronização de dados.

☆☆☆☆ hdfs namenode -format ns(início a execução na ativa [escolha] de NameNode)
☆☆☆☆ start-dfs.sh(iniciar hdfs File System)
☆☆☆☆ hdfs namenode -bootstrapStandby(formatação no modo de espera namenode)
☆☆☆☆ hadoop-daemon.sh start namenode(início de nó namenode espera)
☆☆☆☆ start-yarn.sh(o nó ativo na execução começar Jahn [escolha] de resourcesNode)
☆☆☆☆ yarn-daemon.sh start resourcemanager(início de nó resourcesManager espera)

4. Teste de cluster

Acesso a
ip:50070interface web HDFS do sistema de arquivos
ip:8088interface web fio resourcesManager Jahn

Outros comandos:

☆☆☆☆ mr-jobhistory-daemon.sh start histroyserver(iniciar o servidor história)
☆☆☆☆ hadoop jar 包名(executando pacote jar, realizar o trabalho de trabalho)

ip:19888 interface web história Servidor

Publicado 32 artigos originais · ganhou elogios 1 · vista 1181

Acho que você gosta

Origin blog.csdn.net/ASYMUXUE/article/details/103820917
Recomendado
Clasificación