centOS7搭建hadoop环境(非常详细!非常适合新手!)

因为博主比较菜,所以装这个hadoop环境搞了特别久。所以稍微整理一下,希望能帮助到大家。第一次写教程,有不好的地方请大家指正。

1.准备3台centOS64
centOS下载地址https://www.centos.org/download/
我用的是minimal ISO
这款centOS安装后没有图形界面,很多软件也需要自己安装
但优点就是这个镜像真的很小,安装也很快!

1.安装完3个之后,修改Ip地址 (这里是把ip地址修改为静态的)
vi /etc/sysconfig/network-scripts/
这里写图片描述
编辑ifcfg-ens33里的内容(注意每个人的电脑可能不同)
图中红线框里一定要修改,没有的添加上(HWADDR可以没有)
这里写图片描述

关于NETMASK,GATEWAY,BROADCAST怎么填,看虚拟机->编辑->虚拟网络编辑器 ,选中NAT,NAT设置
这里写图片描述
三台都需要设置
我的三台ip分别为
master 192.168.198.137
slave1 192.168.198.135
slave2 192.168.198.136
设置完毕后
ping 下内网及外网
还有设置dns(我就是这个没设置,然后一直只能ping通ip,Ping不同域名)
vim /etc/resolv.conf
这里写图片描述

2.ip改完了,现在来修改hostname(为什么要改hostname?!那你想每次都输一串ip地址吗?)
hostnamectl set-hostname 【你要的名字】 这样会修改三种主机名
hostnamectl –static set-hostname 【你要的名字】 只会修改static主机名
重启后你的hostname就变了
我这里是将一个改为master
另外两个为slave1和slave2
vim /etc/hosts 修改如下,这样在这三台主机间才能通过hostname来识别彼此
这里写图片描述
完成后可以试试ping slave1能不能行!

好滴,基本设置就完成了!

3.现在开始装java环境
由于我用的是minimal ios,所以没有java环境,得自己装JDK
(这里我又入了坑,我用的hadoop2.7.4,jdk1.7,然后都在最后了,发现提示jdk环境不对,大家还是更我一起来吧!用hadoop2.7.4,jdk1.8)
jdk下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
这里写图片描述
好滴!问题又来了!我们用的是文字界面啊!
第一,直接在centos中下载,先按照wegt(yum install wegt),然后wegt 下载地址就行下载啦!
第二,用传输文件的软件,从window下载,传送到虚拟机就行啦!我用的是FileZilla(非常简单好用!)
我用的是FileZilla
将jdk-8u151-linux-x64.tar.gz从FileZilla移动到centOS的root目录下
解压 tar -vzxf jdk-8u151-linux-x64.tar.gz
得到jdk1.8.0_151
我们手动创建 mkdir /usr/java
将jdk移动到这个文件 mv /root/jdk1.8.0_151 /usr/java
设置Java 环境
vim /etc/profile
这里写图片描述
java -version 查看java环境是否弄好了
这里写图片描述
三台机器都需要按照java环境

4.配置SSH免密码登录
进入~/.ssh目录
每台机器执行:ssh-keygen -t rsa,一路回车
生成两个文件,一个私钥,一个公钥,在master1中执行:cp id_rsa.pub authorized_keys
a:本机无密钥登录
修改authorized_keys权限:chmod 644 authorized_keys
此时重启ssh服务:sudo service sshd restart
试一试,连接及退出
这里写图片描述
b:master与其他节点无密钥登录
从master中把authorized_keys分发到各个结点上(会提示输入密码,输入密码即可):
scp /root/.ssh/authorized_keys slave1:/root/.ssh
scp /root/.ssh/authorized_keys slave2:/root/.ssh
(这里.ssh的位置需要注意下,由于我用的是root用户,所以直接就在/root下,其他可能是/home/用户名/下)
然后在各个节点对authorized_keys执行(一定要执行该步,否则会报错):chmod 644 authorized_keys
试试连接到其他节点
这里写图片描述
连接成功啦,而且不需要密码,是不是很棒!
5.关键的hadoop安装配置开始啦!
1.下载地址
http://hadoop.apache.org/releases.html
这里写图片描述
同样用FileZilla将hadoop-2.7.4.tar.gz /opt/hadoop-2.7.4移动到/root下
解压 tar -zxvf hadoop-2.7.4.tar.gz
移动到mv hadoop-2.7.4 /opt/hadoop

2.修改配置文件
进入到/opt/hadoop/hadoop2.7.4/etc/hadoop/路径下
添加JAVA_HOME环境到hadoop-env.sh和yarn-env.sh
JAVA_HOME=/usr/java/jdk1.8.5_151
这里写图片描述

core-site.xml:

  <configuration>  
      <property>  
        <name>fs.default.name</name>  
        <value>hdfs://master:9000</value>  
      </property>  
      <property>  
        <name>hadoop.tmp.dir</name>  
        <value>/opt/hadoop/tmp</value>  
      </property>  
    </configuration>  

hdfs-site.xml:

 <configuration>  
      <property>  
        <name>dfs.replication</name>  
        <value>2</value>  
      </property>  
      <property>  
        <name>dfs.namenode.name.dir</name>  
        <value>file:/opt/hadoop/dfs/name</value>  
      </property>  
      <property>  
        <name>dfs.datanode.data.dir</name>  
        <value>file:/opt/hadoop/dfs/data</value>  
      </property>  
    </configuration>  

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>  

yarn-site.xml:

 <configuration>     
    <!-- Site specific YARN configuration properties -->  
      <property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
      </property>  
      <property>  
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
      </property>  
      <property>  
        <name>yarn.resourcemanager.address</name>  
        <value>master:8032</value>  
      </property>  
      <property>  
    <name>yarn.resourcemanager.scheduler.address</name>  
        <value>master:8030</value>  
      </property>  
      <property>  
        <name>yarn.resourcemanager.resource-tracker.address</name>  
        <value>master:8031</value>  
      </property>  
      <property>  
        <name>yarn.resourcemanager.admin.address</name>  
        <value>master:8033</value>  
      </property>  
      <property>  
        <name>yarn.resourcemanager.webapp.address</name>  
        <value>master:8088</value>  
      </property>  
    </configuration>  

编辑slaves文件:
清空slaves,再加入从节点的名字
slave1
slave2

3.将hadoop分发到各个节点(因为权限问题,先将该文件夹分发到各个节点的/home/master目录下,再进入各个节点将文件夹移到/opt下)
scp -r /opt/hadoop slave1:/opt/hadoop
scp -r /opt/hadoop slave2:/opt/hadoop
(由于我三台都使用的是root,所以不存在权限问题。如果有权限问题,可以先移动到/home/用户名/下,再到相应的机器下用sudo来移动)

4.在Master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.7.0目录
(1)初始化,输入命令,bin/hdfs namenode -format
(2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)终止服务器:sbin/stop-all.sh
(4)输入命令jps,可以看到相关信息

5.本机上用浏览器访问
(1)关闭防火墙systemctl stop firewalld.service
(2)浏览器打开http://192.168.198.137:8088/
(3)浏览器打开http://192.168.198:137:50070/
这里写图片描述

这里写图片描述

好滴!环境搭建好了!虽然我也不知道下一步该干啥了!emmmmmmm…….
但是很开心!党的十九大思想报告好没写好!
加油吧!程序员们!
砸门学计算机的女子绝不会轻易放弃!

猜你喜欢

转载自blog.csdn.net/yujuan110/article/details/78457259