Ubuntu16.04-hadoop3.1.0安裝與配置
ubuntu16.04
hadoop
hadoop3.1.0
前言
本文嘗試原始碼安裝部署hadoop3.1.0
系統為ubuntu16.04
需要具有一定基礎,一些基本操作只是簡略帶過
我主要把各個部署方案的配置檔案綜合了起來,把一些常用的配置以及說明都寫了上來
適合快速部署hadoop的朋友
1 伺服器概覽
序號 | 主機名 | IP | 配置 | 功能 | 備註 |
---|---|---|---|---|---|
1 | master | 192.168.136.148 | 記憶體:4G CPU:2vCores |
主節點 namenode resourcemanager |
|
2 | standby | 192.168.136 | 記憶體:4G CPU:2vCores |
備用主節點 secondaryNameNode |
預設在master上 |
3 | slave1 | 192.168.136.149 | 記憶體:2G CPU:1vCores |
從節點 DataNode NodeManager |
|
4 | slave2 | 192.168.136.150 | 記憶體:2G CPU:1vCores |
從節點 DataNode NodeManager |
2 部署
2.1 配置hosts檔案,設定靜態IP與主機名
root@master:~# cat /etc/hosts
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.136.148 master
192.168.136.149 slave1
192.168.136.150 slave2
2.2 配置時間同步
2.3 關閉防火牆(centos關閉selinux)
2.4 配置master免密登入其它節點
2.5 JDK安裝
-
原始碼安裝或者apt安裝
環境變數(apt安裝不需要配置環境變數)
export JAVA_HOME=/opt/java/jdk1.8.0_172 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
2.6 安裝hadoop
下載hadoop,將其解壓至/opt/目錄下
[root@node1 opt]# cd /opt/ & mkdir hadoop && cd hadoop
#解壓hadoop-3.1.0.tar.gz
[root@node1 hadoop]# tar -zxvf hadoop-3.1.0.tar.gz
#修改環境變數
[root@node1 hadoop]# vim /etc/profile
# 在最後下新增
export HADOOP_HOME=/opt/hadoop/hadoop-3.1.0
export PATH=$PATH:$HADOOP_HOME/bin
source /etc/profile
2.7 編輯配置檔案
修改配置檔案
> 共需要配置/opt/hadoop/hadoop-3.1.0/etc/hadoop/下的六個個檔案,分別是
>
> hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、workers
2.7.1 hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/opt/java/jdk1.8.0_172/
export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"
2.7.2 core-site.xml
<configuration>
<!-- 指定HDFS老大(namenode)的通訊地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 指定hadoop執行時產生檔案的儲存路徑 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/data/tmp</value>
</property>
<!-- 指定hadoop流檔案的緩衝區,單位為K -->
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
2.7.3 hdfs-site.xml
<configuration>
<!-- 設定namenode的http通訊地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<!-- 設定secondarynamenode的http通訊地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>standby:50090</value>
</property>
<!-- 設定dfs塊大小,單位K,預設128Mb -->
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count </name>
<value>100</value>
</property>
<!-- 設定namenode存放的路徑 (最好指定多個路徑,包括NFS,用逗號分隔,便於容災)-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/name</value>
</property>
<!-- 設定hdfs副本數量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 設定datanode存放的路徑(可以指定多個路徑,多個路徑最好分別為不同的磁碟,提高效率) -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
2.7.4 mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/opt/hadoop/hadoop-3.1.0/etc/hadoop,
/opt/hadoop/hadoop-3.1.0/share/hadoop/common/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/common/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/hdfs/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/hdfs/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/yarn/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
2.7.5 yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!-- 配置外網只需要替換外網ip為真實ip,否則預設為 localhost:8088 -->
<!-- <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>外網ip:8088</value>
</property> -->
<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.ShuffleHandle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8040</value>
</property>
</configuration>
2.7.6 masters
新建一個masters的檔案,這裡指定的是secondary namenode 的主機
[root@node1 hadoop]# touch /opt/hadoop/hadoop-3.1.0/etc/hadoop/masters
[root@node1 hadoop]# vim /opt/hadoop/hadoop-3.1.0/etc/hadoop/masters
#新增
standby
2.7.7 workers
在workers檔案中新增slave節點
[root@node1 hadoop]# vim /opt/hadoop/hadoop-3.1.0/etc/hadoop/workers
#新增
slave1
slave2
2.7.8 建立資料夾
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/tmp
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/name
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/datanode
2.7.9 複製到其他主機
[root@node1 opt]# scp -r /opt/hadoop spark.node2:/opt/
[root@node1 opt]# scp -r /opt/hadoop spark.node3:/opt/
2.7.10 格式化 第一次啟動得格式化
[root@node1 opt]# /opt/hadoop/hadoop-3.1.0/bin/hdfs namenode -format
2.7.11 啟動
/opt/hadoop/hadoop-3.1.0/sbin/start-dfs.sh
/opt/hadoop/hadoop-3.1.0/sbin/start-yarn.sh
2.7.12 檢視
jps
3 關閉 【只在master上操作】
/opt/hadoop/hadoop-3.1.0/sbin/stop-dfs.sh
/opt/hadoop/hadoop-3.1.0/sbin/stop-yarn.sh
4 刪除(謹慎操作,只在master上操作)
重置hadoop環境 [移除hadoop hdfs log檔案]
rm -rf /opt/hadoop/hadoop-3.1.0/logs/*
rm -rf /opt/hadoop/data
寫在後面
這是本人的個人部落格,歡迎關注:
CSDN:弓昭的技術部落格
簡書:弓昭的簡書
如果有問題可以Email或留言與我交流:
PS: 每篇博文都有PDF版本,想要的朋友可以email我
參考連結:
相關文章
- 本地windows搭建spark環境,安裝與詳細配置(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)WindowsSparkJDKHadoop
- centos7 (阿里雲、linux) 單機spark的安裝與配置詳解(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)CentOS阿里LinuxSparkJDKHadoop
- MacVim安裝與配置Mac
- [Redis] 安裝與配置Redis
- 【MongoDB】安裝與配置MongoDB
- 【Redis】安裝與配置Redis
- 【MySQL】安裝與配置MySql
- vim安裝與配置
- jdk安裝與配置JDK
- Rabbitmq安裝與配置MQ
- MySQL安裝與配置MySql
- Nginx安裝與配置Nginx
- Grafana 安裝與配置Grafana
- Redis安裝與配置Redis
- Mahout安裝與配置
- Spark安裝與配置Spark
- Nginx 安裝與配置Nginx
- Kafka SSL安裝與配置Kafka
- Supervisor安裝與配置
- Mac Flutter安裝與配置MacFlutter
- macOS Java安裝與配置MacJava
- Centos安裝與配置RedisCentOSRedis
- Telnet安裝與配置
- Mac 安裝與配置mongodbMacMongoDB
- JAVA—JDK安裝與配置JavaJDK
- Tomcat安裝與配置Tomcat
- 【Jenskins】安裝與配置
- Hive的安裝與配置Hive
- PG的安裝與配置
- yum的安裝與配置
- NetBackup安裝與配置
- TortoiseGit安裝與配置(轉)Git
- Redis的安裝與配置Redis
- Vue的安裝與配置Vue
- WAS與IHS整合的安裝與配置
- 詳解:Flannel安裝與配置
- sqoop 安裝與配置使用OOP
- maven安裝與基礎配置Maven