栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

安装Hadoop

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安装Hadoop

今天记录一下,安装Centos系统以及搭建hadoop集群,相当于虚拟化一个计算机系统,而一个计算机系统包括软件和硬件。







处理器数量一般是2,每个处理器的内核数量看母机window的内核数量。 

打开任务管理器,点资源监视器,我的是8个内核。

这样设置一台虚拟机是2*1个内核,待会你开机的虚拟机总的内核数量<母机的内核数量8即可。

比如:待会你要同时开4台虚拟机,那么它的内核总数是4*2=8,没有超过8,就是可以的.


这里虚拟机的内存我给2G。

建议将虚拟机系统内存的可用量设置为2GB,最低不应低于 1GB。当然也没有必要超过2G,在实际的使用中2G已经足够了。在vmware中,虚拟系统的内存是可以更改的, 关键看你虚拟系统是什么版本及需要运行测试哪些软件,感觉慢了就调大一点,但处于运行状态的虚拟机的内存总和不要大于母系统内存的70%。 






磁盘我给20G,不够后续可以再升级。 



以上就是生成虚拟机电脑硬件清单。 


点击完成后,相当于虚拟机电脑硬件已经配置完成了。接下来配置软件。 

在此之前,需要检查母机是否打开虚拟化技术。打开任务管理器-->性能




然后点击开启此虚拟机,等待出现以下画面:



软件选择选GNOME桌面 


然后点安装位置,选择我要配置分区,完成. 



/boot 1G 


根目录15G 


/boot1G   / 15G   swap4G  总共20G = 你配置的磁盘容量. 


/boot 的文件系统改成ext4 ,最后点完成.



取消启用kdump



点击开始安装,这个页面可以点击root密码,设置root用户密码,然后耐心等待安装。








密码:rootljl. 

现在整个操作系统软件安装完毕。


配置vm ip

编辑--》虚拟网络编辑器 




点NAT设置


最后点确定,就配置好vm的ip地址了。


接下来配置window10下的ip地址

 

 打开VMnet8的属性,双击ipv4进入ip设置

如果window10下的更改网络适配器中没有出现VMnet8,那么可以去vm下,编辑-->虚拟网络编辑器-->点VMnet8-->更改设置--> 还原默认设置


接下来配置hadoop虚拟机的ip地址

 

 修改主机名称为hadoop100

将主机名hadoop和ip地址192.168.10.100映射, 这样就可以使用hadoop代替写那么长的ip地址了,  这样只要ip地址改变,只需要到 /etc/hosts文件中修改即可。

 ​​​​

 最后重启,让配置生效

查看ip,可以看到已经生效了  

 ping外网也ok

 主机名也没错


安装epel-release,因为有些rpm包在官方库中找不到。前提是保证可以联网和在root用户下。

kill -9 进程号


关闭服务器防火墙,关闭防火墙服务开机自启动。 

systemctl stop firewalld

systemctl disable firewalld.service

创建lin用户,设置密码

useradd lin

password lin

并设置使其具有root权限,方便后期sudo执行root权限的命令。

vim /etc/sudoers

 


卸载虚拟机自带的jdk,由于我们是桌面版的安装,所以它会自动安装jdk。

 重启虚拟机reboot


克隆三台虚拟机 

以hadoop100为模板机,克隆出三台虚拟机,由于是原封不动的克隆,所以克隆出来的三台虚拟机,需要对其修改ip地址和主机名称。 

注意:克隆前需要关机。

右键虚拟机-->管理-->克隆 

 

下面就是重复的操作,克隆出另外两台hadoop103和hadoop104 


接下来就是配置ip地址和主机名称.

第一:开启hadoop102

vim /etc/sysconfig/network-scripts/ifcfg-ens33     修改ip地址.

 vim /etc/hostname   修改主机名

 vim /etc/hosts   设置ip和主机名映射

 最后重启,让设置生效,然后验证主机名和ip有没有变化。

 

 也可以连通外网

然后重复以上操作,同样配置hadoop103和hadoop104


JDK的安装 

/opt 目录

optional:“可选择”的意思,作用是安装第三方软件的地方

 

进入到/opt/software/目录下,准备上传安装包

hadoop3.1.3下载地址: Index of /dist/hadoop/common/hadoop-3.1.3 (apache.org)

jdk8:https://pan.baidu.com/s/1tJVUDqc3YpwygtPM6QxD1w 提取码: 36s2

 

发现已经安装包已经有了

 安装jdk

配置jdk的环境变量 

 

 在里面配置:

 


hadoop的安装 

 

配置hadoop的环境变量。 

 

 


本地模式运行hadoop  

 随意写点东西。

 统计word.txt中的单词个数


 jdk的拷贝

 由于我们只在hadoop102中安装了jdk,而hadoop103和hadoop104都需要安装jdk,因此可以在hodoop102中拷贝jdk

 

开始进行拷贝 

 


 hadoop的拷贝


 


rsync远程同步工具

 案例

第一次用scp拷贝,后续有更改用rsync同步即可。 


同样操作,将环境变量拷贝到hadoop104中,使命令可以到任何地方使用。 


 xsync集群分发脚本

 进入/bin/目录下,创建xsync脚本

 脚本内容:

#! /bin/bash

#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
then
    echo No Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
for host in hadoop102 hadoop103  hadoop104
do
    echo ====================    $host    ====================
    #3. 递归遍历所有目录
    for file in $@
    do
        #4 判断文件是否存在
        if [ -e $file ]
        then
            #5. 获取全路径
            pdir=$(cd -P $(dirname $file); pwd)
            echo pdir=$pdir
            
            #6. 获取当前文件的名称
            fname=$(basename $file)
            echo fname=$fname
            
            #7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
            ssh $host "source /etc/profile;mkdir -p $pdir"
            
            #8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
            rsync -av $pdir/$fname $USER@$host:$pdir
        else
            echo $file Does Not Exists!
        fi
    done
done

 

  


免密登录,实现在hadoop102上可以免密登录hadoop103和hadoop104

 对自己也需要设置实现免密登录。

同样的操作,在hadoop103和hadoop104上操作一样的步骤,实现对其绵密登录。

刚刚是在lin用户设置的免密登录,切换到root用户就失效了

需要在root用户下重新设置

现在使用xsync分发脚本(复制文件到所有节点的相同目录下/home/lin/)就不需要输入密码了。


 集群配置

 在hadoop102上配置NameNode,配置core-site.xml文件 




    fs.defaultFS
    hdfs://192.168.10.102:8020



    hadoop.tmp.dir
    /opt/moudle/hadoop-3.1.3/data


 
    hadoop.http.staticuser.user
    lin

   

 在hadoop102上配置SecondaryNameNode(2NN),配置hdfs-site.xml文件  




    dfs.namenode.http-address
    192.168.10.102:9870



    dfs.namenode.secondary.http-address
    192.168.10.104:9868



指定ResourceManager节点,配置yarn-site.xml 






    yarn.resourcemanager.aux-services
    mapreduce_shuffle



    yarn.resourcemanager.hostname
    192.168.10.103




    yarn.nodemanager.env-whitelist
    JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME


MapReduce配置文件,配置mapred-site.xml 文件




    mapreduce.framework.name
    yarn

   

现在以下的部分配置完毕,

还需要在hadoop103和hadoop104上配置,直接使用xsync分发脚本。 

 

 验证一下有没有配置成功

 


启动集群并测试

配置workers

 分发workers

启动集群 

先初始化

 在hadoop102上启动NameNode

 验证 

  

在hadoop103上启动ResourceManager

 查看每个主机有没有启动

 

 


集群的基本测试 

上传文件到集群

 

执行wordcount程序,集群MapReduce操作

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838333.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号