1、修改所有主机的 机器名
[[email protected] ~]# vi /etc/networks
hostname=hadoop1
2、做主机和IP映射
[[email protected] ~]# vi /etc/hosts
192.168.5.136 hadoop1
192.168.5.137 hadoop3
192.168.5.138 hadoop2
其中 一台修改后可以 拷贝
scp -r /etc/hosts [email protected]\2:/etc
3、SSH免登陆
[[email protected] ~]# ssh-keygen -t rsa -P ‘‘ 在每台机器上执行一次;
将其他机器上的 /root/.ssh/下的所有文件删掉
[[email protected] tmp]# scp -r /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys 将hadoop1 公钥拷贝至所有服务器
[[email protected] ~]# mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys 最后修改本地 公钥文件即可。
最后验证 [[email protected] ~]# ssh hadoop2
[[email protected] ~]# ssh hadoop3
4、关闭防火墙-所有服务器全部执行
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# systemctl disable firewalld.service
5、时间同步
二、Hadoop 环境搭建
1、 JAVA配置
[[email protected] software]# tar -zxvf jdk-8u171-linux-x64.tar.gz 解压
[[email protected] software]# mv jdk1.8.0_171/ /usr/java 移至指定目录
#配置环境变量 [[email protected] sbin]# vi /etc/profile
export JAVA_HOME=/tmp/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
最后将 java 拷贝至其他机器以及修改 环境变量
scp -r /usr/java/ [email protected]:/usr/
scp -r /usr/java/ [email protected]:/usr/
修改环境变量
[[email protected] usr]# vi /etc/profile
[[email protected] usr]# source /etc/profile 生效
2、hadoop 配置编译安装
在其中一台服务器上面配置然后同步至其他机器即可
[[email protected] software]# tar -zxvf hadoop-2.7.7.tar.gz 解压 Hadoop
[[email protected] software]# cd hadoop-2.7.7 登陆 hadoop 目录
配置环境变量
[[email protected] hadoop-2.7.7]# vi /etc/profile
export JAVA_HOME=/usr/java
export HADOOP_HOME=/opt/software/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$FINDBUGS_HOME/bin:$PROTOC_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
[[email protected] hadoop-2.7.7]# source /etc/profile 生效
3、修改配置文件
[[email protected] hadoop]# cd /opt/hadoop/etc/hadoop/ 切换此文件目录 设置配置文件
其中 主要修改 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
修改 core-site 配置文件
vi core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop-2.7.7/data/tmp</value>
</property>
</configuration>
修改 hdfs-site.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop3:50090</value>
</property>
</configuration>
修改 mapred-site.xml 配置文件
[[email protected] hadoop]# cp mapred-site.xml.template mapred-site.xml
[[email protected] hadoop]# vi mapred-site.xml 编辑配置文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
</configuration>
修改 yarn-site.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop2</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>
</configuration>
修改 slaves 文件
[[email protected] hadoop]# vi slaves
hadoop1
hadoop2
hadoop3
在一台机器上(最好是hadoop1)做完这些配置之后,我们使用scp命令将这些配置传输到其他机器上
输入:
hadoop环境传输
[[email protected] hadoop]# scp -r /opt/hadoop/ [email protected]:/opt/
[[email protected] hadoop]# scp -r /opt/hadoop/ [email protected]:/opt/
配置其他节点 环境变量
[[email protected] software]# vi /etc/profile
export JAVA_HOME=/usr/java
export HADOOP_HOME=/opt/software/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
[[email protected] software]# source /etc/profile 刷新生效
-----传输之后,便在主节点启动集群。 在启动hadoop之前,需要初始化,这个只需要在hadoop1上初始化就可以了
4、启动hadoop
--在NameNode机器上执行格式化:
[[email protected] hadoop]# /opt/software/hadoop-2.7.7/bin/hdfs namenode -format 格式化命令
注意:
如果要重新格式化 需要将 hadoop1 namenode datanode 文件目录下的 /opt/software/hadoop-2.7.7/data/tmp/dfs/name/current/ 目录下的集群ID清理掉,不然重新
做格式化会生成一个新的 ID这样 就与 datanode集群ID不一致;
5、启动 HDFS
[[email protected] hadoop]# /opt/software/hadoop-2.7.7/sbin/start-dfs.sh
6、启动YARN
[[email protected] hadoop]# /opt/software/hadoop-2.7.7/sbin/start-yarn.sh
7、在hadoop2 上启动 ResourceManager
[[email protected] software]# /opt/software/hadoop-2.7.7/sbin/yarn-daemon.sh start resourcemanager
8、在hadoop3 上启动 日志服务器
[[email protected] ~]# /opt/software/hadoop-2.7.7/sbin/mr-jobhistory-daemon.sh start historyserver
9、查看 YARN WEB 页面
http://192.168.5.138:8088/cluster
10、打开 HDFS WEB 页面
部署完毕,即可学习 hadoop
原文地址:https://blog.51cto.com/965726/2381640