ubuntu16.04搭建hadoop2.X系列

匿名 (未验证) 提交于 2019-12-03 00:22:01
  1. ubuntu-16.04.2-desktop-amd64.iso
  2. hadoop-2.7.3.tar.gz
  3. jdk-8u144-linux-x64.tar.gz
  • 服务器准备 (内存可为1G,2G只为流畅)
    Master:内存2G 1核。
    Slaver:内存2G 1核。

  • IP设置 (IP类比自身服务器)
    Master:192.168.1.10
    Slaver:192.168.1.20

  1. 系统安装
    系统正常安装,主机名可分别设置为Master,slaver。并且设置用户名为hadoop 这样可省去创建用户步骤。
    也可系统安装完后期修改。

  2. 创建用户

#创建用户 sudo useradd -m hadoop -s /bin/bash #设置密码 sudo passwd hadoop #按提示输入两次密码  #加入root组 sudo adduser hadoop sudo

3.更新并安装vim

#Master&Slaver sudo apt-get update sudo apt-get install vim sudo apt-get install openssh-server
  1. 配置主机通信
    • 修改主机名
      /etc/hostname 内容为主机名,修改后需重启主机生效,可在系统安装时提前将主机名设置为Master,Slaver
#Master sudo vim /etc/hostname Master  #Slaver sudo vim /etc/hostname Slaver
  • 配置主机映射
    /etc/hosts 文件是linux文件的主机映射,配置内容为 IP HOSTNAME
    比如 192.168.1.10 Masterping Master = ping 192.168.1.10.
    配置时将主机字自解析删除掉,127.0.0.1 Master Slaver
#Master&Slaver sudo vim /etc/hosts  192.168.1.10 Master 192.168.1.20 Slaver

5.配置无密钥访问
这边需要详细解释一下,首先,我们使用hadoop用户登录,所以我们的家目录为/home/hadoop/
执行ssh-keygen -t rsa 后, 会在用户的家目录生成两个文件,分别为id_rsa, id_rsa.pub.
使用 cat命令,将公钥复制到authorized.keys文件内(该文件默认不存在),
此时 authorized_keys文件内容大致为

公钥 user@hostname
公钥为一堆长乱码,user为用户名,我们此时为hadoop. hostname为主机名,即我们的Master Slaver.

此时authorized_keys文件内容大致为

公钥  hadoop@Master 公钥  hadoop@Slaver 

此时,Master Slaver 下分别执行

#Slaver ssh Master  #Master ssh Slaver 

即可实现免密钥登录,如果不成功,请删除.ssh/下所有文件,重新执行该步骤。

#Master ssh-keygen -t rsa #根据提示,三次回车即可生成密钥。 #Slaver ssh-keygen -t rsa #根据提示,三次回车即可生成密钥。 cd /home/hadoop/.ssh/ cat id_rsa.pub >> authorized_keys scp authorized_keys Master:/home/hadoop/.ssh/  #Master cd /home/hadoop/.ssh/ cat id_rsa.pub >> authorized_keys scp authorized_keys Slaver:/home/hadoop/.ssh/
  1. 配置JDK
    首先,将JDK上传至/home/hadoop/下。
#Master&Slaver sudo tar -zxvf jdk-8u144-linux-x64.tar.gz  -C /usr/local  sudo mv /usr/local/jdk1.8.0_144 /usr/local/jdk  sudo vim /home/hadoop/.bashrc  export JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$PATH #此两行为配置内容,写在.bashrc文件最后,.bashrc为用户配置内容。

此时,配置文件和JDK已经安装修改完毕,进行验证。

source /home/hadoop/.bashrc java -version #以打印出JAVA版本信息为主。 

7.配置hadoop
hadoop上传至/home/hadoop目录下,

#Master sudo tar -zxvf hadoop-2.7.3.tar.gz -C /usr/local #将hadoop文件解压缩至/usr/local  cd /usr/local  sudo mv hadoop-2.7.3 hadoop  sudo chown -R hadoop hadoop 

配置环境变量

#Master&Slaver (Slaver节点也需要修改环境变量)  sudo vim /home/hadoop/.bashrc  #此三行添加至文件最后 export HADOOP_HOME=/usr/local/hadoop export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin  #文件生效 source /home/hadoop/.bashrc

修改配置文件
文件内容统一在/usr/local/hadoop/etc/hadoop/
- hadoop.env.sh

#原语句为 export JAVA_HOME=${JAVA_HOME},修改为如下 export JAVA_HOME=/usr/local/jdk
  • yarn.env.sh
#原语句为 export JAVA_HOME=/home/y/libexec/jdk1.6.0/ 默认被注释的,在下面添加如下语句。 export JAVA_HOME=/usr/local/jdk
  • slaves
#文件内容 Master Slaver 
  • core-site.xml
<configuration>          <property>                 <name>fs.defaultFS</name>                 <value>hdfs://Master:9000</value>         </property>         <property>                 <name>hadoop.tmp.dir</name>                 <value>file:/usr/local/hadoop/tmp</value>         </property> </configuration> 
  • hdfs-site.xml
<configuration>         <property>                 <name>dfs.namenode.secondary.http-address</name>                 <value>Master:50090</value>         </property>         <property>                 <name>dfs.replication</name>                 <value>1</value>         </property>         <property>                 <name>dfs.namenode.name.dir</name>                 <value>file:/usr/local/hadoop/tmp/dfs/name</value>         </property>         <property>                 <name>dfs.datanode.data.dir</name>                 <value>file:/usr/local/hadoop/tmp/dfs/data</value>         </property> </configuration>
  • mapred-site.xml

原文件名为 mapred-site.xml.template

sudo cp mapred-site.xml.template 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>         <property>                 <name>yarn.resourcemanager.hostname</name>                 <value>Master</value>         </property>         <property>                 <name>yarn.nodemanager.aux-services</name>                 <value>mapreduce_shuffle</value>         </property> </configuration>

8.配置slaver节点

#Master cd /usr/local sudo tar -zcf /home/hadoop/hadoop.master.tar.gz hadoop #压缩/usr/local下的hadoop文件夹 sudo scp /home/hadoop/hadoop.master.tar.gz Slaver:/home/hadoop/  #Slaver cd /home/hadoop tar -zxvf hadoop.master.tar.gz -C /usr/local #生效环境变量 source /home/hadoop/.bashrc 

9.启动hadoop

#Master hdfs namenode -format #仅首次运行需要执行初始化,之后不需要启动。 启动: start-all.sh 关闭: stop-all.sh

10.查看

JPS #Master  jps  DataNode  NameNode  ResourceManager  SecondrryNameNode  JobHistoryServer #Slaver  DataNode  NameNode
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!