Hadoop3.0.0伪分布式、完全分布式安装及其新特性介绍


一、Hadoop3.0.0三种运行模式安装过程介绍

1、Hadoop官方网站主页
http://hadoop.apache.org/

2、Hadoop-3.0.0安装包下载路径

3、Apache Hadoop 3.0.0 – Hadoop: Setting up a Single Node Cluster.
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

5、hadoop 3.0.0 alpha3 完全分布式集群安装 - 燃烧自己 - 博客园

6、hadoop 3.0.0 alpha3伪分布式和完全分布式安装笔记
https://zhuanlan.zhihu.com/p/27796092

7、hadoop3.0 分布式搭建/安装 - u010499619的博客 - 优快云博客

8、Hadoop3.0 安装配置_服务器应用_Linux公社-Linux系统门户网站

9、Hadoop3.0.0完全分布式集群搭建过程_百度文库

10、大讲台Hadoop3.0分布式集群搭建(HA)详细文档_大讲台
11、Hadoop三种安装模式 - 优快云博客
http://blog.youkuaiyun.com/liumm0000/article/details/13408855  

12、Hadoop伪分布式集群 - ximengchj - 博客园

13、运行hadoop时,遇到 WARN hdfs .DFSClient : Caught exception  java .lang .InterruptedException问题的解决方案 - 优快云博客



二、在YARN上运行mapreduce程序时,遇到物理内存、虚拟内存溢出、因Container的内存大小而抛出错误问题的解决方案

1、运行hadoop的时候提示物理内存或虚拟内存溢出的解决方案running beyond physical memory或者beyond vitual memory limits(物理机内存为2G溢出的解决方案)

2、Hadoop运行因为container的内存大小而抛错 - 优快云博客



三、Hadoop3.0.0新特性介绍

1、Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性 - 流风,飘然的风 - 博客园

2、hadoop3.0新特性 - 优快云博客

3、hadoop-3.0新特性 - corolcorona - 博客园

4、大数据生态系统基础:Hadoop(三):Hadoop 3.0.0 HDFS 体系结构 - 优快云博客
http://blog.youkuaiyun.com/caridle/article/details/77386914




四、Hadoop3.0.0伪分布式集群在本地虚拟机上安装过程(虚拟机内存为2G)


******************   Hadoop3.0.0伪分布式模式搭建(虚拟机2G内存)   **********************


安装参考网站:
1、Hadoop官方网站主页
http://hadoop.apache.org/

2、Hadoop-3.0.0安装包下载路径

3、Apache Hadoop 3.0.0 – Hadoop: Setting up a Single Node Cluster.
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

5、hadoop 3.0.0 alpha3 完全分布式集群安装 - 燃烧自己 - 博客园

6、hadoop 3.0.0 alpha3伪分布式和完全分布式安装笔记
https://zhuanlan.zhihu.com/p/27796092

7、hadoop3.0 分布式搭建/安装 - u010499619的博客 - 优快云博客

8、Hadoop3.0 安装配置_服务器应用_Linux公社-Linux系统门户网站

9、Hadoop3.0.0完全分布式集群搭建过程_百度文库

10、大讲台Hadoop3.0分布式集群搭建(HA)详细文档_大讲台
11、Hadoop三种安装模式 - 优快云博客
http://blog.youkuaiyun.com/liumm0000/article/details/13408855 ;

12、Hadoop伪分布式集群 - ximengchj - 博客园

13、运行hadoop时,遇到 WARN hdfs .DFSClient : Caught exception  java .lang .InterruptedException问题的解决方案 - 优快云博客




##在YARN上运行mapreduce程序时,遇到物理内存、虚拟内存溢出、因Container的内存大小而抛出错误问题的解决方案

(1)运行hadoop的时候提示物理内存或虚拟内存溢出的解决方案running beyond physical memory或者beyond vitual memory limits(物理机内存为2G的解决方案)

(2)Hadoop运行因为container的内存大小而抛错 - 优快云博客



##运行hadoop时,遇到 WARN hdfs .DFSClient : Caught exception  java .lang .InterruptedException 问题的解决方案 - 优快云博客




下载安装JDK1.8并配置环境变量
sudo cp jdk-8u151-linux-x64.tar.gz /opt
cd /opt
ls

sudo tar -zxvf jdk-8u151-linux-x64.tar.gz
sudo chown -R liyou:liyou jdk1.8.0_151

sudo vi /etc/profile

export JAVA_HOME=/opt/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile




把hadoop安装到/opt/hadoop目录下:
sudo cp hadoop-3.0.0.tar.gz /opt

cd /opt

sudo tar -zxvf hadoop-3.0.0.tar.gz


修改hadoop-3.0.0目录的所有者为用户自己
sudo chown -R liyou:liyou hadoop-3.0.0


创建软链接hadoop指向hadoop-3.0.0
sudo ln -s hadoop-3.0.0 hadoop

修改hadoop软链接的所有者为用户自己
sudo chown -R liyou:liyou hadoop



cd hadoop
ls


在/opt/hadoop/目录下,系统会自动创建tmp、hdfs/name、hdfs/data目录,这些目录用来存储namenode元数据、datanode数据和临时文件等,故不需要执行如下命令:
mkdir tmp 
mkdir hdfs 
mkdir hdfs/data 
mkdir hdfs/name




sudo vi /etc/profile

在上面的JDK配置后面追加以下内容
export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

source /etc/profile





编辑/etc/hosts文件,修改主机名与IP地址的对应关系
sudo vi /etc/hosts

192.168.23.132 ubuntu


在Linux中查看ip地址使用 ifconfig 命令
192.168.23.132




Hadoop配置 
进入/opt/hadoop/etc/hadoop目录,
hadoop3.0需要配置的文件有hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml


1)配置hadoop-env.sh
vi hadoop-env.sh

# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
# export JAVA_HOME=
export JAVA_HOME=/opt/jdk1.8.0_151


2)配置core-site.xml
cd /opt/hadoop/etc/hadoop

vi core-site.xml

添加如下配置:

<configuration>
 <property>
    <name>fs.defaultFS</name>
    <value>hdfs://ubuntu:9000</value>
    <description>HDFS的URI,文件系统://namenode标识:端口号</description>
 </property>

 <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
    <description>namenode上本地的hadoop临时文件夹</description>
 </property>
</configuration>



3)配置hdfs-site.xml 
vi hdfs-site.xml

添加如下配置

<configuration>
 <property>
    <name>dfs.name.dir</name>
    <value>/opt/hadoop/hdfs/name</value>
    <description>namenode上存储hdfs名字空间元数据 </description> 
 </property>

 <property>
    <name>dfs.data.dir</name>
    <value>/opt/hadoop/hdfs/data</value>
    <description>datanode上数据块的物理存储位置</description>
 </property>

 <property>
    <name>dfs.replication</name>
    <value>1</value>
    <description>副本个数,配置默认是3,应小于datanode机器数量</description>
 </property>

 <property>
    <name>dfs.permissions</name>
    <value>false</value>
 </property>
  
</configuration>



6)配置mapred-site.xml
vi mapred-site.xml
 
添加如下配置:

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

 <property>
    <name>mapreduce.map.memory.mb</name>
    <value>2048</value>
    <description>优化map任务所占内存(虚拟机内存为2G)</description>
 </property>  
</configuration>



7)配置yarn-site.xml
vi 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>

 <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    <description>优化yarn所占内存</description>
 </property>

 <property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>5</value>
    <description>优化yarn所占内存</description>
 </property>

</configuration>




Ubuntu 安装配置SSH(ssh: connect to host localhost port 22: Connection refused问题的解决)
Ubuntu默认并没有安装ssh服务,如果通过ssh链接Ubuntu,需要自己手动安装openssh-server。判断是否安装ssh服务,可以通过如下命令进行:
(1)ssh localhost

问题分析如下:出现这个问题是因为Ubuntu默认没有安装openssh-server,我们用一个命令来看下,如果只有agent,说明没有安装openssh-server,命令如下:
(2)ps -e|grep ssh

既然问题找到了,我们就开始用命令来安装openssh-server,命令如下:

(3)sudo apt-get install openssh-server

安装完成后,我们再用ps -e|grep ssh命令来看下,openssh-server安装上去没有。输入命令后出现如下截图,说明安装完毕,图中sshd就是我们所安装的。

(4)ps -e|grep ssh

最后,我们通过ssh localhost命令来看下,这个命令主要用来连接本机如果出现要输入密码,说明成功。

(5)ssh localhost 

exit   退出连接





配置主从节点之间互相免密码登录(注:伪分布式模式只需要设置免密码登陆本机,只需要操作如下所示在master节点的第(1)步操作)

     备注:  pwd   查看文件路径命令

(1)先在master主节点上操作:

     ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
     cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


之后,进入/home/liyou/.ssh目录,删除id_dsa.pub文件

     cd /home/liyou/.ssh
     rm id_dsa.pub


(2)在slave1从节点上操作:

     ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

之后,进入/home/liyou/.ssh目录,远程复制id_dsa.pub文件至master主节点/home/liyou/.ssh目录

     cd /home/liyou/.ssh
     sudo scp id_dsa.pub liyou@master:/home/liyou/.ssh
     

(3)在master主节点上操作:

    先进入/home/liyou/.ssh目录,查看目录下有没有id_dsa.pub,之后,追加id_dsa.pub至authorized_keys文件中,接着后面,删除id_dsa.pub文件

    cd /home/liyou/.ssh
    ls     
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    rm id_dsa.pub


(4)在slave2从节点上操作:

     ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

之后,进入/home/liyou/.ssh目录,远程复制id_dsa.pub文件至master主节点/home/liyou/.ssh目录

     cd /home/liyou/.ssh
     sudo scp id_dsa.pub liyou@master:/home/liyou/.ssh
     

(5)在master主节点上操作:

    先进入/home/liyou/.ssh目录,查看目录下有没有id_dsa.pub,之后,追加id_dsa.pub至authorized_keys文件中,接着后面,删除id_dsa.pub文件

    cd /home/liyou/.ssh
    ls     
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    rm id_dsa.pub


(6)在master主节点上操作:

     进入/home/liyou/.ssh目录,分别远程复制/home/liyou/.ssh目录下的authorized_keys文件至slave1、slave2从节点/home/liyou/.ssh目录下。

     cd /home/liyou/.ssh
     ls

     scp authorized_keys liyou@slave1:/home/liyou/.ssh
     scp authorized_keys liyou@slave2:/home/liyou/.ssh



(7)验证主从节点之间互相免密码登录,不需要输入密码即可登录。

     在master主节点上操作:ssh localhost;  ssh slave1;  ssh slave2;

     在slave1从节点上操作:ssh localhost;  ssh slave1;  ssh slave2;

     在slave2从节点上操作:ssh localhost;  ssh slave1;  ssh slave2;





进入/opt/hadoop目录,格式化namenode节点
cd /opt/hadoop
ls

bin/hadoop namenode -format



进入/opt/hadoop/sbin目录下启动hadoop集群 
cd opt/hadoop/sbin
ls
./start-all.sh


使用jps命令查看进程,检验hadoop集群是否已经启动。


进入sbin目录下关闭hadoop集群 
./stop-all.sh



使用jps命令查看进程,检验hadoop集群是否已经启动。


进入sbin目录下关闭hadoop集群 
./stop-all.sh



Hadoop3程序实例程序运行
进入hadoop目录
cd /opt/hadoop
ls

hadoop fs -mkdir /user
hadoop fs -mkdir /user/liyou

hadoop fs -mkdir input
hadoop fs -put etc/hadoop/*.xml input

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar grep input output 'dfs[a-z.]+'


查看程序运行结果

hadoop fs -cat output/*

运行结果为:
1 dfsadmin
1 dfs.replication
1 dfs.permissions
1 dfs.name.dir
1 dfs.data.dir






查看Hadoop3伪分布式集群HDFS界面


查看Hadoop3伪分布式集群ResurceManager界面




查看HDFS文件目录,若要下载HDFS里面的文件。

需要先配置windows本地hosts文件。

进入C:\Windows\System32\drivers\etc\hosts\目录

修改目录下的hosts文件,在里面添加对应的IP地址和主机名
 
192.168.23.132     ubuntu



 


编辑/etc/hosts文件,修改主机名与IP地址的对应关系
sudo vi /etc/hosts

192.168.23.132 ubuntu


在Linux中查看ip地址使用 ifconfig 命令
192.168.23.132


切换到root用户登录,修改主机名,分别修改为ubuntu

切换到root用户
sudo su


完整:
第一步:
hostname ubuntu   //修改主机名为ubuntu

第二步:
修改/etc目录中的hostname
vi /etc/hostname

第三步:
修改/etc/hosts文件
vi /etc/hosts
之后重新启动Linux系统。



pwd   查看文件路径命令







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行走的数据智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值