Comandos básicos
Hadoop - Aviso de solução alternativa: WARN util.NativeCodeLoader
1 cd ${HADOOP_HOME} 2 vim etc/hadoop/log4j.properties # Anexe no final do arquivo: 3 log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERRO #Significado, para os logs da classe org.apache.hadoop.util.NativeCodeLoader, apenas os níveis ERROR e acima são impressos, e aqueles abaixo do nível ERROR, como DEBUG, INFO, WARN, etc., serão ignorados.
Sistema operacional de arquivo HDFS
#Criar pasta hdfs dfs -mkdir /temp #Amazon cria mais de 6.000 discos rígidos cd /optar/ eu #Copy to web hard disk (entendimento pessoal) hdfs dfs -copyFromLocal jdk-8u111-linux-x64.tar.gz /temp #Copie o arquivo de volta do disco USB hdfs dfs -copyToLocal /temp/jdk-8u111-linux-x64.tar.gz ~ #Deletar arquivos rm -rf jdk-8u111-linux-x64.tar.gz #Criar arquivo tmp hdfs dfs -mkdir /tmp #Copie arquivos jdk para tmp (use -cp de página da web para página da web) hdfs dfs -cp /temp/jdk-8u111-linux-x64.tar.gz /tmp #Ver arquivos em tmp hdfs dfs -ls /tmp #Excluir arquivos e diretórios hdfs dfs -rm -R /tmp hdfs dfs -rm -R /temp #Criar arquivo temporário hdfs dfs -mkdir /temp .fazer upload de arquivos vim exp.txt olá hadoop Olá Mundo Olá Primavera nuvem de primavera hdfs dfs -copyFromLocal exp.txt /temp
idéia de escrever código
1 Crie um novo projeto maven e importe pom
<dependência> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <versão>2.6.0</versão> </dependency> <dependência> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <versão>2.6.0</versão> </dependency>
#Autorizar a exclusão de arquivos (usado ao excluir arquivos e reportar erros) #supergroup:drwxr-xr-x se tornará drwxrwxrwx hdfs dfs -chmod -R 777 / #Ver arquivos locais gravados em fdfs (Método 2) hdfs dfs -cat /tmp/eee
Upload e download da versão 3.java
aplicativo de classe pública { public static void main(String[] args) lança exceção { // /** Tarefa do método 1 // * Grava arquivos no HDFS no local especificado pelo usuário // * Encontre seu disco rígido de big data // */ FileSystem fs = FileSystem.get(new URI("hdfs://192.168.64.210:9000"),nova configuração()); // // //Prepara o stream io para ler e gravar arquivos //InputStream é = fs.open(new Path("/temp/exp.txt")); //Prepara um fluxo de saída // FileOutputStream fos = new FileOutputStream("d:/abc.txt"); // //Escreve o fluxo de dados lido no fluxo de saída // IOUtils.copyBytes(is,fos,4096,true); // /** Método 2 // *crud file grava o arquivo de localização especificado pelo usuário no arquivo no HDFS // */ //Cria uma pasta no disco HDFS //fs.mkdirs(new Path("/tmp")); //Exclui uma pasta no disco HDFS // fs.delete(new Path("/temp"),true); fs.createNewFile(novo Caminho("/tmp/eee")); FileInputStream é = new FileInputStream("d:/a.txt"); FSDataOutputStream fos = fs.append(new Path("/tmp/eee")); IOUtils.copyBytes(é,fos,4096,verdadeiro); } }
Modelo de computação distribuída MapReduce
1 código de ideia 02
#Direcione o pacote novamente <dependência> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <versão>2.6.0</versão> </dependency> <dependência> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <versão>2.6.0</versão> </dependency>
2. Escreva o mapeador
#WcMapperlayer classe pública WcMapper estende Mapper<LongWritable, Text,Text, IntWritable> { IntWritable um=novo IntWritable(1); @Sobrepor mapa vazio protegido (chave LongWritable, valor de texto, contexto de contexto) lança IOException, InterruptedException { //Divisão de string String[] infos = valor.toString().split(" "); //hadoop olá ok for (palavra da string: infos) { context.write(new Text(palavra),um);// hadoop 1, olá 1, ok 1 } } } #WcReduce camada classe pública WcReduce estende Redutor<Texto, IntWritable,Text,IntWritable> { @Sobrepor protegido void reduzir (chave de texto, valores Iterable<IntWritable>, contexto de contexto) lança IOException, InterruptedException { contagem interna=0; for (Val IntWritable: valores) { contagem+=val.get(); } context.write(chave,new IntWritable(contagem)); } } #WcRunlayer classe pública WcRun { public static void main(String[] args) lança IOException, ClassNotFoundException, InterruptedException { //1 inicialização Configuração cfg = new Configuração(); Trabalho trabalho = Job.getInstance(cfg); //2 Defina o caminho de carregamento do jar, geralmente a configuração é driver class.class job.setJarByClass(WcRun.class); //3 Configurar mapa e reduzir classes job.setMapperClass(WcMapper.class); job.setReducerClass(WcReduce.class); //4 Definir saída do mapa job.setMapOutputKeyClass(Texto.class); job.setMapOutputValueClass(IntWritable.class); //5 Definir Reduzir saída e saída final job.setOutputKeyClass(Texto.class); job.setOutputValueClass(IntWritable.class); //6 Defina os caminhos de entrada e saída, onde args é o parâmetro passado pelo método main) FileInputFormat.setInputPaths(job,new Path("arquivo:///d:/a.txt")); FileOutputFormat.setOutputPath(job,new Path("arquivo:///d:/kgc")); //Envia tarefa job.waitForCompletion(true); } }
3.windons simula cluster hadoop