Hadoop集群搭建指南
- 集群环境
- 修改hosts
- 前提条件
- 安装hadoop
- hadoop的简单使用
- 其它
集群环境
(hadoop00作为namenode)
hadoop00:10.34.14.60
hadoop01:10.34.14.47
hadoop02:10.34.14.31 |
host配置:
配置hosts,分别修改三台机器的/etc/hosts如下:
1.hadoop00:能识别自己和所有的datanode机器
10.34.14.60 hadoop00
10.34.14.47 hadoop01
10.34.14.31 hadoop02
|
2.hadoop01:能识别自己和namenode机器
10.34.14.60 hadoop00
10.34.14.47 hadoop01 |
3.hadoop02:能识别自己和namenode机器
10.34.14.60 hadoop00
10.34.14.31 hadoop02
|
hadoop安装前提条件:
JDK1.5.x
集群各结点间ssh无密码访问
step1:安装jdk1.5.x(注意安装sun-jdk)
的jdk的bin包.
PS:Linux下安装bin包:
./XXX.bin运行一下,如果不可以就再转换一下文件属性:chmod +x XXX.bin
b.设置java_home
step2:集群间各结点间无密码访问
假设要建立用户A,B间的无密码访问:
a.进入A的主目录,运行:
在.ssh下生成:
id_rsa为私钥,id_rsa.pub为公钥
B作同样操作生成.ssh文件
b.将A的.ssh文件下的id_rsa.pub拷贝至B的.ssh文件夹下并重命名:
scp .ssh/id_rsa.pub B@10.34.14.60:.ssh/id_rsa.pub0 |
(复制到另一方需重命名,防止覆盖原来机器的公钥)
在B中,拷贝一份id_rsa.pub文件并命名为authorized_keys,并追加到A的公钥上:
cat id_rsa.pub0>>authorized_keys
这样,A访问B就不需要访问密码
c.测试:
做完集群间的无密码访问后,可通过ssh 主机名 来测试是否设置成功
安装Hadoop
(此过程所有集群机器做相同操作)
1.下载源文件,解压
tar -zxvf hadoop-0.20.2.tar.gz |
2.编辑conf/hadoop-env.sh文件,至少需要将JAVA_HOME设置为Java安装根路径。
3.编辑环境变量.bashrc或.profile或/etc/environment:
export HADOOP_HOME=/home/hadoop/hadoop-0.20.2
export PATH=$HADOOP_HOME/bin:$PATH
|
设置完环境变量后,执行当前环境变量
4.配置文件conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop00:9000</value>
</property>
</configuration>
|
5.配置文件conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
|
6.配置文件conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop00:9001</value>
</property>
</configuration> |
7.配置文件conf/masters
8.配置文件conf/slaves
hadoop的使用举例:
1.格式化namenode
3.查看hadoop是否成功运行:
各台集群机器上运行:
Namenode所在机器出现:namenode,JobTracker
Datanode所在机器出现:DataNode,TaskTracker
4.在hdfs中新建文件夹
hadoop fs -put README.txt input |
hadoop jar hadoop-examples-*.jar wordcount input output
|
其它