Hadoop分布式搭建(虚拟机)001
本文由博主--Bear Wang 手敲,如有雷同,不胜荣幸。 欢迎指错!
博主QQ759502416 答案 :王胡雄
1.修改ip,关闭防火墙(主机和虚拟机都关闭)使虚拟机能ping同主机
2.修改主机名以及映射
1) sudo vim /etc/hostname
2) sudo vim /etc/hosts (将所有的域名和映射都写到文件中)
3.解压JDK,配置JDK环境
1)解压安装java
2)配置环境变量
3)source /etc/environment 执行此操作 让环境配置生效
4.解压hadoop
5.配置hadoop
1)hadoop 的etc目录下的hadoop的hadoop-env.sh文件,修改JAVA_HOME
2) 修改 core-site 文件 配置fs.defaultFS 为 hdfs://主机名:9000/
还要配置haoop.tmp.dir(服务进程工作时的临时目录)
3)修改 hdfs-site 文件 dfs.replication(文件副本保存数量)
4)修改mared-site.xml.template 复制一份 去除后缀.template (使之生效却又留有余地)
编辑 mared-site.xml mapreduce.framework.name(指定平台)为yarn
(mapreduce本身并不能直接在haodoop中运行,我们需要借助底层平台来运行)
5)修改yarn-site yarn.resourcemanager.hostname 为 你要设置的主节点的名称
yarn.nodemanager.aux-services 为 mapreduce_shuffle
6) slaves 文件 指定从节点
6.启动Hadoop
1)格式化namenode
进入hadoop的bin/ 执行命令 hadoop namenode -format
2)手动启动各服务进程(hadoop-daemon.sh 通过hadoop的守护进程进行操作):
在 sbin/目录下 启动 ./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode
./hadoop-daemon.sh start secondarynamenode
通过jps指令可以查看进程是否起来了
通过 netstat -nltp查看进程监听的端口
发现有一个9000的端口是服务间通信用的,50070端口是外部访问的一个端口
我们还要启动yarn的服务进程(通过yarn的守护进程进行操作)
./yarn-daemon.sh start resourcemanager
./yarn-daemon.sh start nodemanager
那么问题来了,mapreduce,我们需不需要启动服务进程呢?不需要,mapreduce是编程框架,
并没有服务进程,是一个jar包库。mr是让别人hdfs和yarn来干活
3)自动启动hadoop
/sbin 下执行 start-dfs.sh start-yarn.sh
需要输入密码?
配置ssh的免密登录
1.ssh-******
2.ssh-copy-id 目标主机
7.单节点的伪分布式集群扩展为多节点的分布式
1)拷贝hadoop到其他机器
2)修改主节点上的slaves文件 将从节点添加上去
3)配置hadoop的bin目录和sbin目录到环境变量去
4)再次使用start-dfs.sh start-yarn.sh(由于配置了环境变量。任何地方都可以用)
检查相关服务器的jps 查看分布式集群是否以及启动起来
主机访问主节点的50070端口,检测是否能正常访问