第一步:安装
(1) 下载hadoop包 http://hadoop.apache.org/
(2) 登录需要配置hadoop的服务器(HadoopSrv01) su -gird(官方建议用grid账户搭建)
(3) 解压 tar -xvf hadoop-2.1.0-bin.tar.gz 到一个目录比如/home/gird
(4) 进入/home/gird 创建临时目录 tmp
(5) 配置 hadoop-env.sh, core-site.xml, hdfs-site.xml,mapred-site.xml ,masters,slaves文件
(6) 修改hadoop-env.sh 文件,只需要设置 export JAVA_HOME=/usr/java/jdk1.7.0 即可,其他不需要修改。
(7) 修改core-site.xml 文件,增加以下内容
<property>
<name>default.name</name>
<value>http://HadoopSrv01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/gird/hadoop-2.1.0/tmp</value>
</property>
(8) 修改hdfs-site.xml,根据你自己的datanode节点数,设置复制因子。
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
(9) 修改mapred-site.xml文件
<property>
<name>mapred.job.tracker</name>
<value>HadoopSrv01:9001</value>
</property>
(10) 修改masters,slaves 增加namenode,datanode节点配置。
masters:
HadoopSrv01
slaves:
HadoopSrv02
HadoopSrv03
(11) 格式化Hadoop集群 bin/hadoop namenode -format
(12) 启动集群 bin/start-all.sh
(13)检查后台进程是否OK /usr/java/jdk1.7.0/bin/jps
NameNode,JobTracker,DataNode,TaskTracker
如果以上都能看到,就说明Hadoop分布式环境搭建好了
第二步:测试
(1) 进入cd /home/gird mkdir input
(2) cd input
(3)通过输出重定向的方式,新增两个txt文件
echo "Hi everyone">Text1.txt
echo "Hi,Hadoop">Text2.txt
(4) 查看Hadoop HDFS里是否有东西
cd /home/gird/hadoop-2.1.0/bin/hadoop fs -ls
返回:ls: Cannot access .: No such file or directory
(5)把input目录下的文件拷贝到hadoop in目录下
bin/hadoop fs -put ../put ./in
提示错误:
put: org.apache.hadoop.hdfs.server .namenode.SafeModeException: Cannot create directory /user/gird/in. Name node is in safe mode.
执行:/home/gird/hadoop-2.1.0/bin/hadoop dfsadmin -safemode leave
(6) 执行example jar 进行统计分析。
/home/gird/hadoop-2.1.0/bin/hadoop jar hadoop-examples-2.1.0.jar wordcount in out
(7) 查看执行输出文件。
bin/hadoop fs -cat ./out/part-r-00000
返回:
Hadoop 1
Hi 2
everyone 1
第三步:配置SSH验证
(1) 依次登录登录到 HadoopSrv01,HadoopSrv02,HadoopSrv03,先进行(1),(2),(3)操作,然后进行第(4)步骤操作:
(1):su - grid
(2): ssh-keygen -t rsa 全部默认,直接回车,不需要输入任何东西。
(3): cd .ssh 进入.ssh目录
(4):
HadoopSrv01上:
scp id_rsa.pub
scp id_rsa.pub
HadoopSrv02上:
scp id_rsa.pub
scp id_rsa.pub
HadoopSrv03上:
scp id_rsa.pub
scp id_rsa.pub
(2) 测试
ssh hostname 如果不需要输入密码就证明设置成功了。