Linux centos 6配置hadoop 集群搭建笔记教程

Linux centos 6配置hadoop 集群搭建笔记教程,第1张

Linux centos 6配置hadoop 集群搭建笔记教程

一、安装JDK
1.上传jdk-8u121-linux-x64.tar.gz文件到/opt目录

2.解压jdk文件
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local

3.配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

4.环境变量生效
source /etc/profile

5.检查jdk是否安装成功
java -version

二、搭建hadoop集群

1. 上传hadoop-2.7.4.tar.gz文件到/opt目录

2. 解压缩hadoop-2.7.4.tar.gz 文件
tar -zxvf hadoop-2.7.4.tar.gz -C /usr/local

解压后即可,看到/usr/local/hadoop-2.7.4文件夹

3. 配置Hadoop

进入目录:
cd /usr/local/hadoop-2.7.4/etc/hadoop/
依次修改下面的文件:
4.1 core-site.xml(在底部Configuration标签内添加以下Configuration标签内的内容,其他文件也是)

   
    fs.defaultFS  
      hdfs://master:8020  
     
 
   
      hadoop.tmp.dir
      /var/log/hadoop/tmp
   


4.2 hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_121

4.3 yarn-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_121

4.4 mapred-site.xml
复制cp mapred-site.xml.template mapred-site.xml


    mapreduce.framework.name
    yarn



    mapreduce.jobhistory.address
    master:10020


     mapreduce.jobhistory.webapp.address
     master:19888


4.5 yarn-site.xml

 
    yarn.resourcemanager.hostname
    master
 
    
 
    yarn.resourcemanager.address
    ${yarn.resourcemanager.hostname}:8032
 

 
    yarn.resourcemanager.scheduler.address
    ${yarn.resourcemanager.hostname}:8030
 

 
    yarn.resourcemanager.webapp.address
    ${yarn.resourcemanager.hostname}:8088
 

 
    yarn.resourcemanager.webapp.https.address
    ${yarn.resourcemanager.hostname}:8090
 

 
    yarn.resourcemanager.resource-tracker.address
    ${yarn.resourcemanager.hostname}:8031
 

 
    yarn.resourcemanager.admin.address
    ${yarn.resourcemanager.hostname}:8033
 

 
    yarn.nodemanager.local-dirs
    /data/hadoop/yarn/local
 

 
    yarn.log-aggregation-enable
    true
 

 
    yarn.nodemanager.remote-app-log-dir
    /data/tmp/logs
 


 yarn.log.server.url
 http://master:19888/jobhistory/logs/
 URL for job history server


   yarn.nodemanager.vmem-check-enabled
    false
 

 
    yarn.nodemanager.aux-services
    mapreduce_shuffle
 

 
    yarn.nodemanager.aux-services.mapreduce.shuffle.class
      org.apache.hadoop.mapred.ShuffleHandler
     

 
        yarn.nodemanager.resource.memory-mb  
        2048  
 
 
   
        yarn.scheduler.minimum-allocation-mb  
        512  
 
   
   
        yarn.scheduler.maximum-allocation-mb  
        4096  
 

 
    mapreduce.map.memory.mb
    2048
 

 
    mapreduce.reduce.memory.mb
    2048
 

 
    yarn.nodemanager.resource.cpu-vcores
    1
 

4.6 slaves
删除localhost,添加:
slave1
slave2
slave3


4.7 hdfs-site.xml



    dfs.namenode.name.dir
    file:///data/hadoop/hdfs/name


    dfs.datanode.data.dir
    file:///data/hadoop/hdfs/data


     dfs.namenode.secondary.http-address
     master:50090


     dfs.replication
     3


4.8 设置IP映射
编辑各节点/etc/hosts
添加:
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
192.168.128.133 slave3 slave3.centos.com

4.9 克隆虚拟机,如果在配置前已提前克隆,则需拷贝hadoop安装文件到集群slave节点
scp -r /usr/local/hadoop-2.7.4 slave1:/usr/local
scp -r /usr/local/hadoop-2.7.4 slave2:/usr/local
scp -r /usr/local/hadoop-2.7.4 slave3:/usr/local

5.配置SSH无密码登录
(1)使用ssh-keygen产生公钥与私钥对。
输入命令“ssh-keygen -t rsa”,接着按三次Enter键

[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a6:13:5a:7b:54:eb:77:58:bd:56:ef:d0:64:90:66:d4 root@master.centos.com
The key's randomart image is:
+--[ RSA 2048]----+
|              .. |
|             . .E|
|          .   =  |
|         . . o o |
|      o S .   . =|
|     o * .   o ++|
|    . + . . o ooo|
|       o   . ..o |
|                .|
+-----------------+

生成私有密钥id_rsa和公有密钥id_rsa.pub两个文件。
(2)用ssh-copy-id将公钥复制到远程机器中
ssh-copy-id -i /root/.ssh/id_rsa.pub master//依次输入yes,123456(root用户的密码)
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
ssh-copy-id -i /root/.ssh/id_rsa.pub slave3
(3)验证是否设置无密码登录
依次输入
ssh slave1
ssh slave2
ssh slave3

6.配置时间同步服务
(1)安装NTP服务。在各节点:
yum -y install ntp
(2)设置master节点为NTP服务主节点,
使用命令“vim /etc/ntp.conf”打开/etc/ntp.conf文件,注释掉以server开头的行,并添加:
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10

(3)在所有slave节点中配置NTP,同样修改/etc/ntp.conf文件,注释掉server开头的行,并添加:
server master

(4)执行命令“service iptables stop & chkconfig iptables off”永久性关闭防火墙,主节点和从节点都要关闭。

(5)启动之前更正时间。
使用date命令查看时间后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时。
这个时候的bios的时间和系统的时间是不一致的,一个代表 utc 时间,一个代表cst(+8时区),即上海时间。

修改centos的时间,解决时间比本地实际时间快了8小时:
vi /etc/sysconfig/clock #编辑文件
ZONE="Asia/Shanghai"
UTC=false #设置为false,硬件时钟不于utc时间一致
ARC=false

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #linux的时区设置为上海
--------------------------------------------------------------------------
ntpdate 1.cn.pool.ntp.org #对准时间------------------校准时间代码
--------------------------------------------------------------------------
/sbin/hwclock --systohc #设置硬件时间和系统时间一致并校准
使用date命令查看时间

(6)启动NTP服务。
① 在master节点执行命令“service ntpd start & chkconfig ntpd on”
② 在slave1、slave2、slave3上执行命令“ntpdate master”即可同步时间
③ 在slave1、slave2、slave3上分别执行“service ntpd start & chkconfig ntpd on”即可启动并永久启动NTP服务。

7.在/etc/profile添加JAVA_HOME和Hadoop路径
export HADOOP_HOME=/usr/local/hadoop-2.7.4
export JAVA_HOME=/usr/local/jdk1.8.0_121
export PATH=$HADOOP_HOME/bin:$PATH:$JAVA_HOME/bin

source /etc/profile使修改生效

8. 格式化NameNode
进入目录
cd /usr/local/hadoop-2.7.4/bin

执行格式化
 ./hdfs namenode -format

9.启动集群
进入目录
cd /usr/local/hadoop-2.7.4/sbin
执行启动:
./start-all.sh
./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver

使用jps,查看进程
[root@master sbin]# jps
1765 NameNode
1929 SecondaryNameNode
2378 JobHistoryServer
2412 Jps
2077 ResourceManager

[root@slave1 ~]# jps
1844 Jps
1612 DataNode
1711 NodeManager

10. 关闭防火墙(在所有节点执行):
service iptables stop
chkconfig iptables off

11.在Windows下C:WindowsSystem32driversetchosts添加IP映射
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
192.168.128.133 slave3 slave3.centos.com

12. 浏览器查看:

http://master:50070
http://master:8088

-------------------------HDFS文件命令-----------------------------------

-------新建文件目录-------
hdfs dfs -mkdir /text.txt

-------上传文件-------
text.txt /user
hdfs dfs copyfromlocal text.txt /user
hdfs dfs -put text.txt /user

-------下载文件-----------
hdfs dfs -get /text.txt
hdfs dfs copytolocal /user/text.txt

-------查看文件----------
hdfs dfs -cat /text.txt | head -10
hdfs dfs -cat /user/text.txt

------删除文件-----
hdfs dfs -rm /text.txt
-----------------------结束---------------------------------------

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5686100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存