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
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>
  • 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>
2.6 啓動
hadoop namenode -format   # 格式化
$HADOOP_HOME/sbin/start-all.sh # 啓動
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章