Hadoop-集群搭建
大数据学习笔记整理 - Hadoop - 搭建hadoop集群
好久没有整理笔记了,最近硕士毕业,马上又要找工作了,offer 没着落,脱产读研几年,感觉就业形势反而更严峻了。想着能让简历多一点作品。
以前做的笔记,顺带回顾一下,还好印象笔记能同步
搭建集群
前提:需要设置hosts,虚拟机需要设置IP地址、MAC地址和主机名
host映射信息
- 格式:主机地址 主机名
在家目录下的.bashrc文件需要加入以下代码(no-login环境变量下可以执行java命令)
source /etc/profile
一、搭建HDFS
1.配置core-site.xml(设置NameNode的地址,指定运行时产生文件的存储目录)
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
2.配置hadfs-site.xml(设置datanode副本数量)
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:50090</value>
</property>
3.格式化nameNode(第一次启动时要格式化)
bin/hdfs namenode -format
4.启动NameNode的指令
sbin/hadoop-daemon.sh start namenode
5.启动DataNode的指令
sbin/hadoop-daemon.sh start datanode
二、搭建YARN
1.配置yarn-site.xml(指定YARN的ResourceManager地址)
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
2.将mapred-site.xml.template重命名为mapred-site.xml并配置
[tang@hadoop101 hadoop]$ mv mapred-site.xml.template mapred-site.xml
[tang@hadoop101 hadoop]$ vi mapred-site.xml
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.启动ResourcesManger
sbin/yarn-daemon.sh start resourcemanager
4.启动DataNode
bin/yarn-daemon.sh start nodemanager
注:启动RM和DN需要保证NameNode和DataNode已经启动
三、配置历史服务器
1.配置mapred-site.xml
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop101:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop101:19888</value>
</property>
2.启动历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver
3.查看历史服务器是否启动
注:只能在配置参数所指定的那台服务器上执行启动历史服务器的操作。
四、配置日志的聚集
1.配置yarn-site.xml
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
2.关闭NodeManager\ResourceManager和HistoryManager (启动就是start)
sbin/yarn-daemon.sh stop resourcemanager
//
sbin/yarn-daemon.sh stop nodemanager
//
sbin/mr-jobhistory-daemon.sh stop historyserver
五、配置SSH(需要注意权限)
1.生成公钥和私钥
ssh-keygen -t rsa
2.将公钥拷贝到目标机器上(需要拷给本机)
ssh-copy-id hadoop102
Q:是否可以设置一个脚本来拷贝公钥?
R:可以,核心代码如下:
#!/bin/bash
for((i=101;i<=103;i++))
do
echo -------hadoop$i------
ssh-copy-id hadoop$i
echo tang
done
如果需要实现自动输入密码需要加入expect实现
参考:如何在linux脚本自动输入密码
3.设置群发脚本XSYNC
#!/bin/bash
#校验
if(($#==0))
then
echo "请输入要分发的文件"
exit;
fi
#获取文件的绝对路径
dirname=$(cd `dirname $1` ; pwd -P)
filename=`basename $1`
echo "要分发的路径:$dirname/$filename"
user=`whoami`
#循环执行rsync 同步文件到集群
for((i=101;i<=103;i++))
do
echo -------hadoop$i-----------
rsync -rvlt $dirname/$filename $user@hadoop$i:$dirname
done
4.设置群发命令脚本xcall
#!/bin/bash
for((i=201;i<=203;i++))
do
echo ---------hadoop$i----------
ssh hadoop$i $*
done
echo "程序执行完毕!"
注意:如果将xsync放到/home/atguigu/bin目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin目录下。
六、群起脚本
启动HDFS: sbin/start-dfs.sh
启动YARN : sbin /start-yarn.sh
原理:
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)