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 //查看文件