hadoop系列教程第二讲:环境搭建

上一章我们讲了关于hadoop的一些基本的概念,这一章我们开始着手搭建hadoop的开发环境。
首先你要有linux虚拟机,关于VMware和linux虚拟机的安装这里就不多说了。可以自行百度,很简单。
假定我们已经有了linux虚拟机,接下来我们就开始进行hadoop环境的安装。

1.使用useradd创建一个用户,这里我们取名为hadoop

 [root@localhost ~]# useradd hadoop

2.用passwd为hadoop设置密码

[root@localhost ~]# passwd hadoop
Changing password for user hadoop.
New password:                //输入密码
BAD PASSWORD: The password is shorter than 8 characters//这句话是提示我的密码过于简单,忽略
Retype new password:        //确认密码
passwd: all authentication tokens updated successfully.

3.给hadoop用户赋予使用sudo命令的权限

查看/etc/sudoers的权限信息:

[root@localhost ~]# ll /etc/sudoers
-r--r-----. 1 root root 3907 Nov  4  2016 /etc/sudoers

发现当前root用户对该文件没有写的权限。我们首先要做的就是给root用户增加写该文件的权限:

[root@localhost ~]# chmod u+w /etc/sudoers

然后再次查看root对该文件的权限:

[root@localhost ~]# ll /etc/sudoers
-rw-r-----. 1 root root 3907 Nov  4  2016 /etc/sudoers

此时root拥有了修改该文件的权限。
然后修改该文件:

vim /etc/sudoers

找到下面这这一行:

root    ALL=(ALL)       ALL//中间的空格是Tab键

在这一行的下面加上一行:

hadoop  ALL=(ALL)       ALL

然后保存退出。

4.撤销刚才root对/etc/sudoers的权限,防止误修改

[root@localhost ~]# chmod u-w /etc/sudoers
[root@localhost ~]# ll /etc/sudoers
-r--r-----. 1 root root 3927 Oct 28 18:07 /etc/sudoers

5.修改主机名

为了方便以后做测试,我们将主机名修改为hadoop.

[root@localhost ~]# vim /etc/hostname 

然后将里面的内容修改为hadoop。
修改etc/hosts文件,在里面添加

主机名  hadoop

然后重启linux生效。

[root@localhost ~]# reboot

重启linux后,我们发现hostname已经变成了hadoop。

6.设置本地ssh免密登陆

[root@hadoop ~]# ssh-keygen -t rsa

一直敲回车,直到结束。
这个时候,在~/.ssh文件夹下会生成两个文件:

-rw-------. 1 root root 1679 Oct 28 18:15 id_rsa
-rw-r--r--. 1 root root  393 Oct 28 18:15 id_rsa.pub

我们需要在这个文件夹下面创建authorized_keys文件,并且将id_rsa.pub的内容添加到authorized_keys中去,命令如下:

[root@hadoop .ssh]# cat id_rsa.pub >>authorized_keys

然后需要更改authorized_keys文件的权限为600(这一步必须,否则ssh免密登陆将会不成功),命令如下:

[root@hadoop .ssh]# chmod 600 authorized_keys 

7.安装JDK

hadoop需要JDK的运行环境。
首先从官网上下载JDK安装包,链接地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
现在完成后放到linux的文件夹中,这里我是在/home/hadoop下新建了一个softs的文件夹。
然后执行解压缩命令:

[root@hadoop softs]# tar -zxvf jdk-8u151-linux-x64.tar.gz 

如果解压提示permission deny等问题,可以再命令前面加上sudo。
解压完成后,创建jdk目录的软连接(方便以后使用):

[root@hadoop softs]# sudo ln -s /home/hadoop/softs/jdk1.8.0_151 /usr/local/jdk

然后设置java的环境变量:

[root@hadoop softs]# vim ~/.bash_profile

在该文件中加入下面三行:

export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

然后使用命令使配置生效。

[root@hadoop softs]# source ~/.bash_profile

检测java环境:

[root@hadoop softs]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

可以看到java版本信息,说明jdk环境已经安装成功。

8.安装hadoop环境

下载hadoop的安装包并复制到softs文件夹中。hadoop链接地址:http://archive.cloudera.com/cdh5/cdh/5/
解压该安装包。

[root@hadoop softs]# tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz 

解压完成后,在/home/hadoop/下创建bigdata文件夹。
创建hadoop文件夹的软连接:

[root@hadoop softs]# sudo ln -s /home/hadoop/softs/hadoop-2.5.0-cdh5.3.6 /home/hadoop/bigdata/hadoop5.3.6

在/home/hadoop/bigdata/hadoop5.3.6文件夹下面创建hdfs文件夹。

进入/home/hadoop/bigdata/hadoop5.3.6/etc/hadoop 文件夹下面
配置/home/hadoop/bigdata/hadoop5.3.6/etc/hadoop/hadoop-env.sh环境文件。

    export JAVA_HOME=/usr/local/jdk
    export HADOOP_PID_DIR=/home/hadoop/bigdata/hadoop5.3.6/hdfs/tmp

配置mapred-env.sh
export HADOOP_MAPRED_PID_DIR=/home/hadoop/bigdata/hadoop5.3.6/hdfs/tmp

配置基本环境变量core-site.xml文件

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hh:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/bigdata/hadoop5.3.6/hdfs/tmp</value>
    </property>

配置hdfs相关变量hdfs-site.xml文件

     <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/bigdata/hadoop5.3.6/hdfs/name</value>
    </property>
    <property>
        <name>dfs.namenode.data.dir</name>
        <value>/home/hadoop/bigdata/hadoop5.3.6/hdfs/data</value>
    </property>
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>

配置mapre相关环境变量mapred-site.xml文件
执行命令:

cp mapred-site.xml.templete mapred-site.xml

配置mapred-site.xml文件

   <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

配置yarn相关环境变量
yarn-site.xml文件

  <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
  </property>

yarn-env.sh文件

 export YARN_PID_DIR=/home/hadoop/bigdata/hadoop5.3.6/hdfs/tmp

配置datanode相关变量slaves文件
将salves文件中的内容改为主机名
配置hadoop相关环境变量

    export HADOOP_HOME=/home/hadoop/bigdata/hadoo5.3.6/
    export HADOOP_PREFIX=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_PREFIX
    export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
    export HADOOP_HDFS_HOME=$HADOOP_PREFIX
    export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
    export HADOOP_YARN_HOME=$HADOOP_PREFIX
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

最后执行命令使配置生效:

source ~/.bash_profile

9.启动hadoop

第一次启动hadoop需要执行一个命令:hadoop namenode - format
然后执行命令:start-all.sh

10.验证是否启动成功

输入命令jps,如果你能看到下面几个进程在运行,那么恭喜你,你的hadoop环境已经成功运行。

[root@hadoop ~]# jps
5472 DataNode
6083 NodeManager
6469 Jps
5798 ResourceManager
5640 SecondaryNameNode
发布了28 篇原创文章 · 获赞 14 · 访问量 8万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章