1、安装jdk
2、准备hadoop安装包
scp user@10.211.55.5:/home/user/mac_doc/hadoop-2.6.0.tar ./hadoop-2.6.0.tar
3、ip分配
ip地址 主机名 用途
10.211.55.6 hadoop1 namenode
10.211.55.7 hadoop2 datanode
10.211.55.8 hadoop3 datanode
4、修改主机名
vi /etc/sysconfig/network
重启服务器后,才能生效
5、配置hosts
vi /etc/hosts
修改如下以下内容(以10.211.55.6为例)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 hadoop1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.211.55.6 hadoop1
10.211.55.7 hadoop2
10.211.55.8 hadoop3
6、hadoop集群中namenode节点,需ssh无密码访问datanode
在namenode节点下,执行
ssh-keygen -t rsa
并一直按回车,结束后,会在 ~/.ssh/ 目录下生成两个文件id_rsa(私钥) id_rsa.pub(公钥)
将公钥文件id_rsa.pub内容放到authorized_keys文件中:
将公钥文件id_rsa.pub内容放到 authorized_keys文件中
cat id_rsa.pub >> authorized_keys
将authorized_keys文件分发到各datanode节点
scp authorized_keys root@hadoop2:/root/.ssh/
这个命令有可能操作不成功,提示:scp: /root/.ssh/authorized_keys: No such file or directory
可能因为此台机器没有使用过ssh登录过其他机器,所以默认没有.ssh目录,解决方法就是使用ssh登录其他机器尝试一次
操作结束后,可以尝试
7、在/usr下解压hadoop-2.6.0.tar
tar xvf hadoop-2.6.0.tar
并修改名称
mv hadoop-2.6.0 hadoop
8、修改hadoop配置文件
a、修改hadoop-env.sh,配置正确的JAVA_HOME
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_75
b、修改yarn-env.sh,配置正确的JAVA_HOME
c、修改slaves文件
#localhost
hadoop2
hadoop3
d、core-site.xml
...
hadoop.tmp.dir
/usr/hadoop/tmp
Abasefor other temporary directories.
fs.defaultFS
hdfs://hadoop1:9000
io.file.buffer.size
4096
e、 hdfs-site.xml(需要手工创建./dfs/name和./dfs/data目录)
...
dfs.nameservices
hadoop-cluster1
dfs.namenode.secondary.http-address
hadoop1:50090
dfs.namenode.name.dir
file:///usr/hadoop/dfs/name
dfs.datanode.data.dir
file:///usr/hadoop/dfs/data
dfs.replication
2
dfs.webhdfs.enabled
true
f、mapred.xml
默认情况下,/usr/local/hadoop/etc/hadoop/文件夹下有mapred.xml.template文件,我们要复制该文件,并命名为mapred.xml,该文件用于指定MapReduce使用的框架。
...
mapreduce.framework.name
yarn
mapreduce.jobtracker.http.address
hadoop1:50030
mapreduce.jobhistory.address
hadoop1:10020
mapreduce.jobhistory.webapp.address
hadoop1:19888
g、yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.address
hadoop1:8032
yarn.resourcemanager.scheduler.address
hadoop1:8030
yarn.resourcemanager.resource-tracker.address
hadoop1:8031
yarn.resourcemanager.admin.address
hadoop1:8033
yarn.resourcemanager.webapp.address
hadoop1:8088
h、添加hadoop环境变量
vi /etc/profile
...
#hadoop
export HADOOP_HOME=/usr/hadoop/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
i、格式化文件系统
命令:hadoop namenode -format
9、启动与关闭
cd /usr/hadoop/sbin
./start-dfs.sh
./start-yarn.sh
./stop-dfs.sh
./stop-yarn.sh
10、测试
关闭防火墙:service iptables stop
不可访问
datanodes页面为空
问题解决过程
1、查询namenode节点的日志,没发现问题
2、查询datanode节点的日志,两个datanode节点日志都出现以下日志(日志是个好东西)
网上查询确定是/etc/hosts配置问题
原来的配置
修改后的配置
重启hadoop后,没有问题了(心情棒极了)