一、准备环境 java
安装VMware10 ,三台centos6.4 版本,安装在VMware虚拟机下。node
1)安装中文输入法:web
一、须要root权限,因此要用root登陆 ,或su rootapache
二、yum install "@Chinese Support"centos
2)安装ssh或者vsftp服务器
使用chkconfig --list来查看是否装有vsftpd服务;app
使用yum命令直接安装: yum install vsftpd ssh
查看与管理ftp服务:webapp
启动ftp服务:service vsftpd startide
查看ftp服务状态:service vsftpd status
重启ftp服务:service vsftpd restart
关闭ftp服务:service vsftpd stop
3)jdk安装
参考http://my.oschina.net/kt431128/blog/269262
二、修改主机名
本人安装一个虚拟机,而后经过虚拟机-》管理-》克隆 完成其余两台机器的安装,如今存在的一个问题就是主机名是同样的,这个明显不是本身想要的,因此须要修改其他两台的主机名。
[root@slaver2 sysconfig]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=slaver
三、配置/ect/hosts,三台服务器的配置同样
vi /etc/hosts
192.168.21.128 master
192.168.21.131 slaver
192.168.21.130 slaver2
四、建立用户(使用root用户建立后来发现Browse the filesystem 报错,后来查文档,建议使用新建的用户)
useradd hadoop
passwd hadoop
输入密码,确认
五、ssh无密码登陆
参考:http://my.oschina.net/kt431128/blog/269266
六、HADOOP的下载和环境的配置
http://mirror.esocc.com/apache/hadoop/common/hadoop-2.2.0/
[ ] hadoop-2.2.0.tar.gz 07-Oct-2013 14:46 104M
hadoop环境变量的配置:
vi/etc/profile
在文件的最下面添加
export HADOOP_HOME=/usr/zkt/hadoop2.2.0/hadoop-2.2.0
export PAHT=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_LOG_DIR=/usr/zkt/hadoop2.2.0/hadoop-2.2.0/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
注:在64位操做系统上须要加入一下红色部分的配置信息
网上看到的另外一种解决办法:
在使用./sbin/start-dfs.sh或./sbin/start-all.sh启动时会报出这样以下警告:
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
....
Java: ssh: Could not resolve hostname Java: Name or service not known
HotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not known
64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known
....
这个问题的错误缘由会发生在64位的操做系统上,缘由是从官方下载的hadoop使用的本地库文件(例如lib/native/libhadoop.so.1.0.0)都是基于32位编译的,运行在64位系统上就会出现上述错误。
解决方法之一是在64位系统上从新编译hadoop,另外一种方法是在hadoop-env.sh和yarn-env.sh中添加以下两行:
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
注:/usr/zkt/hadoop2.2.0/hadoop-2.2.0为自定义的下载hadoop文件的解压路径
七、修改hadoop的配置文件hadoop2.2.0/etc/hadoop
一、修改hadoop-env.sh 、yarn-env.sh 确保hadoop运行所须要的java环境
# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.7.0_55
二、修改core-site.xml文件 定义文件系统的配置
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/zkt/hadoop2.2.0/tmp</value>
</property>
</configuration>
三、修改hadfs-site.xml 定义名称节点和数据节点
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/zkt/hadoop2.2.0/hdf/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/zkt/hadoop2.2.0/hdf/name</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
四、修改mapred-site.xml Configurations for MapReduce Applications
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
五、修改yarn-site.xml文件
该文件主要用于:
一、Configurations for ResourceManager and NodeManager:
二、Configurations for ResourceManager:
三、Configurations for NodeManager:
四、Configurations for History Server (Needs to be moved elsewhere):
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
八、建立第7步配置文件中多出的文件夹
data tmp name log mkdir -r /usr/zkt/hadoop2.2.0/hdf/data 等
九、为这些文件夹赋权限 比较关键 否则文件生成的时候无文件建立、写权限
su - root
chown -R hadoop:hadoop /usr/zkt/hadoop2.2.0 (不明白的能够查看chown命令)
或者切换到hadoop用户下 经过chmod -R 777 data 赋权限
十、将配置好的hadoop分别拷贝到 slaver 和slaver2主机上
scp -r /usr/zkt/hadoop2.2.0/hadoop-2.2.0 hadoop@slaver:/usr/zkt/hadoop2.2.0/
scp -r /usr/zkt/hadoop2.2.0/hadoop-2.2.0 hadoop@slaver2:/usr/zkt/hadoop2.2.0/
十一、hadoop namenode的初始化
若是 hadoop环境变量配置没问题直接使用
hdfs namenode -format
hadoop command not found 解决办法:
echo $PATH
发现hadoop的环境变量是:/home/hadoop/bin 而不是咱们配置的环境变量,咱们须要把hadoop-2.2.0包下的bin、sbin文件夹拷贝到/home/hadoop/下,再次echo $PATH,发现能够了。
十二、关闭防火墙 三台服务器的防火墙都须要关闭
查看iptables状态:
service iptables status
iptables开机自动启动:
开启: chkconfig iptables on
关闭: chkconfig iptables off
iptables关闭服务:
开启: service iptables start
关闭: service iptables stop
1三、启动hadoop
start-all.sh
关闭hadoop
stop-all.sh
1四、查看启动的节点进程
jps
1五、查看启动后的服务信息
master中应该有ResourceManager服务,slave中应该有nodemanager服务
查看集群状态:./bin/hdfs dfsadmin –report
查看文件块组成: ./bin/hdfsfsck / -files -blocks
查看各节点状态: http://master:50070