Hadoop集群搭建

一、    准备工作

服务器

服务器

IP

说明

hadoop01

192.168.110.121

节点1

hadoop02

192.168.110.122

节点2

hadoop03

192.168.110.123

节点3

软件版本

说明

Linux Server

CentOS 7

hadoop-2.7.3

2.7.3

zookeeper

3.5.9

JDK

1.8-202

 

Linux操作用户:tom

二、    免密登录

l  通用操作(3台服务器均要操作)

#生成公钥(连续4次回车)

ssh-keygen -t rsa -m PEM

 

#配置本机免密ssh登录

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

#手动ssh登录本机一次,第一次需要输入密码,以后就不用了

ssh hadoop01

 

l  配置hadoop01节点ssh免密码登录其余节点

#在hadoop01节点执行如下命令(如果用不了如下命令,可以直接复制id_rsa.pub里的密钥到其余几台设备的authorized_keys文件里也可)

ssh-copy-id hadoop02

ssh-copy-id hadoop03

# 授权

chmod 600 authorized_keys

#在hadoop01节点分别ssh登录其他节点一次,第一次需要输入密码,以后就不用了

ssh hadoop02

ssh hadoop03

三、    Hadoop集群搭建

l  依赖环境

JDK1.8、zookeeper3.5.9,见本人另外随笔

 

l  安装步骤

#创建目录

mkdir -p /home/tom/app/hadoop/data

mkdir -p /home/tom/app/hadoop/logs

#解压到app目录

tar -zxvf hadoop-2.6.0-cdh5.16.2.tar.gz -C /home/tom/app/hadoop

 

#设置系统环境变量

vim ~/.bash_profile

#新增如下环境变量

export HADOOP_HOME=/home/tom/app/hadoop/hadoop-2.6.0-cdh5.16.2

export PATH=$HADOOP_HOME/bin:$PATH

export PATH=$HADOOP_HOME/sbin:$PATH

# 刷新文件

source ~/.bash_profile

#校验命令

hadoop version

yarn version

 

l  修改配置文件

配置文件路径:$HADOOP_HOME/etc/hadoop

主要的修改的配置文件包括:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves、hadoop-env.sh等

 

  1. hadoop-env.sh

# 修改如下

export JAVA_HOME= /home/tom/app/jdk1.8.0_202

# 日志路径,方便在集群启动失败时查看日志,查找原因

export HADOOP_LOG_DIR=/home/tom/app/hadoop/logs

 

  1. core-site.xml

#修改如下

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop01:8020</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/tom/app/hadoop/data/tmp</value>

</property>

</configuration>

 

  1. hdfs-site.xml

# 修改如下

<property>

  <name>dfs.name.dir</name>

  <value>/home/tom/app/hadoop/data/namenode</value>

</property>

<property>

  <name>dfs.data.dir</name>

  <value>/home/tom/app/hadoop/data/datanode</value>

</property>

<property>

  <name>dfs.tmp.dir</name>

  <value>/home/tom/app/hadoop/data/dfstmp</value>

</property>

<property>

  <name>dfs.replication</name>

  <value>3</value>

</property>

#去掉权限验证,防止其他地方调用hdfs的时候出现用户权限问题,该属性可根据实际情况选择是否增加

<property>

  <name>dfs. permissions</name>

  <value>false</value>

</property>

 

  1. mapred-site.xml

#修改资源调度

<property>

  <name>mapreduce.framework.name</name>

  <value>yarn</value>

</property>

 

  1. yarn-site.xml

# 设置 yarn 上支持运行的服务和环境变量白名单

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.env-whitelist</name>

<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop01</value>

</property>

</configuration>

 

  1. slaves

vi slaves

#配置子节点,增加如下

hadoop01

hadoop02

hadoop03

# hadoop01在这里既是主节点,又是从节点

 

l  另外两台服务器上搭建Hadoop环境

用scp命令直接将改好的文件拷贝过去

 

scp -r hadoop/ @hadoop02:/home/tom/app/

scp -r hadoop/ @hadoop03:/home/tom/app/

 

scp -r ~/.bash_profile @kakfa02:~/

scp -r ~/.bash_profile @kakfa03:~/

 

另外两台服务器刷新环境变量

source ~/.bash_profile

 

四、    启动Hdfs集群

l  前置条件

先启动zookeeper

 

l  格式化namenode

#hadoop01上执行格式化命令

hdfs namenode -format

# 注意有如下信息则格式化成功

has been successfully formatted.

 

l  启动集群

#hadoop01上执行格式化命令

start-dfs.sh

 

#通过jps命令查看

可以看见hadoop01主节点上开启了一个namenode和datanode,

另外两个节点的datanode都也启起了,

这时,我们也可以在windows机器上通过浏览器来查看集群的情况:

在浏览器中输入hadoop01:50070即可:(注意修改win电脑的hosts文件,添加主机名与ip地址的对应关系,可以直接使用ip+端口的形式)

 

注意50070端口如对外开放,请加入防火墙开放策略

#开放端口(只需在hadoop01)

firewall-cmd --add-port=50070/tcp --permanent

#重新加载防火墙配置

firewall-cmd --reload

#查看开发端口:

firewall-cmd --list-ports

 

 

l  启动Yarn集群

#在hadoop集群中,yarn扮演的是一个集群资源的管理与调度这么一个角色

#hadoop01上执行如下命令

start-yarn.sh

 

#通过jps命令查看

可以看见,主节点多了两个进程出来,resourcemanager 和nodemanager,其余从节点多了nodemanger,,这个就是管理各个节点的资源的进程,都出现了,就说明启动成功,yarn也提供了web端,端口是8088,在浏览器输入hadoop01:8088即可

 

#执行一个简单的作业,测试一下

 

# 可以在命令面板或者浏览器输入hadoop01:8088查看结果(注意防火墙开放端口,参照上一步)

 

posted @ 2021-12-11 14:01  爪洼师的机动人生  阅读(388)  评论(0)    收藏  举报