赞
踩
环境:
搭建主要步骤
(1)打开hadoop_env.sh,修改JAVA_HOME
(2)打开core-site.xml,输入
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
(3)打开hdfs-site.xml输入
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/namenode_dir </value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/datanode_dir </value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration>
(4)打开mapred-site.xml输入
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>yarn.app.mapreduce.am.env</name>//这里的路径是你安装hadoop的路径 <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value> </property> </configuration>
(5)打开yarn-site.xml输入
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
配置完后hadoop集群的基本环境已经配置完毕!保存修改后的镜像
docker commit保存镜像 输入docker images可以查看保存镜像。
配置集群:
我用1个节点作master,3个节点作slave。(博主只是配着好玩,真实环境请搭建单数节点集群),namenode与secondnamenode同一节点。
docker run -it -h Master --name Master...
2. 输入 cat /etc/hosts查看当前容器的ip,如查看master IP为172.17.0.3
3. 编辑4个容器的hosts,把每一个主机和ip保存进去
在master主机输入ssh s01 等测试master能否正常连接slave(这里建议全部ssh一遍,避免后面启动hadoop要输入yes或者报警告)
到这里,还差最后一个配置就要完成hadoop集群配置了,打开master上的workers文件**(在hadoop安装目录下的etc/hadoop下)**,hadoop2版本这个文件叫做slaves,把原先的默认值localhost删掉,输入三个slave的主机名:s03,s02,s03.
启动集群
在master终端输入start-all.sh启动集群(第一次启动,务必要format一下namenode,后面再启动就不需要format了)
格式化namenode
启动集群
这里直接启动集群可能会报错
在hadoop-env.sh添加一下内容
添加后:再次启动集群
在master节点输入jps
在slave节点输入jps
运行hadoop自带的词频统计的例子
查看结果
至此,基于docker的hadoop集群搭建成功。搭建过程中有遇到问题的同学,欢迎留言一起讨论!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。