Hadoop分布式文件系统搭建以及基本操作

1. 环境搭建

jdk-1.8
jdk下载地址

export JAVA_HOME = /usr/lib/java/jdk1.7.0_21
export PATH  =$JAVA_HOME/bin:$PATH

hadoop-2.7.3
hadoop各个版本下载地址

解压缩:tar -zxvf jdk1.7.0_21.tar
设置环境变量 sudo vim /etc/profile

export HADOOP_HOME = /usr/local/hadoop
export PATH = $JAVA_HOme/bin:$HADOOP_HOME/bin:$PATH

4台服务器

2.配置ssh无秘登录

因为hadoop服务启动时需要多次输入系统用户密码,才能将服务运行起来,而且不配置无秘登录,namenode服务器访问datanode时也需要密码。

1、修改hostname

vi /etc/hostname
    s112

2、修改hosts

vi /etc/hosts
    127.0.0.1   localhost
    192.168.42.112  s112
    192.168.42.113  s113
    192.168.42.114  s114
    192.168.42.115  s115

3、生成秘钥对

$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    /home/centos/.ssh/authorized_keys
    $>scp id_rsa.pub centos@s112:/home/centos/.ssh/authorized_keys
    $>scp id_rsa.pub centos@s113:/home/centos/.ssh/authorized_keys
    $>scp id_rsa.pub centos@s114:/home/centos/.ssh/authorized_keys
    $>scp id_rsa.pub centos@s115:/home/centos/.ssh/authorized_keys

3.修改配置文件

一下配置文件均在hdaoop/etc/hadoop/下
[core-site.xml]
        <configuration>
                <property>
                        <name>fs.defaultFS</name>
                        <value>hdfs://112/8082</value>
                </property>
                <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/hadoop/hdfs</value>
                </property>
        </configuration>

[hdfs-site.xml]
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
</configuration>

[mapred-site.xml]
        <configuration>
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
        </configuration>


[yarn-site.xml]
        <configuration>
                <property>
                        <name>yarn.resourcemanager.hostname</name>
                        <value>s112</value>
                </property>
                <property>
                        <name>yarn.nodemanager.aux-services</name>
                        <value>mapreduce_shuffle</value>
                </property>
        </configuration>

[slaves]
    s113
    s114
    s115

文件修改成功后,需要将文件分发出去

$>cd /soft/hadoop/etc/
$>scp hadoop centos@s113:/soft/hadoop/etc/
$>scp hadoop centos@s114:/soft/hadoop/etc/
$>scp hadoop centos@s115:/soft/hadoop/etc/

4.准备启动进程

删除hadoop日志

$>cd /soft/hadoop/logs
$>rm -rf *
$>ssh s113 rm -rf /soft/hadoop/logs/*
$>ssh s114 rm -rf /soft/hadoop/logs/*
$>ssh s115 rm -rf /soft/hadoop/logs/*

删除临时目录文件

$>cd /tmp
$>rm -rf hadoop-centos
$>ssh s113 rm -rf /tmp/hadoop-centos
$>ssh s114 rm -rf /tmp/hadoop-centos
$>ssh s115 rm -rf /tmp/hadoop-centos

格式化文件系统

$>hadoop namenode -format

启动hadoop进程

$>start-all.sh

启动成功后可以在s112://50070上查看

为了方便管理与操作,可以编写一个简单脚本
在/usr/local/bin/下创建xtest.sh

$>vi xtest.sh
#!/bin/bash

params=$@
i=112
for(( i = 112 ; i <= 115 ; i= $i +1)); do
        echo ============= s$i ==============
         ssh s$i $params
done

xtest.sh用法举例

$>xtest.sh jps            //查看所有服务器进程启动情况
    jps命令是jdk自带的,得将jps符号链接到/usr/local/bin目录下
$>xtest.sh rm -rf  ******     //删除文件或目录 *代表路径
    xtest.sh作用统一操作(liunx命令),避免遗漏等情况。

5.hdfs文件系统基本操作

$>hdfs dfs -help
$>hdfs dfs -mkdir -p  /user/hadoop      //该路径是hdfs路径不是liunx路径
$>hdfs dfs -ls /user/                  //查看目录
$>hdfs dfs -ls -R /user/               //递归查看目录
$>hdfs dfs -put xx.txt /user/hadoop        //上传文件
$>hdfs dfs -rm -f -r /user/hadoop       //删除目录或文件
$>hdfs dfs -cat /user/hadoop/xx.txt        //查看文件

猜你喜欢

转载自blog.csdn.net/qq_30643885/article/details/81741582
今日推荐