温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hadoop 集群部署

发布时间:2020-07-09 22:00:04 来源:网络 阅读:372 作者:sis2009 栏目:大数据

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI