Hadoop伪分布式模式安装

一.Hadoop介绍

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。Hadoop的框架最核心的设计就是:HDFS和MapReduce,HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。

二.安装Hadoop

环境:Docker(17.04.0-ce)、镜像Ubuntu(16.04.3)、Hadoop(3.1.0)、JDK(1.8.0_144)

1.运行dockeer容器,指定IP
faramita2016@linux-l9e6:~> docker run -id --net br0 --ip 10.0.0.3 ubuntu:ssh 
2.在容器中执行,安装pdsh、ssh、vim

root@98143465f943:~# apt-get update
root@98143465f943:~# apt-get install -y pdsh ssh vim

3.pdsh配置默认rcmd
root@98143465f943:~# echo "ssh" > /etc/pdsh/rcmd_default 
4.新建hadoop用户

root@98143465f943:~# useradd hadoop -m -g root -c /bin/bash
root@98143465f943:~# passwd hadoop
root@98143465f943:~# su - hadoop

5.解压Jdk和Hadoop

hadoop@98143465f943:~$ tar -xf jdk-8u144-linux-x64.tar.gz
hadoop@98143465f943:~$ tar -xf hadoop-3.1.0.tar.gz

6.编辑etc/hadoop/hadoop-env.sh文件,配置Java环境
export JAVA_HOME=/home/hadoop/jdk1.8.0_144
7.配置ssh免密登录

hadoop@98143465f943:~$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
hadoop@98143465f943:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
hadoop@98143465f943:~$ ssh localhost

8.编辑etc/hadoop/core-site.xml文件,添加如下配置

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

9.编辑etc/hadoop/hdfs-site.xml文件,添加如下配置

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

10.格式化文件系统
 hadoop@98143465f943:~$ hadoop-3.1.0/bin/hdfs namenode -format 
11.启动hdfs服务
 hadoop@98143465f943:~$ hadoop-3.1.0/sbin/start-dfs.sh 
12.浏览器访问http://10.0.0.3:9870

三.配置Yarn

1.创建hadoop用户默认文件夹
hadoop@98143465f943:~$ hadoop-3.1.0/bin/hdfs dfs -mkdir -p /user/hadoop 
2.编辑etc/hadoop/mapred-site.xml文件,添加如下配置

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

3.编辑etc/hadoop/yarn-site.xml文件,添加如下配置

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

4.启动Yarn服务
hadoop@98143465f943:~$ hadoop-3.1.0/sbin/start-yarn.sh 
5.浏览器访问http://10.0.0.3:8088

四.运行任务

1.创建hadoop任务输入文件夹
hadoop@98143465f943:~$ hadoop-3.1.0/bin/hdfs dfs -mkdir /user/hadoop/input 
2.添加xml文件做为输入文本
hadoop@98143465f943:~$ hadoop-3.1.0/bin/hdfs dfs -put hadoop-3.1.0/etc/hadoop/*.xml /user/hadoop/input 
3.执行单词统计示例任务,input输入文件夹,output输出文件夹(自动创建)

hadoop@98143465f943:~$ hadoop-3.1.0/bin/hadoop jar hadoop-3.1.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0.jar grep input output 'had[a-z.]+'

4.查看单词统计输出结果

五.HDFS命令

1) ls 显示目录下的所有文件或者文件夹
示例: hdfs dfs –ls /
显示目录下的所有文件可以加 -R 选项
示例: hdfs dfs -ls -R /

2) cat 查看文件内容
示例: hdfs dfs -cat /hadoop/test.txt

3) mkdir 创建目录
示例: hdfs dfs –mkdir /test
创建多级目录 加上 –p
示例: hdfs dfs –mkdir -p /user/hadoop

4) rm 删除目录或者文件
示例: hdfs dfs -rm /test.txt
删除文件夹加上 -r
示例: hdfs dfs -rm -r /hadoop

5) put 将文件复制到hdfs系统中,
示例:hdfs dfs -put /tmp/test.txt /hadoop

6) cp 复制系统内文件
示例:hdfs dfs -cp /hadoop/test.txt /hadoop/tmp

7) get 复制文件到本地系统
示例:hdfs dfs -get /hadoop/test.txt /tmp

8) mv 将文件从源路径移动到目标路径。
示例:hdfs dfs -mv /hadoop/test.txt /hadoop/tmp

9) du 显示目录中所有文件的大小
示例: hdfs dfs -du /
显示当前目录或者文件夹的大小可加选项 -s
示例: hdfs dfs -du -s /

六.安装异常

localhost: rcmd: socket: Permission denied异常

pdsh未配置默认rcmd,使用root用户执行
root@98143465f943:~# echo "ssh" > /etc/pdsh/rcmd_default

猜你喜欢

转载自www.cnblogs.com/faramita2016/p/9215055.html