安装部署Hadoop集群

本文档详细介绍了如何在CentOS系统中搭建Hadoop集群,包括安装Linux系统、配置免密SSH、安装和配置Hadoop等步骤,并提供了具体的操作命令。
安装Linux 系统  ( 参考网址  https://www.osyunwei.com/archives/7829.html )
        ps : 安装时,选择的语言选择英文
使用Linux镜像文件  CentOS-7-x86_64-DVD-1611.iso
        ps :  CentOS-7 默认的时图形界面 , 用不习惯的可以切换成指令界面 ( 参考网址 https://www.cnblogs.com/vaelailai/p/8037374.html )
  • centos7默认安装后, 跟其他版本一样,启动默认进入图形界面
  • 在图形化桌面,右击鼠标,选择[在终端中打开] , 以 root用户进入 , 即centos的命令行模式
  • 在终端命令行中输入 vi /etc/inittab , 查看系统的2种启动模式
  • 退出( 冒号 : q! )vi模式后 , 输入命令 systemctl get-default 查看当前系统启动模式
  • 将图形化界面切换成命令行 , 输入命令 systemctl set -default multi-user.target 之后再输入reboot重启即可
  • 将命令行切换成图形化界面的命令 systemctl set-default graphical.target 之后再输入reboot重启即可
Linux 虚拟机 ifconfig 
        ip : 192.168.7.248
        本地 ip :  xxx.xxx.xxx.xxx
关闭Linux虚拟机防火墙 (参考网址 https://blog.youkuaiyun.com/zhezhebie/article/details/72881393)
        firewall-cmd --state #查看默认防火墙状态 (关闭后显示notrunning , 开启后显示running)
        systemctl stop firewalld.service #停止firewall
        systemctl disable firewalld . service # 机制firewall 开机启动
        init 6 #重启虚拟机, 然后输入第一条命令查看防火墙状态
安装jdk之前,先进行卸载jdk ( 安装版本 java-1.7.0-openjdk.x86_64 )
  • 查询jdk版本 java -version
  • 检测jdk安装包 rpm -qa | grep java
  • 卸载openjdk   rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
  • 或者是   yum remove *openjdk*
  • 再次输入 rpm -qa | grep java
  • 下载jdk1.8 linux版本 , 移动至linux==>root下
  • 解压缩 tar -xzvf jdk-7u25-linux-x64.tar.gz
  • 移动解压包到指定目录    mv /root/jdk1.8.0_171/  /usr/java
  • 编辑环境变量 vim /etc/profile
    • export JAVA_HOME=/usr/java/jdk1.8.0_171
    • export JRE_HOME=${JAVA_HOME}/jre
    • export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    • export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    • export PATH=$PATH:${JAVA_PATH}
    • esc [进入命令模式]       输入 :   (冒号)   [ wq表示退出保存    q!  退出不保存 ]
  • 重启服务   source /etc/profile
  • 测试是否安装成功 
    • javac
    • java -version

  • M  - IP : 192.168.7.248
  • S1 - IP : 192.168.5.173
  • S2 - IP : 192.168.5.83
  • 创建公钥 / 密钥 ssh-keygen -t rsa
  • 查看两个刚生成的文件 ll ~/.ssh
    • 也可以 ,同样可以看到
    • cd .ssh 
    • ls
  • 在每一个虚拟机中都执行创建密钥.公钥之后
    • 拷贝公钥到需要免密的虚拟机上 
      • M虚拟机命令
      • ssh-copy-id root@192.168.5.173
      • ssh-copy-id root@192.168.5.83
      • S1虚拟机命令
      • ssh-copy-id root@192.168.7.248
      • ssh-copy-id root@192.168.5.83
      • S2虚拟机命令
      • ssh-copy-id root@192.168.7.248
      • ssh-copy-id root@192.168.5.173
  • ssh root@192.168.7.248   进行连接测试

无关重要得一步 ( 纯看个人喜好 )
起别名
  • vi /etc/sysconfig/network
    • NETWORKING=YES
    • HOSTNAME=M ( 别名 )
  • vi /etc/hosts
    • 127.0.0.1   localhost M ( 别名 ) localhost4 localhost4.localdomain4
    • ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  • 重启 reboot

  • 进行Hadoop解压 , 指令 tar -xzvf hadoop-2.9.1.tar.gz 
    • 解压包中相关文件
    • sbin: 启动活停止hadoop相关服务的脚本
    • bin: 对hadoop相关服务(HDFS,YARN)进行操作的脚本
    • etc:hadoop的配置文件目录
    • share:hadoop的依赖jar包和文档,文档可以被删除
    • lib:hadoop的本地库(对数据库进行压缩解压缩功能的)
  • 修改这3台机器的/etc/hosts文件,在文件中添加以下内容:
    • 192.168.8.203  hserver1
  • 192.168.8.206  hserver2
    • 192.168.8.207  hserver3
  • 创建文件加
mkdir  /root/hadoop
mkdir  /root/hadoop/tmp
mkdir  /root/hadoop/var
mkdir  /root/hadoop/dfs
mkdir  /root/hadoop/dfs/name
mkdir  /root/hadoop/dfs/data

  • 配置Hadopp配置有关文件
    • vim hadoop-env.sh
      • export JAVA_HOME=/usr/java/jdk1.8.0_171

  • vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/core-site.xml
修改为

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.default.name</name>
        <value> hdfs://localhost:9000 </value>
    </property>
</configuration>
  • vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/hdfs-site.xml
<configuration>
<property>
   <name>dfs.name.dir</name>
   <value>/root/hadoop/dfs/name</value>
   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
   <name>dfs.data.dir</name>
   <value>/root/hadoop/dfs/data</value>
   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>
<property>
      <name>dfs.permissions</name>
      <value>false</value>
      <description>need not permissions</description>
</property>
</configuration>

  • 复制这个文件并改名有一个名为mapred-site.xml.template的文件,复制该文件,然后改名为mapred-site.xml
  • cp /opt/hadoop/hadoop-2.9.1/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-2.9.1/etc/hadoop/mapred-site.xml
  • 修改这个文件
<property>
    <name>mapred.job.tracker</name>
    <value>hserver1:49001</value>
</property>
<property>
      <name>mapred.local.dir</name>
       <value>/root/hadoop/var</value>
</property>
<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

  • 修改/opt/hadoop/hadoop-2.9.0/etc/hadoop/slaves文件,将里面的localhost删除,添加如下内容
    • vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/slaves
      • hserver2  
      • hserver3

  • vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/yarn-site.xml
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hserver1</value>
   </property>
   <property>
        <description>The address of the applications manager interface in the RM.</description>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
   </property>
   <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
   </property>
   <property>
        <description>The http address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
   </property>
   <property>
        <description>The https adddress of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
   </property>
   <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
   </property>
   <property>
        <description>The address of the RM admin interface.</description>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
   </property>
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>
   <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>2048</value>
        <discription>每个节点可用内存,单位MB,默认8182MB</discription>
   </property>
   <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
   </property>
   <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
</property>
   <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
</property>


进行测试阶段 :
对HDFS进行格式化
  • cd  /opt/hadoop/hadoop-2.9.1/bin
  • ./hadoop  namenode  -format
  • 格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件
在namenode上执行启动命令
  • 因为hserver1是namenode,hserver2和hserver3都是datanode,所以只需要再hserver1上执行启动命令即可。
  • 进入到hserver1这台机器的/opt/hadoop/ hadoop-2.9.1/sbin目录,也就是执行命令:
  • cd    /opt/hadoop/ hadoop-2.9.1/sbin
  • 执行初始化脚本,也就是执行命令
  • ./start-all.sh
http://192.168.7.248/50070
http://192.168.7.248/8088
如果没什么错误的情况下,到这里就完事大吉了 >_<


已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 常见问题解答 网页打开速度慢或者打不开网页? 受到多种因素的影响,对于非会员用户我们无法提供最优质的服务。 如果您希望得到最棒的体验,请至大会员页面("右上角菜单 → 大会员")根据说明操作。 请注意:受制于国际网络的诸多不确定性,我们无法对任何服务的可靠性做出任何保证。 如果出现了网络连接相关的问题,我们建议您先等待一段时间,之后再重试。 如果您在重试后发现问题仍然存在,请联系我们,并说明网络问题持续的时间。 图片下载后无法找到? 打开"右上角菜单 → 更多 → 修改下载路径",在弹出的对话框中可以看到当前图片的保存路径。 此外,由于网络因素,在保存图片之后,等待屏幕下方出现"已保存到..."后,才能在本地找到图片。 如何更改图片保存的目录? 请参见"右上角菜单 → 更多 → 修改下载路径"。 翻页不方便? 在点进某个图片后,通过在图片上向左或向右滑动,即可翻页查看下一个作品。 如何保存原图/导出动图? 长按图片/动图,在弹出的菜单中选择保存/导出即可。 输入账号密码后出现"进行人机身份验证"? 此为pixiv登陆时的验证码,请按照要求点击方框或图片。 在pxvr中注册pixiv账号后,收到验证邮件,无法访问邮件中的验证链接? 请复制邮件中的链接,打开pxvr中的"右上角菜单 → 输入地址"进行访问。 能否自动将页面内容翻译为汉语? 很抱歉,pxvr暂不提供语言翻译服务。 图片下载类型是否可以选择? 能否批量下载/批量管理下载? 已支持批量下载多图作品中的所有原图:找到一个多图作品,进入详情页面后,点击图片进入多图浏览模式,长按任意一张图片即可看到批量下载选项。 关于上述其他功能,我们...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值