代码改变世界

大数据01_centos7部署hadoop-3-1-2本地模式与伪分布模式

2020-05-05 19:34  微言晓意  阅读(1409)  评论(0编辑  收藏  举报
1、Linux基础环境配置:CentOS7安装、配置
1.1、虚拟机安装Linux操作系统
  • A)Linux操作系统版本:CentOS-7-x86_64-DVD-1908.iso
  • B)虚拟机安装CentOS配置:内存:1G,CPU:1,硬盘:40G
  • C)网络:桥接
1.2、CentOS网络配置
  • A)CentOS网络配置:编辑/etc/sysconfig/network-scripts/ifcfg-enp0s3
BOOTPROTO="static"
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1 
NM_CONTROLLED=no
ONBOOT=yes
  • B)CentOS修改主机名:编辑/etc/hosts
192.168.1.111 bigdata111 bigdata111
1.3、关闭系统防火墙
  • A)关闭firewalld
a)查看状态:systemctl status firewalld
b)结束:systemctl stop firewalld
c)关闭:systemctl disable firewalld
  • B)关闭selinux
a)查看selinux状态:getenforce
b)关闭:编辑文件/etc/selinux/config,将selinux的值改成disable
c)重启:reboot
  • C)关闭iptables
a)查看状态:systemctl status iptables
b)关闭:chkconfig iptables off
2、hadoop安装前环境准备
2.1、安装SSH、配置SSH无密码登录
  • A)测试SSH:ssh bigdata111(系统默认已经安装ssh)

  • B)利用ssh-keygen生成密钥,并将密钥加入授权

cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys  # 加入授权
chmod 600 ./authorized_keys    # 修改文件权限
2.2、安装、配置JDK:jdk-8u241-linux-x64.tar.gz
  • A)安装JDK:tar -zxvf jdk-8u241-linux-x64.tar.gz -C /roo/test/

  • B)配置Java环境变量:

    • a)编辑:vi ~/.bash_profile
JAVA_HOME=/root/test/jdk1.8.0_241
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
  • b)重启立即生效:
source ~/.bash_profile
3、安装、配置hadoop本地模式、伪分布式模式
3.1、安装hadoop:
  • A)解压hadoop:tar -zxvf hadoop-3.1.2.tar.gz -C /root/test/

  • B)配置hadoop环境变量:

    • a)编辑:vi ~/.bash_profile
HADOOP_HOME=/root/test/hadoop-3.1.2
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
  • b)重启立即生效:source ~/.bash_profile
3.2、配置hadoop本地模式
  • A)配置hadoop用户:

    • a)编辑:vi ~/.bash_profile
export HDFS_DATANODE_USER=root
export HDFS_DATANODE_SECURE_USER=root
export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
  • b)重启立即生效:source ~/.bash_profile

  • B)配置hadoop-env.sh(/root/test/hadoop-3.1.2/etc/hadoop/目录下)

    • a)vi hadoop-env.sh
去掉54行注释,设置JAVA_HOME
JAVA_HOME=/root/test/jdk1.8.0_241
  • b)到此步hadoop本地模式安装成功,mapreduce可以使用
3.3、hadoop本地模式mapreduce实验
  • A)准备实验数据

    • a)建立输入目录:mkdir -p /root/temp/input

    • b)创建输入文件:vi data.txt

I love Beijing
I love China
Beijing is the capital of China
  • B)执行mapreduce

    • a)进入mapreduce目录:
cd /root/test/hadoop-3.1.2/share/hadoop/mapreduce/
  • b)hadoop jar hadoop-mapreduce-examples-3.1.2.jar(此jar包提供了很多函数)

  • c)执行wordcount计算,进行实验:

hadoop jar hadoop-mapreduce-examples-3.1.2.jar wordcount /root/temp/input/data.txt /root/temp/output/wc
  • d)查看运行结果:
    查看ls /root/temp,已经生成output/wc目录
    进入output/wc目录,已经生成part-r-00000文件
    查看文件内容,cat part-r-00000文件已经将单词结果统计出来
Beijing 2
China 2
I 2
capital 1
is 1
love 2
of 1
the 1
3.4、配置hadoop本地模式:除了3.2的B配置hadoop-env.sh外,还需要4个文件需要配置,都在/root/test/hadoop-3.1.2/etc/hadoop/目录下。
  • A)配置hdfs-site.xml

    编辑:vi hdfs-site.xml,加入以下配置项:

<property>
       <name>dfs.replication</name>
       <value>1</value>
</property>

<property>
      <name>dfs.permissions</name> 
      <value>false</value>
</property>
  • B)配置core-site.xml
    编辑:vi core-site.xml,加入以下配置项:
<property>
      <name>fs.defaultFS</name> 
      <value>hdfs://bigdata111:9000</value>
</property>

<property>
       <name>hadoop.tmp.dir</name>
       <value>/root/test/hadoop-3.1.2/tmp</value>
</property>
  • C)配置mapred-site.xml
    编辑:vi mapred-site.xml,加入以下配置项:
<property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
</property>

<property> 
      <name>yarn.app.mapreduce.am.env</name>             
      <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
      <name>mapreduce.map.env</name>
      <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property> 
      <name>mapreduce.reduce.env</name>       
      <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
  • D)配置yarn-site.xml
    编辑:vi yarn-site.xml,加入以下配置项:
<property>
      <name>yarn.resourcemanager.hostname</name>
      <value>bigdata111</value>
</property>

<property> 
      <name>yarn.nodemanager.aux-services</name>         
      <value>mapreduce_shuffle</value>
</property>
3.5、启动hadoop
  • A)格式化namenode, 执行:hdfs namenode -format
  • B)启动hadoop,执行:start-all.sh
  • C)查看启动状态,执行:JPS
3172 ResourceManager
3668 Jps
2917 SecondaryNameNode
3307 NodeManager
2542 NameNode
2686 DataNode
  • D)打开web管理页面
http://192.168.1.111:9870

安装配置完成!