一、Hadoop3.0.0三种运行模式安装过程介绍
3、Apache Hadoop 3.0.0 – Hadoop: Setting up a Single Node Cluster.
3、Apache Hadoop 3.0.0 – Hadoop: Setting up a Single Node Cluster.
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html
4、Apache Hadoop 3.0.0 – Hadoop Cluster Setup
4、Apache Hadoop 3.0.0 – Hadoop Cluster Setup
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html
二、在YARN上运行mapreduce程序时,遇到物理内存、虚拟内存溢出、因Container的内存大小而抛出错误问题的解决方案
三、Hadoop3.0.0新特性介绍
1、Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性 - 流风,飘然的风 - 博客园
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内存) **********************
3、Apache Hadoop 3.0.0 – Hadoop: Setting up a Single Node Cluster.
四、Hadoop3.0.0伪分布式集群在本地虚拟机上安装过程(虚拟机内存为2G)
****************** Hadoop3.0.0伪分布式模式搭建(虚拟机2G内存) **********************
安装参考网站:
3、Apache Hadoop 3.0.0 – Hadoop: Setting up a Single Node Cluster.
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html
4、Apache Hadoop 3.0.0 – Hadoop Cluster Setup
4、Apache Hadoop 3.0.0 – Hadoop Cluster Setup
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 查看文件路径命令