ddlddx0000 发表于 2017-12-17 12:44:41

Hadoop笔记之搭建环境

  Hadoop的环境搭建分为单机模式、伪分布式模式、完全分布式模式。
  因为我的本本比较挫,所以就使用伪分布式模式。
安装JDK
  一般Linux自带的Java运行环境都是Open JDK,我们到官网下载Oracle JDK(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html):

  需要注意的是官网上直接右键复制的话是下载不成功的,F12,单机,看网络请求包:

  然后复制地址wget即可:
wget http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz  

  解压:
tar zxvf jdk-8u131-linux-x64.tar.gz  

  配置相关的环境变量:
vim /etc/profile  

  如果还没有vim的话可以使用yum install vim来安装,在profile文件末尾追加:
export JAVA_HOME=/usr/local/jdk1.8.0_131  
export PATH=$JAVA_HOME/bin:$PATH

  
export>  

  重新加载profile:
source /etc/profile  

  查看Java版本:

  如果是默认的话就是Open JDK,这里已经换成了Oracle JDK了,JDK安装完成。

配置SSH免密码登录
  在当前用户目录下新建隐藏文件.ssh:
mkdir .ssh  

  cd到.ssh目录中,生成公钥和私钥:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  

  把公钥追加到授权key中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  

  然后尝试直接连接到本地:
ssh -version  

  第一次可能会有提示,再之后登陆的时候会直接登陆进来而无需每次都输入密码。

安装Hadoop
  到官网找到一个合适的版本http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.8.0/:

  使用wget下载到本地:
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.8.0/hadoop-2.8.0.tar.gz  


  如果wget还没有安装的话,使用下面的命令安装:
yum install wget  

  解压targz文件:
tar zxvf hadoop-2.8.0.tar.gz  

  修改Hadoop的配置文件($HADOOP_HOME/etc/hadoop):
vim core-site.xml  

  编辑内容:
<configuration>  

  <property>
  <name>hadoop.tmp.dir</name>
  <value>file:/root/hadoop/tmp</value>
  <description>Abase for other temporary directories.</description>
  </property>
  

  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://192.168.2.131:9000</value>
  </property>
  

  
</configuration>
  

  需要注意的是这里配置的路径中不能使用~来代替宿主目录,不然后面初始化的时候找不到此目录就会报NPE。
  编辑mapred-site.xml.template文件:
vim mapred-site.xml.template  

  修改内容:
<configuration>  

  <property>
  <name>mapred.job.tracker</name>
  <value>192.168.2.131:9001</value>
  </property>
  

  
</configuration>
  

  编辑hdfs-site.xml文件:
vim hdfs-site.xml  

  编辑内容:
<configuration>  

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

  <property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/root/hadoop/tmp/dfs/name</value>
  </property>
  

  <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/root/hadoop/tmp/dfs/data</value>
  </property>
  

  
</configuration>
  

  初始化Hadoop目录,在$HADOOP_HOME/bin下执行:
./hdfs namenode -format  

  出现这个就说明初始化成功了:

  启动NameNode和DataNode守护进程:
  切换到$HADOOP_HOME/sbin下,执行:
./start-dfs.sh  

  如果启动的时候报了这个错的话:

  切换到$HADOOP_HOME下,执行:
vim etc/hadoop/hadoop-env.sh  

  在文件的末尾追加$JAVA_HOME变量:
export JAVA_HOME=/usr/local/jdk1.8.0_131   

  启动完毕使用jps命令查看进程信息:

  上面这样子说明就是启动成功了。
  在浏览器中输入http://192.168.2.131:50070可查看web界面。
  但是这个时候要使用hadoop命令还必须得去特定的目录下使用,将其加入到$PATH中:
vim /etc/profile  

  在文件尾部追加:
export JAVA_HOME=/usr/local/jdk1.8.0_131  
export HADOOP_HOME=/usr/local/hadoop-2.8.0
  
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  
export>  

  

  重新加载一下:
source /etc/profile  

  测试一下:

  .
页: [1]
查看完整版本: Hadoop笔记之搭建环境