基础配置

1、关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
查看防火墙状态
firewall-cmd --state
systemctl status firewalld.service
启动防火墙
systemctl start firewalld.service

2、修改主机名
第一种
hostnamectl set-hostname 名称
第二种
vim /etc/hostname
查看主机名
hostnamectl status

3.关闭networkmanage服务
systemctl status NetworkManager #查看NetworkManager状态
systemctl stop NetworkManager #停止NetworkManager
systemctl disable NetworkManager#禁止NetworkManager开机启动

4、修改ip地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.174.200
NETMASK=255.255.255.0
GATEWAY=192.168.174.2
DNS1=192.168.174.2

5.卸载自带jdk
查看自带jdk
rpm -qa |grep jdk
注意:copy-jdk-configs-3.3-10.el7_5.noarch 不属于自带的,所以不用管
  卸载:
  rpm -e 自带jdk名称 --nodeps

6.安装jdk
上传jdk1.8.0_171到/usr/local/module
解压jdk到soft
cd /usr/local/module
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/soft

配置环境变量
vim /etc/profile
增加
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin

检查jdk安装是否成功
java -version

7.映射关系 ​ ip地址 主机名 ​ linux配置路径 vim /etc/hosts ​ windows配置路径 C:\Windows\System32\drivers\etc\hosts

8.修改启动级别之后重启
systemctl set-default multi-user.target #即将原来安装的含桌面的变成优先启动无界面的
reboot #重启

克隆两台然后
9.免密配置
1)创建秘钥
ssh-keygen -t rsa 然后直接三次回车

2)秘钥分发
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id master

注意:
  1、如果执行出错,进入/root/.ssh删除里面所有内容,从新执行
  2、master到master的免密登录也需要配置。因为有时候需要在当前结点启动进程,如不配此项到时候"启动/停止hadoop"是需要输入密码的。
  即 还需在master创建秘钥后,不仅要分发给node1、node2、还需要分发给master自身。
  3、故总结:
  搭建Hadoop时需要配免密登录的关系是:
          master ——> node1
          master ——> node2
          master ——> master
           
  4、(此步骤可以配,但是没必要,故此处忽略!)搭建Hadoop是要求三台虚拟机都需要单独配免密,然后分别分发给另外两台。要求实现任意一台虚拟机都可免密登录另外的其它两台虚拟机。
  区别于取搭建"三台jdk"时的仅需配置master的免密,然后分发秘钥到node1、node2
10.检查免密是否配置成功
cd /root/.ssh/
ll
当master中有
  authorized_keys //(被分发秘钥的节点node1、node2中只有这一个文件)
              id_rsa //私钥
              id_rsa.pub //公钥
              known_hosts 这些文件都存在时,才表示"任意一台免密登录其它两台的"免密配置成功,
                          如果觉得有问题可删除这些文件后重新配免密

安装hadoop

上传hadoop-2.7.6.tar.gz 到 soft
解压:tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local/soft/
注意:必须在解压在/usr/local/soft/

配置环境变量:
vim /etc/profile
添加:
export HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
PATH中新加$HADOOP_HOME/bin:$HADOOP_HOME/sbin

刷新配置文件使修改生效:
source /etc/profile
1.修改slaves文件
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/slaves
删除原有内容
添加两个从节点主机名
node1
node2
2.修改hadoop-env.sh文件 
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/hadoop-env.sh
删除/用#注释掉:
export JAVA_HOME=${JAVA_HOME}
新加:
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
3.修改core-site.xml文件
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/core-site.xml
在标签<configuration>  
</configuration>中间复制上以下的内容

<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.7.6/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
4.修改hdfs-site.xml文件
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/hdfs-site.xml
在标签<configuration>  
</configuration>中间复制上以下的内容

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>

5.修改yarn-site.xml文件
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/yarn-site.xml
在标签<configuration>
</configuration>中间复制上以下的内容 <property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

6.修改mapred-site.xml文件
先通过此配置文件的模板mapred-site.xml.template复制一个配置文件出来
cp /usr/local/soft/hadoop-2.7.6/etc/hadoop/mapred-site.xml.template /usr/local/soft/hadoop-2.7.6/etc/hadoop/mapred-site.xml
在打开文件编辑
vim /usr/local/soft/hadoop-2.7.6/etc/hadoop/mapred-site.xml
在标签<configuration>
</configuration>中间复制上以下的内容 <property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
7.将hadoop安装目录hadoop-2.7.6文件夹(含所有修改过的配置文件) 分发到 node1和node2
scp -r /usr/local/soft/hadoop-2.7.6 node1:/usr/local/soft
scp -r /usr/local/soft/hadoop-2.7.6 node2:/usr/local/soft
8.启动hadoop	(仅在master上操作即可)
先在master中格式化hadoop原信息(如果没有刷新添加hadoop环境变量后的配置文件,则此步会报错)
(仅第一次启动时执行)
hdfs namenode -format 法一:直接启动hadoop中的所有进程
再启动所有节点上的hadoop(仅在master上操作即可,仅第一次启动需要输入密码)
start-all.sh (配置过环境变量后,此启动命令可在任意目录执行) 法二:分开启动hadoop中的各部分,以达到启动hadoop的目的(同样仅在master上启动)
先启动 hdfs
start-dfs.sh
再启动 yarn
start-yarn.sh 两者都启动后,hadoop便完整启动了

验证是否启动成功

法一:
用jps查看当前结点运行的所有java进程
      主节点进程:namenode/ secondarnamenode/resourcemanager
      子节点进程:datanode /nodemanager

法二:
网页登录,验证HDFS的web界面
      google浏览器输入master:50070
      点击Datanodes,看其中有没有node1、node2。有则表示成功
      点击Utilities -> Browse the file system ,可查看file system(即HDFS存储的文件信息)(即可以浏览文件系统)

补充:
在HDFS中进行文件操作:
在master中,启动hadoop后,在master的控制台中输入:
hdfs dfs -“linux相关的命令” //控制台没有输出代表成功执行
举例:
1、在HDFS中创建目录:
hdfs dfs -mkdir /testHDFSShell //刷新web网页后即可查看到刚刚创建的目录
2、查看存储文件的HDFS中根目录信息的文件
hdfs dfs -ls /

法三:
网页登录,验证Yarn的web界面
      google浏览器输入master:8088

如果安装失败

1.关闭hadoop(在主节点)
stop-all.sh
如果关不掉就jps然后 (在所有节点)
kill -9 端口号

2.需要手动将每个节点的tmp目录删除: 所有节点都要删除(在所有节点)
rm -rf /usr/local/soft/hadoop-2.7.6/tmp

3.重新打开各个修改过得配置文件,看是否有问题

4.在主节点执行namenode格式化命令:
hdfs namenode -format

5.启动hadoop
start-all.sh

最新文章

  1. 前端常用的WindowsCMD命令
  2. 数据结构图文解析之:树的简介及二叉排序树C++模板实现.
  3. SpringMVC 常用注解(1)
  4. ZJOI2007矩阵游戏
  5. mac brew mysql 启动之后报错
  6. Xamarin 手动安装步骤+破解(最新版Xamarin V3)
  7. Released Mocked Streams for Apache Kafka
  8. operator new3种情况详解
  9. python 添加类属性
  10. Java SE 第二十四讲----static与final使用陷阱关键字
  11. JAVA的StringBuffer类(转载整理)____非常重要的一个类,线程安全,不用每次创建一个对象,以及和String的区别
  12. PH获取当前url路径及服务器路径汇总 (url 获取当前路径 服务器路径)
  13. 将某个Qt4项目升级到Qt5遇到的问题(13条方法)
  14. Linux安装完Tomcat后无法登陆管理界面
  15. ACdreamoj1110(多重背包)
  16. 3. JavaScript 数据类型
  17. nyoj VF
  18. [struts2学习笔记] 第六节 struts2依赖的jar包还有Could not find action or result 错误解决
  19. Python 包管理(PYPA)
  20. RHEL6 SoftRaid 更换故障硬盘

热门文章

  1. spring框架常见的10个问题
  2. Eureka Server 的 Instance Status 一直显示主机名问题
  3. Python 连接Mysql数据库执行语句操作
  4. 从实例学习 Go 语言、&quot;基础与进阶&quot; 学习笔记及心得体会、Go指南
  5. Java学习day35(《大道至简》读后感)
  6. Java学习day27
  7. 2021.12.08 平衡树——FHQ Treap
  8. 原生实现C#和Lua相互调用-Unity3D可用
  9. mmdetection训练出现nan
  10. 封装axios在项目中使用