hadoop集群搭建简要记录
2019/03/09 21:46
准备4台服务器或者虚拟机【centos7】,分别设置好静态ip【之所以设置静态ip主要就是为了省心!!!】
【
centos7下面配置静态IP 参考地址: https://www.linuxidc.com/Linux/2017-10/147449.htm
cd /etc/sysconfig/network-scripts
ls
这里说一下需要修改的位置:
#修改
BOOTPROTO=static #这里讲dhcp换成ststic
ONBOOT=yes #将no换成yes
#新增
IPADDR=192.168.10.100 #静态IP
GATEWAY=192.168.10.2 #默认网关
NETMASK=255.255.255.0 #子网掩码
保存退出后,重启网络服务:
# service network restart
Restarting network (via systemctl):
】
master 192.168.10.100
slave1 192.168.10.101
slave2 192.168.10.102
slave 3 192.168.10.103
主机名分别是 node node1 node2 node3【后面会提到如何进行修改配置】
这里只以master服务器为例。【至于slave机器,可以考虑用虚拟机克隆去生成,简单方便】
安装jdk和hadoop,就是解压。
然后vim /etc/profile 去配置java和hadoop的环境变量。如下:
# jdk1.8 环境变量 2019/03/09 18:19 export JAVA_HOME=/usr/local/jdk1.8 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # hadoop环境变量 2019/03/09 18:19 export HADOOP_HOME=/usr/local/hadoop2.2.0 export HADOOP_LOG_DIR=/usr/local/hadoop2.2.0/logs export YARN_LOG_DIR=$HADOOP_LOG_DIR export PATH=.:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
可以使用命令 hadoop 查看是否成功,参考类似 java -version的功能。
为hadoop的相应文件位置准备文件目录。比如临时生成文件的存储目录、日志信息存储位置、真正数据存储位置、文件系统元数据存储位置、集群数据位置。可以自定义创建对应的文件目录。注意:这些文件目录的路径后面配置要用到。

接下来修改hadoop的相关配置文件:
切换路径到hadoop主目录下的etc下的hadoop路径下:

hadoop-env.sh yarn-env.sh mapred-env.sh 这三个文件里面,添加对jdk的引用,否则在启动hdfs的时候,会报异常:找不到java环境。
添加:export JAVA_HOME=/usr/local/jdk1.8 【 注意 和 /etc/profile 里面配置的java环境变量写法一致,使用绝对路径,最好直接拷贝过来】
vim slaves文件,里面添加slave节点的主机名。主机名的改法后面会说,

配置:core-site.xml【注意里面的路径参数结合自己的实际进行修改。相关路径就是上面让自定义创建的那些目录路径】
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node:9000/</value>
<description>设定namenode的主机名和端口</description>
</property>
<property>
<name>hadoop.temp.dir</name>
<value>/usr/local/hadoop2.2.0/tmp/hadoop-${user.name}</value>
<description>存储临时文件的目录</description>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
</configuration>
配置:hdfs-site.xml【注意里面的路径参数结合自己的实际进行修改。相关路径就是上面让自定义创建的那些目录路径】
<configuration> <property> <name>dfs.namenode.http-address</name> <value>node:50070</value> <description>NameNode地址和端口</description> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>node1:50090</value> <description>SecondNameNode 地址和端口</description> </property> <property> <name>dfs.replication</name> <value>3</value> <description>设定HDFS存储文件的副本个数,默认为3</description> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/local/hadoop2.2.0/hdfs/name</value> <description>namenode 用来 持续存储命名空间和交换日志的本地系统路径</description> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/local/hadoop2.2.0/hdfs/data</value> <description>DataNode在本地存储文件的目录列表</description> </property> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:///usr/local/hadoop2.2.0/hdfs/namesecondary</value> <description>设置secondarynamenode存储临时镜像的本地文件系统路径,如果这是一个用逗号分割的文件列表,则镜像将会冗余复制到所有目录</description> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> <description>是否允许网页浏览hdfs文件</description> </property> <property> <name>dfs.stream-buffer-size</name> <value>131072</value> <description> 默认4kb,作为hadoop的缓冲区,用于hadoop读取hdfs的文件和写hdfs的文件,好友map的输出都用到了这个缓冲区容量,对于现在硬件,可以设置为128kb(131072),甚至是1mb(太大的话map和reduce的内存溢出) </description> </property> </configuration>
配置:yarn-site.xml【注意里面的路径参数结合自己的实际进行修改。相关路径就是上面让自定义创建的那些目录路径】
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>node</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>node:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>node:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>node:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>node:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>node:8088</value> </property> </configuration>
接下来修改主机名:【centos7】
查看主机名以及相关设置
hostnamectl status --static 静态的
hostnamectl status --transient 瞬态的
hostnamectl status --pretty 灵活的
同时修改三种主机名:
sudo hostnamectl set-hostname <主机名,eg:node/node1/。。。>
绑定主机名和ip
vim /etc/hosts
添加:
192.168.10.100 node
192.168.10.101 node1
192.168.10.102 node2
192.168.10.103 node3
guanbi关闭防火墙:
systemctl stop firewalld.service
防止防火墙开机自启动:
systemctl disable firewalld.service
关于各个节点之间使用ssh进行免密通信的设置:很简单,这里不再赘述,网上很多,也很简单。
注意其他slave节点也要进行同样的配置。
最后:
HDFS
启动 start-dfs.sh
hadoop资源管理器 Yarn
启动 start-yarn.sh
JobHistory 历史任务管理器
启动 mr-jobhistory-daemon.sh start historyserver
关闭 同上,start改为stop
hadoop集群搭建简要记录的更多相关文章
- Linux环境下Hadoop集群搭建
Linux环境下Hadoop集群搭建 前言: 最近来到了武汉大学,在这里开始了我的研究生生涯.昨天通过学长们的耐心培训,了解了Hadoop,Hdfs,Hive,Hbase,MangoDB等等相关的知识 ...
- Hadoop集群搭建-02安装配置Zookeeper
Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...
- Hadoop集群搭建(五)~搭建集群
继上篇关闭防火墙之后,因为后面我们会管理一个集群,在VMware中不断切换不同节点,为了管理方便我选择xshell这个连接工具,大家也可以选择SecureCRT等工具. 本篇记录一下3台机器集群的搭建 ...
- Hadoop 集群搭建和维护文档
一.前言 -- 基础环境准备 节点名称 IP NN DN JNN ZKFC ZK RM NM Master Worker master1 192.168.8.106 * * * * * * maste ...
- Hadoop集群搭建(完全分布式版本) VMWARE虚拟机
Hadoop集群搭建(完全分布式版本) VMWARE虚拟机 一.准备工作 三台虚拟机:master.node1.node2 时间同步 ntpdate ntp.aliyun.com 调整时区 cp /u ...
- Hadoop集群搭建的详细过程
Hadoop集群搭建 一.准备 三台虚拟机:master01,node1,node2 时间同步 1.date命令查看三台虚拟机时间是否一致 2.不一致时间同步:ntpdate ntp.aliyun.c ...
- Hadoop 集群搭建
Hadoop 集群搭建 2016-09-24 杜亦舒 目标 在3台服务器上搭建 Hadoop2.7.3 集群,然后测试验证,要能够向 HDFS 上传文件,并成功运行 mapreduce 示例程序 搭建 ...
- Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)
Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...
- Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)
Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...
随机推荐
- python 基础 列表生成式
data = {'a':'abc';'b':'bac','c':'cba'} [v for k,v in data] 结果 ['abc','bca','cba'] 格式 [x for x in 内容 ...
- 菜鸟攻城狮1(JAVA程序设计)
1.JAVA是一个完整的平台,有一个庞大的库,提供了可重复利用的代码功能块,安全性,跨操作系统的可以移植性,自动垃圾回收机制 2.JAVA设计者白皮书:简单性.面向对象.网络技能.健壮性.安全性.体系 ...
- sql语句去重 最后部分没看 看1 有用
一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合:举例2:选择重复项,然后去掉重复项:) 数据库里 ...
- Umbraco中的RelatedLink的使用
Umbraco中经常需要使用到RelatedLink, 那么在代码中我们如何来获取RelatedLink呢, 可能在Backoffice中我们有一个RelatedLink, 上面有3个链接,如下所示: ...
- BerkeleyDB原理及其对应API
BerkeleyDB(简称为BDB)是一种以key-value为结构的嵌入式数据库引擎: 嵌入式:bdb提供了一系列应用程序接口(API),调用这些接口很简单,应用程序和bdb所提供的库一起编译/链接 ...
- JQuery获取body的大小
$('body').height(); $('body').width();
- wpf listboxitem添加下划线
1.通过List<string>进行赋值,没有字段绑定 // 前台xaml <ListBox x:Name="list1"> <ListBox.Ite ...
- 二维偏序 tree
tree(二维偏序) 最近接触到一些偏序的东西. 传统线段树非叶子节点的划分点mid=(l+r)/2,但小R线段树mid是自己定的.但满足l<=mid<r,其余条件同原来线段树.那么不难发 ...
- thinkphp5缓存使用
之前不明白缓存有什么用处,后来看了一些案例大概有点了解,记录一下.1.thinkphp5没有静态缓存2.对于一些更新不是太频繁的数据,我们可以使用缓存机制对查询到的数据进行缓存,减缓数据库压力3.下面 ...
- Exadata 上关于SAS盘的小秘密
案例概述 一个X3-2 的Exadata临时客户,ORACLE原厂工程师在进行onecommand初始化的过程中,执行到第6步,calibrate检测存储节点磁盘性能时报错,后续工作无法继续.而由于一 ...