1) 安装jdk
下载jdk-6u21-linux-i586.bin
然后修改/etc/profile:
export JAVA_HOME=/usr/local/
jdk export CLASSPATH=.:
$JAVA_HOME/lib:
$JRE_HOME/lib:
$CLASSPATH
export PATH=
$PATH:
$JAVA_HOME/bin
保存,并执行source /etc/profile
2) 配置host
Namenode的机器,需要配置集群中所有机器的ip
修改/etc/hosts
10.10.236.190
master 10.10.236.191 slave-
A10.10.236.193 slave-B
其他的datanode的/etc/hosts 只需要配置namenode的机器ip和本机ip
10.10.236.190
master 10.10.236.191 slave-A
修改hostname(可选)
vi /proc/sys/kernel/hostname
3) 建立ssh无密码登录
首先进到root目录下
root@master:~
#
$ssh-keygen -t rsa
进入.ssh目录
root@master:~/.ssh
#
cp id_rsa.pub authorized_keys
其余的datanode的机器
新建.ssh目录
root@slave-A:~
#
mkdir .ssh
在name(master)上远程拷贝
root@master:~/.ssh
#
scp authorized_keys slave-A:/root/.ssh/
测试ssh
4) 安装hadoop
下载Hadoop 解压到每台服务器的/data/soft
解压
root@master:/data/soft
#
tar zxvf hadoop-0.21.0.tar.gz
建立软连
root@master:/data/soft
#
ln -s hadoop-0.21.0 hadoop
然后修改/etc/profile
export HADOOP_HOME=/data/soft/
hadoop export PATH=
$PATH:
$JAVA_HOME/bin:
$HADOOP_HOME/bin
5) 配置hadoop
1.修改conf/hadoop-env.sh,添加jdk支持
export JAVA_HOME=/usr/local/jdk
如果ssh端口不是默认的22,在conf/hadoop-env.sh里改下。如:
export HADOOP_SSH_OPTS="-p 1234"
2.修改conf/core-site.xml,增加下面内容
<
name
>fs.default.name
</
name
>
<
value
>hdfs://master:54310
</
value
>
//这个才是真正决定namenode
</
property
>
<
property
>
<
name
>hadoop.tmp.dir
</
name
>
<
value
>/data/hdfs/tmp
</
value
>
//临时文件,有问题的时候,可以删除
<
description
>A base for other temporary directories.
</
description
>
3.修改conf/hdfs-site.xml,增加下面内容
<
property
>
<
name
>dfs.name.dir
</
name
>
<
value
>/data/hdfs/name
</
value
>
//namenode持久存储名字空间,事务日志的本地路径
</
property
>
<
property
>
<
name
>dfs.data.dir
</
name
>
<
value
>/data/hdfs/data
</
value
>
//datanode存放数据的路径
</
property
>
<
property
>
<
name
>dfs.datanode.max.xcievers
</
name
>
<
value
>4096
</
value
>
</
property
>
<
property
>
<
name
>dfs.replication
</
name
>
<
value
>1
</
value
>
//数据备份的个数,默认是3
3.修改conf/mapred-site.xml,增加下面内容
<
property
>
<
name
>mapred.job.tracker
</
name
>
//jobTracker的主机
<
value
>master:54311
</
value
>
</
property
>
4. .修改conf/masters,这个决定那个是secondarynamenode
5 .修改conf/slaves,这个是所有datanode的机器
slaves-Aslaves-B
6) 将配置好的hadoop拷贝到所有的datanode
root@master:/data/soft/hadoop/conf# scp -rp /data/soft/hadoop-0.21.0 10.10.236.191:/data/soft/hadoop-0.21.0
在datanode上建立对应的软连
7) 格式化hdfs文件系统的namenode
root@master:/data/soft/hadoop
#
bin/hadoop namenode –format
输入Y
8) 启动hadoop集群
root@master:/data/soft/hadoop
#
bin/start-all.sh
9) Hdfs操作
建立目录
root@master:/data/soft/hadoop
#
bin/hadoop dfs -mkdir testdir
查看现有文件
root@master:/data/soft/hadoop
#
bin/hadoop dfs -ls
10) 关闭Hdfs
root@master:/data/soft/hadoop
#
bin/stop-all.sh