部署环境及软件:
VMware Workstation 10
CentOS 7
Hadoop 2.5
环境部署
1、准备虚拟机
可先建立一台虚拟机,
需要安装jdk,准备好haddop软件包,
然后通过VMware克隆获得相同配置虚拟机。
2、主机名、IP地址等设置
三台机器:
192.168.50.131 | 192.168.50.132 | 192.168.50.133 |
hadoop-senior01 | hadoop-senior02 | hadoop-senior03 |
配置映射:
/etc/hosts
192.168.50.131 hadoop-senior01.LCode.com hadoop-senior01
192.168.50.132 hadoop-senior02.LCode.com hadoop-senior02
192.168.50.133 hadoop-senior03.LCode.com hadoop-senior03
3、修改配置文件
三台机器,为了防止一台机器挂掉导致系统全部挂掉,
从而将NameNode,ResourceManager,SecondaryNameNode部署到不同的机器。
规划如下:
HDFS文件系统 YARN云操作系统 JobHistoryServer历史服务监控
hadoop-senior01 NameNode,JobHistoryServer,DataNode,NodeManager
hadoop-senior02 ResourceManager,DataNode,NodeManager
hadoop-senior03 SecondaryNameNode,DataNode,NodeManager
配置文件($hadoop/etc/hadoop下):相关配置的属性值可查官方文档
- HDFS
-
- hadoop-env.sh //设置JAVA_HOME
- core-site.xml //配置NameNode的主机地址
- hdfs-site.xml //配置SecondaryNameNode的主机地址
- slaves //每一行代表一台机器,遍历文件每行,每台机器均创建DataNode
-
- YARN
-
- yarn-env.sh //设置JAVA_HOME
- yarn-site.xml //配置ResourceManager的主机地址
- slaves //对应每台机器创建的DataNode,每台机器也需要创建NodeManager
-
- MapReduce
-
- mapred-env.sh //设置JAVA_HOME
- mapred-site.xml //设置JobHistoryServer的主机地址
-
4.配置主从节点机器的ssh免密登录(用来使用start-dfs.sh等同时启动多种服务时无需频繁输入密码)
进入当前用户的根目录下的.ssh文件夹(没有就创建一下即可),
然后输入ssh-keygen -t rsa,连续四下回车。
再通过ssh-copy-id haddop-senior02.LCode.com命令,再输入yes和密码,进行连接即可。
5.分发配置文件到每台机器
使用scp命令将hadoop文件夹整个分发到其余两台机器即可。
scp -r $hadoop lcode@hadoop-senior02.lcode.com:/opt/app/
6.启动测试
可以逐一启动NameNode,DataNode,ResourceManager,NodeManager等。
也可以使用start-dfs.sh,start-yarn.sh启动hdfs,yarn的相关服务。
进行简单的应用测试
* hdfs
读写操作
bin/hdfs dfs -mkdir -p /user/lcode/tmp/conf
bin/hdfs dfs -put etc/hadoop/*-site.xml /user/lcode/tmp/conf
bin/hdfs dfs -text /user/lcode/tmp/conf/core-site.xml
* yarn
run jar
* mapreduce
bin/yarn jar share/hadoop/mapreduce/hadoop*example*.jar wordcount /user/lcode/mapreuce/wordcount/input /user/lcode/mapreduce/wordcount/output