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

最新文章

  1. BZOJ3069: [Pa2011]Hard Choice 艰难的选择
  2. django常见小问题收集(转)
  3. 将Excel数据导入数据库
  4. 使用swfobject.js时样式及传参的问题
  5. Mishka and Interesting sum Codeforces Round #365 (树状数组)
  6. 导入TDP数据包备份
  7. OpenGL中的投影使用
  8. Android-------设置TextView同时显示图片和文本,并控制图片大小
  9. ext panel 它们的定义图像刷新
  10. RxSwift 之官方文档
  11. iOS开发——Localizable.strings
  12. AngularJS学习笔记3
  13. Django auth认证
  14. C# 批量新增的两种方法。
  15. Project D | Digital life
  16. 五句话搞定JavaScript作用域(ES5)
  17. Java 中的泛型
  18. Form数据迁移
  19. [HEOI2016] 序列
  20. 【three.js练习程序】旋转、缩放场景

热门文章

  1. poi包的几行基本的设置单元格样式
  2. Spring 3.x 企业引用开发实战(陈雄华/林开雄)
  3. IoC概述
  4. MySQL在linux下安装
  5. OpenGL 使用GLFW创建全屏窗口
  6. p2921 Trick or Treat on the Farm
  7. NIO和Reactor
  8. linq分页扩展
  9. 浅谈js模块加载方式(初级)
  10. 在Android中使用FlatBuffers(下篇)