Linux系统下Hadoop运行环境搭建

1.安装ssh免密登录

 

命令:ssh-keygen

 

overwrite(覆盖写入)输入y

 

一路回车

 

 

 

将生成的密钥发送到本机地址

ssh-copy-id localhost

(若报错命令无法找到则需要安装openssh-clients

 yum –y install openssh-clients

 

 

 

测试免密设置是否成功

ssh localhost

 

 

 2.卸载已有java

确定JDK版本

rpm –qa | grep jdk

rpm –qa | grep gcj

 

 

 

切换到root用户,根据结果卸载java

 

 

 

yum -y remove java-1.8.0-openjdk-headless.x86_64

yum -y remove java-1.7.0-openjdk-headless.x86_64

 

 

 

卸载后输入java –version查看

 

 

 3.安装java

切换回hadoop用户,命令:su hadoop

查看下当前目标文件,命令:ls

新建一个app文件夹,命令:mkdir app

 

将桌面的hadoop文件夹中的javahadoop安装包移动到app文件夹中

命令:

mv /home/hadoop/Desktop/hadoop/jdk-8u141-linux-x64.gz   /home/hadoop/app

mv /home/hadoop/Desktop/hadoop/hadoop-2.7.0.tar.gz   /home/hadoop/app

 

解压java程序包,命令:tar –zxvf jdk-7u79-linux-x64.tar.gz

创建软连接

ln –s jdk1.8.0_141  jdk

 

 

 

配置jdk环境变量

切换到root用户

再输入vi  /etc/profile

输入

export  JAVA_HOME=/home/hadoop/app/jdk1.8.0_141

export JAVA_JRE=JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_JRE/lib

export PATH=$PATH:$JAVA_HOME/bin

 

 

 

保存退出,并使/etc/profile文件生效

source  /etc/profile

能查询jdk版本号,说明jdk安装成功

java  -version

 

 

 4.安装hadoop

切换回hadoop用户,解压缩hadoop-2.6.0.tar.gz安装包

 

 

 

创建软连接,命令:ln  -s   hadoop-2.7.0   hadoop

 

 

 

验证单机模式的Hadoop是否安装成功,命令:

hadoop/bin/hadoop  version

 

 

 

此时可以查看到Hadoop安装版本为Hadoop2.7.0,说明单机版安装成功。

 

查看Hadoop目录结构

 

[atguigu@hadoop101 hadoop-2.7.2]$ ll

 

总用量 52

 

drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 bin

 

drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 etc

 

drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 include

 

drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 lib

 

drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 libexec

 

-rw-r--r--. 1 atguigu atguigu 15429 5月  22 2017 LICENSE.txt

 

-rw-r--r--. 1 atguigu atguigu   101 5月  22 2017 NOTICE.txt

 

-rw-r--r--. 1 atguigu atguigu  1366 5月  22 2017 README.txt

 

drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 sbin

 

drwxr-xr-x. 4 atguigu atguigu  4096 5月  22 2017 share

重要目录

1bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本

2etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件

3lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)

4sbin目录:存放启动或停止Hadoop相关服务的脚本

5share目录:存放Hadoop的依赖jar文档和官方案例

 

5.配置伪分布式登录

进入hadoop/etc/hadoop目录,修改相关配置文件

cd etc/

cd hadoop/

 

 

 

修改core-site.xml配置文件

 

<configuration>
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/data/tmp</value>
</property>
<property>
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.hadoop.groups</name>
        <value>*</value>
</property>
</configuration>

 

 

 

 修改hdfs-site.xml配置文件

 

<configuration>
<property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/dfs/name</value>
        <final>true</final>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/dfs/data</value>
        <final>true</final>
</property>
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
<property>
        <name>dfs.permissions</name>
        <value>false</value>
</property>
</configuration>

 

 

 

 修改hadoop-env.sh配置文件

 

 

 修改mapred-site.xml.template配置文件

 

<configuration>
<property>
        <name>mapreduce.frameword.name</name>
        <value>yarn</value>
</property>
</configuration>

 

修改yarn-site.xml配置文件

 

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

 

配置hadoop环境变量

 

 

 使修改生效,命令:sourec  ~/.bashrc

创建hadoop相关数据目录

hadoop相关配置文件中配置了多个数据目录,提前建立这些文件夹

 

 

 格式化namenode

在启动hadoop集群前需要格式化namenode。需要注意的是,第一次安装Hadoop集群的时候需要格式化Namenode,以后直接启动Hadoop集群即可,不需要重复格式化Namenode

切回到hadoop目录,输入如下命令:

bin/hdfs  namenode -format

 

 

 启动hadoop伪分布式集群

sbin/start-all.sh

 

 

 启动完毕输入jps查看

 

 

 出现上面所有进程表示启动成功

通过网页访问

localhost:50070

 

 

 6.测试运行hadoop伪分布式集群

hadoop伪分布式集群搭建完成,通过命令查看hdfs根目录下没有任何文件

bin/hdfs dfs ls /

将之前本地新建的test.txt文件上传至hdfs

bin/hdfs dfs mkdir /data (在集群上新建一个数据文件夹)

bin/hdfs dfs put test.txt  /data(将本地的test文件上传到集群中的data文件夹)

运行wordcount程序计数

bin/hadoop  jar  share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar wordcount /data/test.txt  /data/output

查看运行结果

bin/hdfs dfs cat /data/output/*

 

posted @ 2019-09-02 19:00  但为君故。  阅读(8774)  评论(0编辑  收藏  举报