hadoop_ 快速搭建_1host

1 root用户配置

1.1 设置静态ip
  • 修改网络文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33
NM_CONTROLLED=no		# 不使用网络管理器控制
ONBOOT=yes				# 开启启动

BOOTPROTO=static		# [none|static|bootp|dhcp](不使用|静态IP|BOOTP协议|DHCP协议)
IPADDR=10.10.10.81		# 本机地址
NETMASK=255.255.255.0	# 子网掩码
GATEWAY=10.10.10.2		# 默认网关
DNS1=8.8.8.8
DNS2=8.8.4.4
  • 重启网络:service network restart
1.2 修改主机名称

hostnamectl set-hostname lx81

1.3 配置hosts
  • vi /etc/hosts
10.10.10.81 lx81
1.4 修改时区
ln -sb /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  # 时区文件软连接覆盖
timedatectl 											 # 显示当前时间信息
1.5 关闭防火墙
systemctl stop firewalld 		# 关闭:
firewall-cmd --state 			# 显示状态
systemctl disable firewalld 	# 禁止开启启动:`
systemctl is-enabled firewalld 	# 查看是否开机启动:
1.6 安装java
  • 删除原来的java
rpm -qa | grep java # 查看是否安装java
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64 

yum -y remove java	# 删除原版本java
  • 安装java
tar xzvf jdk1.8.0_211.tar.gz
mv jdk1.8.0_211 /usr/lib/

echo 'export JAVA_HOME=/usr/lib/jdk1.8.0_211' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile
  • 分发java
1.7 创建用户,并开启免密登录
useradd hadoop
passwd hadoop
chmod +w /etc/sudoers
echo 'hadoop ALL=(root)NOPASSWD:ALL'  >> /etc/sudoers  # 免密登录权限
# 或者hadoop ALL=(ALL) ALL
chmod -w /etc/sudoers

2 hadoop用户配置

2.1 配置SSH

【逻辑,机器可以免密登录另外一个拥有自己公钥的主机】
【原理,机器发送公钥到目标,目标计算公钥返回私钥,返回的私钥和本机一致则验证成功】

ssh-keygen -t rsa 												# 生成密钥文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 				# 配置密钥,加入公钥
chmod 600 ~/.ssh/authorized_keys								# 修改密钥文件权限
chmod 700 ~/.ssh 												
2.2 编辑用户环境变量
  • vi ~/.bash_profile
export HADOOP_HOME=$HOME/program/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
  • source ~/.bash_profile
2.3 安装hadoop
tar xzvf hadoop-3.2.0.tar.gz
mv hadoop-3.2.0 $HADOOP_HOME
2.4 执行环境指定jave_home路径
echo 'export JAVA_HOME=/usr/lib/jdk1.8.0_211' >>  $HADOOP_HOME/etc/hadoop/hadoop-env.sh
echo 'export JAVA_HOME=/usr/lib/jdk1.8.0_211' >>  $HADOOP_HOME/etc/hadoop/yarn-env.sh
2.5 配置hadoop的xml文件
  • vi $HADOOP/etc/hadoop/core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <!-- HDFS(分布式文件储存系统)的NameService,是NameNode的URL -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://lx81:9000</value>
  </property>

  <!-- hadoop临时文件目录-->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/program/hadoop/tmp/hatmp</value>
  </property>

  <!-- 指定任何ip可以访问 -->
  <property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
  </property>

  <!-- 指定所有账号可以访问 -->
  <property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
  </property>
</configuration>
  • vi $HADOOP/etc/hadoop/hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
 <!-- 备用主机地址 -->
 <property>
   <name>dfs.namenode.secondary.http-address</name>
   <value>lx81:50090</value>
 </property>

 <!-- NameNode名称空间存储地址 -->
 <property>
     <name>dfs.namenode.name.dir</name>
     <value>/home/hadoop/program/hadoop/tmp/namenode</value>
 </property>

 <!-- 指定HTTP通讯地址 -->
 <property>
   <name>dfs.namenode.http-address</name>
   <value>lx81:50070</value>
 </property>

 <!-- 冗余数量 -->
 <property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>

 <!-- DataNode数据存储地址 -->
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/home/hadoop/program/hadoop/tmp/datanote</value>
 </property>
</configuration>

 <!-- 文件块大小 -->
 <property>
   <name>dfs.block.size</name>
   <value>134217728</value><!--修改为128M -->
   <description>Block size</description>
 </property>
  • vi $HADOOP/etc/hadoop/yarn-site.xml
<?xml version="1.0"?>

<configuration>
   <!-- NM(NodeManager)的附属服务,需要设置成mapreduce_shuffle才能运行MapReduce任务 -->
   <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
   </property>

   <!-- 其应用访问管理接口 -->
   <property>
       <name>yarn.resourcemanager.address</name>
       <value>lx81:8032</value>
   </property>

   <!-- 调度接口地址 -->
   <property>
       <name>yarn.resourcemanager.scheduler.address</name>
       <value>lx81:8030</value>
   </property>

   <!-- RM的Web访问地址 -->
   <property>
       <name>yarn.resourcemanager.webapp.address</name>
       <value>lx81:8088</value>
   </property>

   <!-- 向rm汇报心跳,领取任务的地址-->
   <property>
       <name>yarn.resourcemanager.resource-tracker.address</name>
       <value>lx81:8031</value>
   </property>

   <!-- RM管理员接口地址 -->
   <property>
       <name>yarn.resourcemanager.admin.address</name>
       <value>lx81:8033</value>
   </property>

   <!-- 启动聚合操作日志 -->
   <property>
       <name>yarn.log-aggregation-enable</name>
       <value>true</value>
</property>
</configuration>
  • vi $HADOOP/etc/hadoop/mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
   <!-- 计算任务托管的资源管理名称 -->
   <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
   </property>

   <!-- 配置MapReduce JobHistory Server 地址,默认端口10020 -->
   <property>
     <name>mapreduce.jobhistory.address</name>
     <value>0.0.0.0:10020</value>
   </property>

   <!-- 配置MapReduce JobHistory Server Web 地址,默认端口19888 -->
   <property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>0.0.0.0:19888</value>
   </property>
</configuration>
  • vi $HADOOP/etc/hadoop/workers
master

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/opt/jdk1.8.0_211
2.6 启动
hadoop namenode -format   # 格式化
$HADOOP_HOME/sbin/start-all.sh # 启动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值