1、修改所有主机的 机器名
[root@hadoop1 ~]# vi /etc/networks
hostname=hadoop1
2、做主机和IP映射
[root@hadoop1 ~]# vi /etc/hosts
192.168.5.136 hadoop1
192.168.5.137 hadoop3
192.168.5.138 hadoop2
其中 一台修改后可以 拷贝
scp -r /etc/hosts root@hadoop1/2:/etc
3、SSH免登陆
[root@hadoop1 ~]# ssh-keygen -t rsa -P ” 在每台机器上执行一次;
将其他机器上的 /root/.ssh/下的所有文件删掉
[root@hadoop1 tmp]# scp -r /root/.ssh/id_rsa.pub root@hadoop2:/root/.ssh/authorized_keys 将hadoop1 公钥拷贝至所有服务器
[root@hadoop1 ~]# mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys 最后修改本地 公钥文件即可。
最后验证 [root@hadoop1 ~]# ssh hadoop2
[root@hadoop1 ~]# ssh hadoop3
4、关闭防火墙-所有服务器全部执行
[root@hadoop1 ~]# systemctl stop firewalld.service
[root@hadoop1 ~]# systemctl disable firewalld.service
5、时间同步
二、Hadoop 环境搭建
1、 JAVA配置
[root@hadoop1 software]# tar -zxvf jdk-8u171-linux-x64.tar.gz 解压
[root@hadoop1 software]# mv jdk1.8.0_171/ /usr/java 移至指定目录
#配置环境变量 [root@hadoop1 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/ root@hadoop2:/usr/
scp -r /usr/java/ root@hadoop3:/usr/
修改环境变量
[root@hadoop3 usr]# vi /etc/profile
[root@hadoop3 usr]# source /etc/profile 生效
2、hadoop 配置编译安装
在其中一台服务器上面配置然后同步至其他机器即可
[root@hadoop1 software]# tar -zxvf hadoop-2.7.7.tar.gz 解压 Hadoop
[root@hadoop1 software]# cd hadoop-2.7.7 登陆 hadoop 目录
配置环境变量
[root@hadoop1 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
[root@hadoop1 hadoop-2.7.7]# source /etc/profile 生效
3、修改配置文件
[root@hadoop1 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 配置文件
[root@hadoop1 hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@hadoop1 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 文件
[root@hadoop1 hadoop]# vi slaves
hadoop1
hadoop2
hadoop3
在一台机器上(最好是hadoop1)做完这些配置之后,我们使用scp命令将这些配置传输到其他机器上
输入:
hadoop环境传输
[root@hadoop1 hadoop]# scp -r /opt/hadoop/ root@hadoop2:/opt/
[root@hadoop1 hadoop]# scp -r /opt/hadoop/ root@hadoop3:/opt/
配置其他节点 环境变量
[root@hadoop2 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
[root@hadoop2 software]# source /etc/profile 刷新生效
—–传输之后,便在主节点启动集群。 在启动hadoop之前,需要初始化,这个只需要在hadoop1上初始化就可以了
4、启动hadoop
–在NameNode机器上执行格式化:
[root@hadoop1 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
[root@hadoop1 hadoop]# /opt/software/hadoop-2.7.7/sbin/start-dfs.sh
6、启动YARN
[root@hadoop1 hadoop]# /opt/software/hadoop-2.7.7/sbin/start-yarn.sh
7、在hadoop2 上启动 ResourceManager
[root@hadoop2 software]# /opt/software/hadoop-2.7.7/sbin/yarn-daemon.sh start resourcemanager
8、在hadoop3 上启动 日志服务器
[root@hadoop3 ~]# /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 页面
http://192.168.5.136:50070/
部署完毕,即可学习 hadoop
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/193461.html