美文网首页我爱编程
Hadoop读书笔记:CentOS装Hadoop集群

Hadoop读书笔记:CentOS装Hadoop集群

作者: 萝卜头_东契奇 | 来源:发表于2017-10-07 15:29 被阅读0次

HADOOP集群搭建

1.集群简介

Hadoop集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起。

HDFS集群:负责海量数据的存储,集群中的角色主要有   NameNode  / DataNode。

YARN集群:负责海量数据运算时的资源调度,集群中的角色主要有ResourceManager / NodeManager。

本集群搭建案例,以3节点为例进行搭建。

2.服务器准备

本案例使用虚拟机服务器搭建HADOOP集群,所用软件及版本:

VMware® Workstation 12 Pro  12.5.6

CentOS 6.5   64 bit

JDK 1.8  linux  64bit

Hadoop 2.8.1

3.网络环境配置

采用NAT方式联网、网关地址自定如:192.168.220.1、3个节点IP地址如(192.168.220.128, 192.168.220.129, 192.168.220.130)、子网掩码:255.255.255.0

话不多说开始在VMware装CentOS系统

先打开VMware,我之前已经装好了再重新装个CentOS系统

图一

在导航栏点击编辑    选择虚拟网络编辑器     就可以设置网段和网关

图二:设置网络 图三:设置网络

然后创建新的虚拟机(我之间已经创建了一个master虚拟器现在再建个master2)

图四:创建虚拟机 图五:创建虚拟机 图六:创建虚拟机 图七:创建虚拟机 图八:创建虚拟机 图九:创建虚拟机 图十:创建虚拟机 图十一:创建虚拟机 图十二:创建虚拟机

安装CentOS系统

图一:安装CentOS系统 图二:安装CentOS系统 图三:安装CentOS系统 图四:安装CentOS系统 图五:安装CentOS系统 图六:安装CentOS系统 图七:安装CentOS系统 图八:安装CentOS系统 图九:安装CentOS系统 图十:安装CentOS系统 图十一:安装CentOS系统 图十二:安装CentOS系统 图十三:安装CentOS系统 图十四:安装CentOS系统 图十五:安装CentOS系统 图十六:安装CentOS系统 图十七:安装CentOS系统 图十八:安装CentOS系统 图十九:安装CentOS系统 图二十:安装CentOS系统 图二十一:安装CentOS系统 图二十二:安装CentOS系统 图二十三:安装CentOS系统 图二十四:安装CentOS系统 图二十五:安装CentOS系统 图二十六:安装CentOS系统 图二十七:安装CentOS系统

恭喜你已经成功安装好CentOS系统!

4.准备SSH连接工具

Xshell  SecureCRT(我用着这个)

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。

查看用户的IP地址:

图一:IP地址

用SecureCRT工具连接虚拟机只要配置下IP地址  用户名和密码就可以,具体细节就不介绍。

SSH连接虚拟机

修改主机名及其对应的IP地址

sudo vi /etc/hosts(之前配过一次就把之前的master信息拿过来)

需要在slave01和slave02机子上弄同样的配置

(还需要ping一下看能不能同如:ping slave01)

配置主机名及对应IP地址

修改用户权限

先切换到root用户 su root

修改 /etc/sudoers 文件,找到下面两行

## Allow root to run any commands anywhere

root    ALL=(ALL)      ALL

加上一行比如我的用户是hadoop所以:hadoop    ALL=(ALL)     ALL

每台机子关闭防火墙

关闭虚拟机防火墙:

关闭命令:  service iptables stop

永久关闭防火墙:chkconfig iptables off

两个命令同时运行,运行完成后查看防火墙关闭状态

service iptables status

1 关闭防火墙-----service iptables stop

2 启动防火墙-----service iptables start

3 重启防火墙-----service iptables restart

4 查看防火墙状态--service iptables status

5 永久关闭防火墙--chkconfig iptables off

6 永久关闭后启用--chkconfig iptables on

先查看防火墙状态

service iptables status(需要换root用户或前面加上sudo)

查看防火墙状态

永久关闭selinux: vi /etc/selinux/config(普通用户前面加个sudo)

找到SELINUX 行修改成为:SELINUX=disabled:

永久关闭selinux

关闭防火墙-----service iptables stop(普通用户加个sudo),sudo chkconfig iptables off  重启后生效

重启后再查看状态sudo  service iptables status

关闭防火墙 防火墙状态

配置JDK

下载jdk就不多说了我下的是(jdk-8u131-linux-x64.tar.gz)

安装在哪个路径下可以自己定(我装下/home/hadoop(用户)  路径下  mkdir java  也可以装下别的路径下)

SFTP传送JDK

put(空) +文件路径    上传

上传JDK 查看上传JDK包

解压 tar -zxvf  jdk-8u131-linux-x64.tar.gz

修改配置文件:sudo vi /etc/profile

在这行下面加上:export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

export JAVA_HOME=/home/hadoop/java/jdk1.8.0_131

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

配置文件

重启:source /etc/profile    然后查看   java -version


重启查看

配置SSH免密登录

进入.ssh目录 ( ll -a 才能看见)

进入.ssh目录

ssh-keygen -t rsa  一路回车 生成两个文件一个公钥一个私钥:cp id_rsa.pub authorized_keys

生成公钥和私钥

修改authorized_keys权限:chmod 644 authorized_keys

此时重启ssh服务:sudo service sshd restart

ssh master      第一次连接要输入yes

本机实现无密登录

与其它节点实现免密登录

把master节点中把authorized_keys分发到各个结点上(会提示输入密码):

scp /home/hadoop/.ssh/authorized_keys slave01:/home/hadoop/.ssh

scp /home/hadoop/.ssh/authorized_keys slave02:/home/hadoop/.ssh

然后在各个节点对authorized_keys执行(一定要执行该步,否则会报错):chmod 644 authorized_keys

ssh slave01

其它节点实现免密登录

装Hadoop

同样用sftp,先在/home/hadoop目录下创建hadoop文件

解压

修改配置文件:

进入hadoop-2.8.1/etc/hadoop目录下

hadoop-env.sh:

export  JAVA_HOME=/home/hadoop/java/jdk1.8.0_131   (jdk安装的路径 如果不知道  echo $JAVA_HOME)


配置hadoop-env.sh

core-site.xml:

<configuration>

<property>

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

<value>file:/home/hadoop/hadoop/hadoop-2.8.1/tmp</value>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

</configuration>

配置core-site.xml

hdfs-site.xml:

<configuration>

<property>

<name>dfs.namenode.secondary.http.address</name>

<value>master:50090</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

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

<value>file:/home/hadoop/hadoop/hadoop-2.8.1/tmp/dfs/name</value>

</property>

<property>

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

<value>file:/home/hadoop/hadoop/hadoop-2.8.1/tmp/dfs/data</value>

</property>

</configuration>

hdfs-site.xml配置

mapred-site.xml:

<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>

</configuration>

<configuration>

<property>

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

<value>master</value>

</property>

<property>

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

<value>mapreduce_shuffle</value>

</property>

</configuration>

yarn-site.xml配置

slaves:

master

slave01

slave02

系统配置文件:sudo vi /etc/profile    修改后 source /etc/profile

export HADOOP_HOME=/home/hadoop/hadoop/hadoop-2.8.1

export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

系统配置修改

将hadoop分发到各个节点

scp -r /home/hadoop/hadoop slave01:/home/hadoop

scp -r /home/hadoop/hadoop slave02:/home/hadoop

(再配置系统配置,就是把HADOOP环境变量配下)

在master节点格式化hdfs

hdfs namenode -format

格式化

启动HDFS

start-dfs.sh

启动YARN

start-yarn.sh

分别在各个主机上执行 jps 查看服务情况

master slave01 slave02

web 访问页面

http://master:50070/

成功

恭喜成功了!

这是第二遍配置总结下第一遍配置遇到的一些坑:

1.第一遍配置讲每个主机的普通用户都设置不一样SSH无密连接老是不成功,需要将每个主机普通用户设为一样

2.防火墙忘记关掉

3.生成秘钥的那个权限需要修改

4.我第一次将hadoop目录放在/usr下 用户权限是root的 一些操作老是不成功 改放在/home目录下权限是普通用户的就成功了

相关文章

网友评论

    本文标题:Hadoop读书笔记:CentOS装Hadoop集群

    本文链接:https://www.haomeiwen.com/subject/sobgextx.html