虚拟机搭建hadoop集群笔记

大兔子大兔子 提交于 2020-01-10 18:27:43

VM15.0,centos7

最小版安装centos,不能上网。先配置网络,设置:


 

BOOTPROTO="dhcp"
ONBOOT="yes"

然后service network restart重启网络,根据分配的ip,设置静态ip

BOOTPROTO="static"  # 手动分配ip
IPADDR=172.16.235.240  # 该网卡ip地址就是你要配置的固定IP,如果你要用xshell等工具连接,220这个网段最好和你自己的电脑网段一致,否则有可能用xshell连接失败
GATEWAY="172.16.235.129"   # 网关
NETMASK="255.255.255.224"   # 子网掩码
DNS1="172.16.6.208"    # DNS,8.8.8.8为Google提供的免费DNS服务器的IP地址
  • 安装资源准备:

1、8G内存以上的台式机,安装VM15.0,再安装centos7,选择最小安装,先配置master,如下:

 

2、建好目录:

mkdir /bdl /bdl/software /bdl/appData /bdl/software/hadoop /bdl/software/java8

-bdl

--software

---hadoop

–--java8

--appData

 

2、准备好安装包:jdk-8u121-linux-x64.tar.gz、hadoop-2.6.4.tar.gz

 

  • 安装JDK1.8
  1. 解压安装包并更名:

cd /bdl/software/java8

tar -zxvf jdk-8u121-linux-x64.tar.gz

mv jdk1.8.0_121/ /bdl/jdk1.8

  1. 配置环境变量:

vim /etc/profile,最后一行添加一下内容:

export JAVA_HOME=/bdl/jdk1.8

export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

export PATH=$PATH:${JAVA_HOME}/bin

 

使java环境变量生效:source /etc/profile

查看效果:java -version

三、搭建hadoop的主节点master1步骤:

1、设置主机名:hostnamectl set-hostname hadoop.m1

查看是否设置成功:hostname

 

2、配置IP主机名映射,vim /etc/hosts,添加如下内容:

172.16.235.138 hadoop.m1

172.16.235.139 hadoop.s1

172.16.235.140 hadoop.s2

 

  1. 解压hadoop压缩包,并移动更名:

cd /bdl/software/hadoop

tar -zxvf tar -zxvf hadoop-2.6.4.tar.gz

mv hadoop-2.6.4 /bdl/hadoop2.6.4

 

  1. 配置hadoop的环境变量,vim /etc/profile,添加如下内容:

export JAVA_HOME=/bdl/jdk1.8

export HADOOP_HOME=/bdl/hadoop2.6.4

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

 

然后source /etc/profile使环境变量生效

5、修改hadoop配置文件,在/bdl/hadoop2.6.4/etc/hadoop目录下:

cd /bdl/hadoop2.6.4/etc/hadoop

  1. 修改hadoop-env.sh中的JAVA_HOME:

vim hadoop-env.sh

修改处:export JAVA_HOME=/bdl/jdk1.8

  1. 修改core-site.xml

vim core-site.xml

<configuration>标签中添加如下内容:

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->

              <property>

                     <name>fs.defaultFS</name>

                     <value>hdfs://hadoop.m1:9000</value>

              </property>

              <!-- 指定hadoop运行时产生文件的存储目录 ,无需手动创建,会自动生成-->

              <property>

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

                     <value>/bdl/appData/hadoop/tmp</value>

</property>

  1. 修改hdfs-site.xml

vim hdfs-site.xml

<configuration>标签中添加如下内容:

<!-- 指定HDFS副本的数量 -->

<property>

        <name>dfs.replication</name>

        <value>1</value>

</property>

<!-- 第二数据结点,可不配置 -->

<property>

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

        <value>192.168.1.152:50090</value>

        </property>

  1. 修改mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

<configuration>标签中添加如下内容:

<!-- 指定mr运行在yarn上 -->

<property>

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

        <value>yarn</value>

        </property>

  1. 修改yarn-site.xml

vim yarn-site.xml

<configuration>标签中添加如下内容:

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

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

        <value>hadoop.m1</value>

</property>

<!-- reducer获取数据的方式 -->

<property>

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

        <value>mapreduce_shuffle</value>

        </property>

 

6、格式化namenode(是对namenode进行初始化)

/bdl/hadoop2.6.4/bin/hdfs namenode -format

输出如下提示表示namenode格式化成功

 

三、配置其他slaver节点(克隆虚拟机,选择要克隆的虚拟机,右键,管理,克隆(先关闭虚拟机)
克隆完整,然后修改网络配置)

1、如果是虚拟机需要变更IP和MAC地址(MAC地址重新生成,虚拟机界面)

2、修改主机名

hostnamectl set-hostname hadoop.s1

3、在主节点hadoop.m1上配置slaves文件,设置好datanode:

vim /bdl/hadoop2.6.4/etc/hadoop/slaves,然后添加如下节点

hadoop.s1

hadoop.s2

 

  • 启动hadoop验证

 

启动hdfs:

/usr/shuyechao/hadoop2.6.5/sbin/start-dfs.sh

 

启动yarn:

/usr/shuyechao/hadoop2.6.5/sbin/start-yarn.sh

启动过程中多次输入连接密码,启动完成后jps查看各节点进程,另外需要注意关一下slaver的防火墙(system stop firewalld),不关的话主节点启动从节点的datanode和nodemanager启不起来。

防火墙:

查看防火墙状态:firewall-cmd –state

停止防火墙:systemctl stop firewalld.service

禁止开机启动:systemctl disable firewalld.service

Slave2,不关闭防火墙也可以通过master启动salve2

 

master节点截图:

slaver截图:

 

 

  • 配置master到slaver的免密登录
  1. 在hadoop.m1上生成免登录密钥:

ssh-keygen -t rsa或ssh-keygen(执行后按四下回车键)

  1. 将密钥复制到所有slaver和master自己(hadoop.m1、hadoop.s1、hadoop.s2):

ssh-copy-id hadoop.m1

ssh-copy-id hadoop.s1

ssh-copy-id hadoop.s2

 

然后验证一下(/usr/shuyechao/hadoop2.6.5/sbin/start-all.sh),不用输密码了,启动成功后访问HDFS管理页面http://主节点IP:50070(注意关闭防火墙或在防火墙增加访问端口,否则访问不了),hadoop任务的管理页面http://主节点IP:8088   

 

查看防火墙开启的端口:firewall-cmd --list-port

开启端口:firewall-cmd --zone=public --add-port=80/tcp –permanent

重启防火墙:firewall-cmd –reload

 

如果遇到slave启动不成功或者发现不了从节点,先删除/bld/appdata/hadoop重新format一下即可。(也有可能是防火墙的问题)

成功后界面如下:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!