首页 > 其他 > 详细

Hadoop入坑系列

时间:2021-03-05 15:55:32      阅读:23      评论:0      收藏:0      [点我收藏+]

我用的系统是ubuntu20.04,因为想学习大数据方面的东西,首先接触的就是hadoop,我选择的书籍是林大贵老师的python3+Hadoop+spark,今晚折腾了一晚上,终于把hadoop单机折腾了跑通了。这个文章记录了入坑的详细细节

下面是目录步骤:

  1. 安装JDK

(1)到官网下载jdk最新版
http://www.oracle.com/technetwork/java/javase/downloads/index.html,(另一种方案是选择从apt安装,如果机器上没有java,在终端键入java就会提示安装,这时ubuntu很人性的一个细节)

(2)将下载的压缩包文件拷贝到/usr/loacal/,解压缩,建立链接,更改目录所有者。

(3)配置环境变量

  1. 设置SSH无密码登陆

(1)安装SSH

(2)安装rsync

(3)生成SSH Key

(4)将产生的key放到许可证文件中

  1. 下载安装Hadoop

(1)下载Hadoop2.6.4,并安装到Ubuntu中。http://archive.apache.org/dist/hadoop/core/hadoop-2.6.4/

(2)Hadoop常用目录说明

  1. 设置Hadoop环境变量

(1)设置每次用户登陆时必须要设置的环境变量。

(2)使环境变量生效

  1. Hadoop配置文件的设置

(1)设置hadoop-env.sh

(2)设置core-site.xml

(3)设置YARN-site.xml

(4)设置mapred-site.xml

(5)设置hdfs-site.xml

  1. 创建并格式化HDFS目录

(1)创建namenode数据存储目录

(2)创建datanode数据存储目录

(3) 将HDFS进行格式化

  1. 启动Hadoop

  2. java环境的准备

安装配置完成后下面命令可以查看java的版本:

Java –version

由于我之前配置过java环境,但是配置时候遇到一个问题,忘了java’的安装路径,后来找到这个命令,可以查看java的安装路径:

Java -verbase

命令可以显示系统中java的环境,如图:
技术分享图片

这个很重要,因为在后面的配置时候用得到。

  1. SSH密钥的准备

1)、安装ssh:

sudo apt-get install ssh

2)、安装rsync

sudo apt-get install rsync

Ps:这两个东西我觉得除了裸机应该都会有用到,易班都有

3)、产生ssh密钥

这一步很重要!
因为当我一切准备就绪启动服务时候,发现要求输入密码!又回过头重新做

首先运行

ssh localhost

如果还要输入密码的话,那就是你ssh没有配置好。这里要说一下的是ssh7.0之后就关闭了dsa的密码验证方式,如果你的秘钥是通过dsa生成的话,需要改用rsa来生成秘钥

ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

这里记录一下,>>的作用是将上一个指令的结果输出到指定文件,如果不存在,会新建文件,如果文件是已有的,会跟写到文件的末尾

再次运行

ssh localhost

如果不需要输入密码,说明ssh配置好了。后面就可以正常运行start-all.sh文件了

  1. Hadoop的安装

访问hadoop官网,浏览历史版本。复制2.6.4版本的链接,然后回终端,

./media/image2.png

使用命令wget获取安装包:

wget
https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz

然后解包,移动到usr/local/hadoop目录下:

cd /usr/local

sudo cp ~/下载/hadoop-2.6.4.tar.gz ./

sudo tar -xvzf hadoop-2.6.4.tar.gz

sudo ln -s hadoop-2.6.4 hadoop

把hadoop目录的归属权授予当前用户:

sudo chown -R wy:wy hadoop

Hadoop目录结构如下:

技术分享图片

目录说明如下:

(2)Hadoop常用目录说明

目录 说明
bin/ 各项运行文件,包括Hadoop,HDFS,YARN等
sbin/ 各项shell运行文件,包括start-all.sh、stop-all.sh
etc/ etc/hadoop子目录包含Hadoop配置文件,例如:hadoop-env.sh、core-site.xml、YARN-site.xml
lib/ Hadoop函数库
logs/ 系统日志,可以查看系统运行情况,运行有问题时可从日志找出错误原因
  1. Hadoop配置:

(1)设置每次用户登陆时必须要设置的环境变量。

export JAVA\_HOME=/usr/bin/jvm/java\_open\_11

export HADOOP\_HOME=/usr/local/hadoop

export PATH=\$PATH:\$HADOOP\_HOME/bin

export PATH=\$PATH:\$HADOOP\_HOME/sbin

export HADOOP\_MAPRED\_HOME=\$HADOOP\_HOME

export HADOOP\_COMMON\_HOME=\$HADOOP\_HOME
export HADOOP\_HDFS\_HOME=\$HDOOP\_HOME

export YARN\_HOME=\$HADOOP\_HOME

export HADOOP\_COMMON\_LIB\_NATIVE\_DIR=\$HADOOP\_HOME/lib/native

export HADOOP\_OPTS="-Djava.library.path=\$HADOOP\_HOME/lib"

export JAVA\_LIBRARY\_PATH=\$HADOOP\_HOME/lib/native:\$JAVA\_LIBRARY\_PATH

(2)使环境变量生效

source \~/.bashrc

1

  1. Hadoop配置文件的设置

在Hadoop的/usr/local/hadoop/etc/hadoop目录下有很多配置设置文件,通过编辑这些文件来启用基本或是更高级的功能。

(1)设置hadoop-env.sh

hadoop-env.sh是Hadoop的配置文件,在这里必须设置Java的安装路径。

修改JAVA_HOME设置

export JAVA_HOME=/usr/local/java

1

(2)设置core-site.xml

在core-site.xml中,必须设置HDFS的默认名称,当我们使用命令或程序要存取HDFS时,可使用此名称。

设置HDFS默认名称

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

(3)设置YARN-site.xml

YARN-site.xml文件中包含有MapReduce2(YARN)相关的配置设置

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

</configuration>

(4)设置mapred-site.xml

mapred-site.xml用于设置监控Map与Reduce程序的JobTracker任务分配情况以及TaskTracker任务运行情况。

拷贝一份mapreduce框

cp mapred-site.xml.template mapred-site.xml

1

设置mapreduce框架为yarn

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

(5)设置hdfs-site.xml

hdfs-site.xml用于设置HDFS分布式文件系统。

分别设置blocks副本备份数量,设置NameNode数据存储目录,设置DataNode数据存储目录。

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>

</property>

</configuration>

  1. 创建并格式化HDFS目录

HDFS目录是存储HDFS文件的地方,在启动Hadoop之前必须先创建并格式化HDFS目录。

(1)创建namenode数据存储目录

mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode

1

(2)创建datanode数据存储目录

mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode

1

(3) 将HDFS进行格式化

hadoop namenode -format

1

此条命令会删除所有的数据

  1. 启动Hadoop

全部设置完成就可以开始启动Hadoop,并查看Hadoop相关进程是否已经启动

同时启动HDFS和MapReduce框架Yarn

start-all.sh

如下图:

./media/image4.png

使用jps查看已经启动的进程

jps

如下图:

./media/image5.png

成功后打开本地url:

Localhost:8088

如下图:

技术分享图片

点击Nodes就可以看到当前运行的节点,因为现在只配置类一台主机,所有也就只有一个节点,如下图:

技术分享图片

Hadoop入坑系列

原文:https://www.cnblogs.com/wheaesong/p/14486409.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!