hadoop docker安装部署
2018-01-07 23:55
417 查看
前置条件
1.jdk镜像2.hadoop安装包
解压安装包
tar -zxvf cenos-6.5-hadoop-2.6.4.tar.gz -C /usr/local cd /usr/local mv hadoop-2.6.4 hadoop
修改配置文件:
cd hadoop/etc/hadoop
1.首先修改hadoop-env.sh
vim hadoop-env.sh
修改JAVA_HOME为配置好的java目录。 这里主要是因为需要脚本都是ssh到其他slaves上启动他们的进程,ssh + command的方式不是login shell。所以不会加载/etc/profile。如果无法读取到JAVA_HOME,则启动不成功,其实在容器中,如果都是自行启动自己的进程,这个变量不配置应该是没问题的。
2.修改core-site.xml
vim core-site.xml
修改成如下内容:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoopMaster:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/hadoopData</value> </property> </configuration>
fs.defaultFS指定了hdfs的namenode地址
hadoop.tmp.dir指定了hdfs的工作目录
3.修改hdfs-site.xml
<property> <name>dfs.replication</name> <value>3</value> </property>
dfs.replication指定了数据的副本数目 这个文件还可以指定namenode工作目录和datanode工作目录,还可以指定secondaryNamenode的地址
(secondaryNamenode在高版本中基本不会被使用了,主要是用来备份namenode数据的,当namenode挂了之后可以在secondNamenode中找到数据,恢复回来,secondaryNamenode并不能代替namenode的作用,在HA中,用两个namenode的方式,secondaryNamenode基本没有使用的必要了)
4.修改mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
mapreduce.framework.name指定了mapreduce使用的提交方式
hadoop的mapreduce方式其实相对来说已经用的不多了,后面我们采用spark来处理数据,而不使用hadoop mapreduce。所以其实这里配不配关系不大,因为我们不会启动yarn.
5.修改yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop01</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
yarn.resourcemanager.hostname指定resourcemanager地址 yarn.nodemanager.aux-services指定了map和reduce之间使用shuffle的方式来协助。
同样的,这个其实不配也可以。因为我们不启动yarn
6.修改slaves 这个文件用来指明工作节点。当调用start-dfs.sh的时候,会读取slaves文件,并ssh过去启动上面的datanode。 如果需要的话。可以配置。 但是在我的想法里,容器启动自动启动自己的namenode或datanode,所以可以不需要slaves文件,也不需要调用start-dfs.sh
格式化namenode
启动namenode之前一定要格式化namenode,生成对应的clusterId和blockpoolID。hdfs namenode -format
启动namenode/datanode
可以调用start-dfs.sh脚本启动整个集群,也可以一个一个自己启动。hadoop-daemon.sh start namenode 或者 hadoop-daemon.sh start datanode
可以采用jps查看是否启动成功。 打印的日志位于$HADOOP_HOME/logs。可以查看对应的日志。
最终commit得到镜像之后
对于namenode节点,docke run增加hdfs namenode -format和hadoop-daemon.sh start namenode,并指定固定ip。
对于datanode节点,docker run增加hadoop-daemon.sh start datanode并echo "hadoopip hadoopMaster" >> /etc/hosts。
相关文章推荐
- 基于docker1.7.03.1单机上部署hadoop2.7.3集群
- hadoop安装部署2------安装hadoop
- oozie 3.3.2在hadoop 2.2.0下的安装部署,及问题解决
- centos 7 安装及部署 docker
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
- Cloudera Hadoop集群安装部署,cdh3u6,Ubuntu12.04
- centos 安装并操作docker 同步文件夹 并部署tomcat
- Windows7-8-10安装部署hadoop-2.7.5(最详细的步骤,不需要cygwin)
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
- Hadoop在linux下的安装部署
- Hadoop在linux下的安装部署
- Docker快速安装部署
- Docker在Ubuntu16.04上安装和部署Apache Storm
- 将hadoop安装部署到window
- Hadoop建设工具Ambari的安装部署及完整使用(一)——介绍
- Hadoop实战-初级部分 之 Hadoop安装部署
- centos7.1安装部署Hadoop
- hadoop集群安装部署(一)
- Hadoop分布式系统的安装部署
- Docker 安装部署