写点什么

大数据知识专栏 1-Hadoop 环境安装

用户头像
小马哥
关注
发布于: 2021 年 01 月 09 日
大数据知识专栏1-Hadoop环境安装

主要内容

1, 编译 Hadoop 包;

2, 安装配置 Hadoop 集群

集群架构:(试验环境)


准备

1, 三个节点规模的虚拟机环境

2, 安装 JDK, maven, findbugs, protobuf, snappy

3, 下载好 hadoop 源码包

镜像地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable2/

下载: hadoop-2.10.1-src.tar.gz

编译源码过程

tip: 为什么要编译源码包?

1, 由于 appache 给出的 hadoop 的安装包没有提供带 C 程序访问的接口,所以我们在使用本地库 (本地库可以用来做压缩,以及支持 C 程序等等)的时候就会出问题;

2, 不支持 snappy 的压缩;

1, 安装 JDK

环境变量设置:

exprot JAVA_HOME=/xxxexprot PATH=:$JAVA_HOME/bin/:$PATH
复制代码

2, 安装 maven

步骤 1, 上传 apache-maven-3.0.5-bin.tar.gz 到虚拟机并解压

tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/

mv apache-maven-3.0.5 maven3

步骤 2, 修改 maven 配置文件 settings.xml

创建目录, 用于保存 maven 下载的 jar 包:

mkdir /opt/maven3/mvRepository

修改 conf/settings 文件

vim /opt/maven3/conf/settings.xml

指定仓库目录

<localRepository>/opt/maven3/mvRepository</localRepository>

指定 maven 下载镜像地址(目的, 提高 maven 下载 jar 包的速度,这里采用阿里云镜像)

<mirror>

<id>alimaven</id>

<mirrorOf>central</mirrorOf>

<name>aliyun maven</name>

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

</mirror>

步骤 3, 修改环境变量

vi /etc/profile

exprot MAVEN_HOME=/opt/maven3

export MAVEN_OPTS="-Xms4096m -Xmx4096m"

export PATH=:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH

关闭profile文件

source /etc/profile

3, 安装 findbugs

步骤 1, 解压缩 findbugs-1.3.9.tar.gz;

tar -zxvf findbugs-1.3.9.tar.gz -C /opt/

步骤 2, 添加环境变量

export FINDBUGS_HOME=/opt/findbugs-1.3.9

export PATH=:$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH

关闭profile文件

source /etc/profile

4, 安装其他依赖包

yum install autoconf automake libtool cmake

yum install ncurses-devel

yum install openssl-devel

yum install lzo-devel zlib-devel gcc gcc-c++

yum install -y bzip2-devel

5, 安装 protobuf

步骤 1: 解压

tar -zxvf ./protobuf-2.5.0.tar.gz -C /opt/

步骤 2: 编译

cd ./protobuf-2.5.0/

./configure

make && make install

6, 安装 snappy

步骤 1: 解压

tar -zxvf ./snappy-1.1.1.tar.gz -C /opt/

步骤 2: 编译

cd ./snappy-1.1.1/

./configure

make && make install


7, 编译 hadoop

mvn package

出现 build success

找到安装包 hadoop-xxx.tar.gz

步骤 1: 解压缩

步骤 2: 编译

mvn package -DskipTests -Pdist,native -Dtar -Drequire.snappy -e -X


Hadoop 安装过程

1, 上传源码包

上传到虚拟机 node1, 解压到自定义目录;

测试当前包的功能支持: bin/hadoop checknative

2, 修改配置文件

core-site.xml

指定文件系统类型: 分布式文件系统

指定文件存储目录

指定缓冲区大小

开启 hdfs 的垃圾桶机制

<configuration> 
<property>
<name>fs.default.name</name>
<value>hdfs://node1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop2/hadoopDatas/tempDatas</value>
</property>
<!-- 缓冲区大小,实际工作中根据服务器性能动态调整 -->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
</configuration>
复制代码

hdfs-site.xml

访问 SecondaryNameNode 的地址

访问主节点 NameNode 的地址和端口

指定 NameNode 存储元数据的存放位置

指定 DataNode 的存放位置

指定 NameNode 日志文件的存放位置

指定文件切片的副本个数

设置 hdfs 的权限: 关闭, 后期可以设置

设置一个文件切片 block 的大小: 128M

<configuration><property><name>dfs.namenode.secondary.http-address</name><value>node1:50090</value> </property><property> <name>dfs.namenode.http-address</name><value>node1:50070</value></property><property><name>dfs.namenode.name.dir</name><value>file:///opt/bigdata/hadoop2/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value> </property> <!-- 定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割 --> <property> <name>dfs.datanode.data.dir</name> <value>file:///opt/bigdata/hadoop2/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value> </property> <property> <name>dfs.namenode.edits.dir</name> <value>file:///opt/bigdata/hadoop2/hadoopDatas/nn/edits</value> </property> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:///opt/bigdata/hadoop2/hadoopDatas/snn/name</value> </property> <property> <name>dfs.namenode.checkpoint.edits.dir</name> <value>file:///opt/bigdata/hadoop2/hadoopDatas/dfs/snn/edits</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> <property><name>dfs.blocksize</name><value>134217728</value></property></configuration>
复制代码

hadoop-env.sh

配置 JAVA_HOME

export JAVA_HOME=/opt/jdk7

mapred-site.xml

(通过模板任务来重命名一个)

开启 mapreduce 的小任务模式: ubertask.enable

设置 jobhistory.address 历史任务的主机和端口

设置通过网页来访问历史任务信息的主机和端口 webapp.address

<configuration>
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
</configuration>
复制代码

yarn-site.xml

主节点 ResourceManager 的位置

开启日志的聚合功能: log-aggregation

设置聚合日志在 hdfs 的保存时间

设置 yarn 集群的内存分配方案

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
</configuration>
复制代码

mapred-env.sh

配置 JAVA_HOME

export JAVA_HOME=/opt/jdk7
复制代码

slaves

子节点有哪些

node1node2node3
复制代码

3, 创建必要的目录

在第一个节点创建必要的目录

mkdir -p /opt/bigdata/hadoop2/hadoopDatas/tempDatasmkdir -p
/opt/bigdata/hadoop2/hadoopDatas/namenodeDatasmkdir -p
/opt/bigdata/hadoop2/hadoopDatas/namenodeDatas2mkdir -p
/opt/bigdata/hadoop2/hadoopDatas/datanodeDatasmkdir -p
/opt/bigdata/hadoop2/hadoopDatas/datanodeDatas2mkdir -p
/opt/bigdata/hadoop2/hadoopDatas/nn/editsmkdir -p
/opt/bigdata/hadoop2/hadoopDatas/snn/namemkdir -p
/opt/bigdata/hadoop2/hadoopDatas/dfs/snn/edits
复制代码


将配置好的安装包, 分发到其余节点

cd /opt/bigdata/
scp -r hadoop2 node2:$PWD
scp -r hadoop2 node3:$PWD
复制代码

4, 配置环境变量

添加 HADOOP_HOME

export HADOOP_HOME=/opt/bigdata/hadoop2export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile
复制代码

5, 启动集群

cd /opt/bigdata/hadoop2
bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver
复制代码

6, 查看启动情况

http://node1:50070/explorer.html#/ 查看 hdfs

http://node1:8088/cluster 查看 yarn 集群

http://node1:19888/jobhistory 查看历史完成的任务


发布于: 2021 年 01 月 09 日阅读数: 26
用户头像

小马哥

关注

自强不息,厚德载物 2018.12.22 加入

像一棵竹子那样, 不断的扎根积累, 活出节节高的人生!

评论 (1 条评论)

发布
用户头像
重新发了一篇, 调整格式, 见下一博文
2021 年 01 月 10 日 23:43
回复
没有更多了
大数据知识专栏1-Hadoop环境安装