简介:
Hadoop是处理大数据的主要工具,其核心部分是HDFS、MapReduce。为了学习的方便,我在虚拟机上搭建了一个伪分布式环境,来进行开发学习。
一、安装前准备:
1)linux服务器:Vmware 上CentOS6.4 mini安装
2) JDK:jdk-7u65-linux-x64.gz
3) SSH:ssh client
4) YUM源配置妥当:yum list查看
5)Hadoop:hadoop-2.5.2.tar.gz
下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz
二、环境配置
1)linux环境基本设置:
vi
/etc/hosts
#添加
本机IP地址 Master
重启系统,接下来是配置ssh无密码登陆。配置这个的理由是在启动hadoop可以不用输入密码。
3)配置SSH无密码登录
vi
/etc/ssh/sshd_config
#以下4行的注释需要打开
HostKey
/etc/ssh/ssh_host_rsa_key
RSAAuthentication
yes
PubkeyAuthentication
yes
AuthorizedKeysFile .
ssh
/authorized_keys
#保存,并重启sshd
service sshd restart
#生成免登陆秘钥
ssh
-keygen -t rsa
#一路回车就行。之后会在当前登陆用户主目录中的.ssh文件夹里生成2个文件。
#进入.ssh目录。
cat
id_rsa.pub >> authorized_keys
#现在可以用ssh无密码登陆系统了。
ssh
localhost
export HADOOP_HOME=/usr/hadoop-2.5.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib
#保存,并执行source /etc/profile
#创建hadoop的name与data目录
mkdir
-p
/usr/hdfs/name
mkdir
-p
/usr/hdfs/data
mkdir
-p
/usr/tmp
#在configuration节点里面加入以下配置,Master也为为本地ip地址
<property>
<name>hadoop.tmp.
dir
<
/name
>
<value>
/usr/tmp
<
/value
>
<description>A base
for
other temporary directories.<
/description
>
<
/property
>
<!--
file
system properties-->
<property>
<name>fs.defaultFS<
/name
>
<value>Master
:9000<
/value
>
<
/property
>
#同样在configuration节点里面加入以下配置,配置分片数和namenode和datanode的目录
<property>
<name>dfs.replication<
/name
>
<value>1<
/value
>
<
/property
>
<property>
<name>dfs.namenode.name.
dir
<
/name
>
<value>
/usr/hdfs/name
<
/value
>
<
/property
>
<property>
<name>dfs.datanode.data.
dir
<
/name
>
<value>
/usr/hdfs/data
<
/value
>
<
/property
>
#从模板复制一份mapred-site.xml
cp
mapred-site.xml.template mapred-site.xml
vi
mapred-site.xml
#同样在configuration节点里面加入以下配置,因为从0.23.0版本开始,就用新的mapreduce框架YARN来代替旧的框架了,所以,这里要配置成yarn
<property>
<name>mapreduce.framework.name<
/name
>
<value>yarn<
/value
>
<
/property
>
vi
yarn-site.xml
#同样在configuration节点里面加入以下配置,注意使用Master或者本机的ip地址
<property>
<name>yarn.nodemanager.aux-services<
/name
>
<value>mapreduce_shuffle<
/value
>
<
/property
>
<property>
<description>The address of the applications manager interface
in
the RM.<
/description
>
<name>yarn.resourcemanager.address<
/name
>
<value>Master:18040<
/value
>
<
/property
>
<property>
<description>The address of the scheduler interface.<
/description
>
<name>yarn.resourcemanager.scheduler.address<
/name
>
<value>Master:18030<
/value
>
<
/property
>
<property>
<description>The address of the RM web application.<
/description
>
<name>yarn.resourcemanager.webapp.address<
/name
>
<value>Master:18088<
/value
>
<
/property
>
<property>
<description>The address of the resource tracker interface.<
/description
>
<name>yarn.resourcemanager.resource-tracker.address<
/name
>
<value>Master:8025<
/value
>
<
/property
>
至此,就将Hadoop的基本环境配置好了,现在可以开始我们的Hadoop之旅了!
#通过运行hadoop自带的wordcount来验证安装是否正确。
#进入hadoop安装的目录,输入以下命令。
mkdir
example
cd
example
vi
file1.txt
vi
file2.txt
hadoop is ok
cd
..
hadoop fs -
mkdir
/data
hadoop fs -put -f example
/file1
.txt example
/file2
.txt
/data
#进入HADOOP_HOME目录,运行wordcount例子
hadoop jar .
/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2
.5.2-sources.jar org.apache.hadoop.examples.WordCount
/data
/output
#查看运行结果
hadoop fs -
cat
/output/part-r-00000
#结果如下:
2.5.2 1
cz 1
hadoop 4
hello 3
is 2
newbee 1
ok 1
zhm 1