集群单机版安装
1.安装虚拟机
2.建立自己的一个目录 ( /home/dongxicheng/hadoop)
3.将(hadoop-2.2.0.tar.gz,jdk-6u45-linux-i586.bin)等安装包放在上面目录
4.(getconf LONG_BIT) 查看系统位数, 32位 、64位,确定下载的jdk跟系统位数一致
5.linux本身设置,设置hosts文件 (vi /etc/hosts),为linux添加一个hosts (127.0.1.1 YARN001),修改该文件需要root权限,所以需要执行命令(sudo vi /etc/hosts)
6.给jdk赋予执行权限(chmod +x jdk-6u45-linux-i586.bin)
7.执行jdk(./jdk-6u45-linux-i586.bin),会解压到一个目录,可通用(ls)查看新增的目录( jdk1.6.0_45)
8.然后就可以运行jdk下面的一些命令了( jdk1.6.0_45/bin/jps)查看当前正在执行的进程
9.无需设置jdk环境变量,这样的话,直接数据命令jps就不起作用了
10.解压hadoop的安装包(tar -zxwf hadoop-2.2.0.tar.gz),可能会报个小错误,无所谓invalid compressed data--crc error,解压到hadoop-2.2.0目录下
11.进入到该目录下(cd hadoop-2.2.0)
12.修改其中的配置文件,查看所有配置文件(ls etc/hadoop/),将实现需要修改的配置文件拷贝过来(cp ../../hadoop_2conf/* etc/hadoop/)
one.修改(vi etc/hadoop/hadoop-env.sh)这个文件的第一行,将JAVA_HOME的目录改成上面解压的那个目录JAVA_HOME=/home/dongxicheng/hadoop/jdk1.6.0.45/
two.修改(vi etc/hadoop/mapred-site.xml)添加一个配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
three.修改(vi etc/hadoop/core-site.xml)添加配置
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://YARN001:8020</value> 端口号随便设置,只要是对外开放的就可以,这里的YARN001就是之前修改的hosts文件的那个,或者用localhost,127.0.0.1,本机的ip地址都行
</property>
</configuration>
four.修改(vi etc/hadoop/hdfs-site.xml)添加三个配置
<configuration>
<!-- hdfs上各个块的副本数,默认是3,因为这里是单机版的,所以设置成1-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 对于虚拟机这种设置两个非temp目录,启动hadoop时会自动创建,不设置的话,默认该两个dir都会放到linux的temp目录下,这个temp目录,每次虚拟机启动的时候都会删除,
对于服务器上的集群搭建,就不需要设置这些了,因为基本是一直启动着的-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/dongxicheng/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/dongxicheng/hadoop/dfs/data</value>
</property>
</configuration>
five.修改(vi etc/hadoop/yarn-site.xml)添加一个配置
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
six.修改(vi etc/hadoop/slaves)可改,可不改
默认值 localhost,也可以改成YARN001或127.0.0.1
13.启动所有服务(sbin/start-),启动所有yarn(sbin/start-all.sh)一般不推荐,按顺序启动,前面启动不成功,后面就会启动报错
服务启动:(sbin/start-dfs.sh)把dfs的namenode,datanode,secondnamenode都启动
第一次启动集群的格式化命令(bin/hadoop namenode -farmat),将所有文件删除,危险,一般只在新搭建的集群中使用
启动namenode(sbin/hadoop-daemon.sh start namenode)
通过命令(../jdk1.6.0_45/bin/jps)查看当前正在执行的进程,即namenode是否启动成功,也可以通过日志查看是否启动成功(vi logs/)(vi logs/hadoop-dongxicheng-namenode-dongxicheng-laptop.log)
启动datanode(sbin/hadoop-daemon.sh start datanode)
通过相同的方式查看是否启动成功
14.通过web访问(http://,yarn001:50070/dfshealth.jsp),hdfs的对外端口号是50070
15.在hdfs上创建一个目录(bin/hadoop fs -mkdir /home)会出现些警告忽略(bin/hadoop fs -mkdir /home/dongxicheng),上传一个文件 (bin/hadoop fs -put README.txt /home/dongxicheng)
并在web上看到,说明hdfs搭建成功!
16.一起启动所有yarn(sbin/),(sbin/start-yarn.sh)因为yarn不主要,该过程会提示输入密码,因为没有设置ssh免密码登录
17.通过web访问(yarn001:8088),可以看到yarn启动成功,也可通过jps命令同上,对应的进程为2个,NodeManager、ResourceManager
18.此时可以跑mapreduce了
(bin/hadoop jar share/)
(bin/hadoop jar share/hadoop/)
(bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 2 100)开始跑这个例子
19.使用完之后可以关闭(sbin/stop-yarn.sh),(sbin/stop-dfs.sh)