Hadoop的安装与配置——搭建完全分布式集群
一、搭建集群
1、準備服務器(這里以我的3臺Centos7為例)
- 1個主節點:Carlota1(192.168.33.21),
- 2個子節點:Carlota2(192.168.33.22),Carlota3(192.168.33.23)
2、配置主節點名
在主節點命令行輸入: vi /etc/sysconfig/network 添加內容:
NETWORKING=yes HOSTNAME=Carlota13、配置兩臺子節點名
分別在子節點命令行輸入: vi /etc/sysconfig/network 添加內容:
NETWORKING=yes HOSTNAME=Carlota2 NETWORKING=yes HOSTNAME=Carlota34、配置hosts
打開主節點的hosts文件,注釋掉 將文件的前兩行(當前主機的信息),并在文件中添加所有hadoop集群的主機信息。
在命令行輸入: vi /etc/hosts ,添加3臺服務器的節點名信息:
192.168.33.21 Carlota1 192.168.33.22 Carlota2 192.168.33.23 Carlota3保存之后,分別將主節點的hosts分別拷貝到其他兩個子節點:
- scp /etc/hosts root@192.168.33.22:/etc/
- scp /etc/hosts root@192.168.33.23:/etc/
分別執行 /bin/hostname hostsname 使更改生效,(例如:Carlota1上執行 /bin/hostsname Carlota1,使之生效。)(重啟可以代替/bin/hostname hostsname命令)
5、關閉防火墻
6、配置ssh無密碼訪問(使每個節點上的/root/.ssh/authorized_keys文件中都包含所有的節點生成的公鑰內容)
- 生成公鑰密鑰對:在每個節點上分別執行命令行輸入:ssh-keygen -t rsa , 一直按回車或Yes直到生成結束(執行結束之后每個節點上的/root/.ssh/目錄下生成了兩個文件 id_rsa 和 id_rsa.pub其中前者為私鑰,后者為公鑰)
- 在主節點上執行命令行輸入:cp id_rsa.pub authorized_keys
- 將兩個子節點的公鑰拷貝到主節點上,分別在兩個子節點上執行:
- 在主節點上,將拷貝過來的兩個公鑰合并到authorized_keys文件中
- 將主節點的authorized_keys文件分別替換子節點的authorized_keys文件
- 最后測試是否配置成功:在Carlota1上分別執行,ssh Carlota2,ssh Carlota3 能正確跳轉到兩臺子節點的操作界面即可
二、Hadoop集群配置
7、準備工作
下載好相應的Hadoop與JDK版本
8、分別上傳JDK與Hadoop的tar.gz文件到三臺服務器
這里使用windows下的文件傳輸軟件進行上傳(其中我這里上傳路徑分別為/usr/local/java/和/usr/local/apps/)
9、安裝配置JAVA
- tar -zxvf jdk-8u251-linux-x64.tar.gz
- mv jdk1.8.0_251 jdk1.8
配置環境變量vi /etc/profile 添加以下內容
#JAVA export JAVA_HOME=/usr/local/java/jdk1.8 export JRE_HOME=$JAVA_HOME/jre export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib- source /etc/profile
測試是否安裝成功:java -version
10、安裝hadoop
- tar -zxvf hadoop-3.2.1.tar.gz
配置環境變量vi /etc/profile 添加以下內容
#Hadoop export HADOOP_HOME=/usr/local/apps/hadoop-3.2.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin- source /etc/profile
11、配置Hadoop /sbin下
將start-dfs.sh,stop-dfs.sh兩個文件頂部添加以下參數
start-yarn.sh,stop-yarn.sh頂部也需添加以下參數:
#!/usr/bin/env bash YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root12、配置Hadoop /etc下
需要修改的有以下幾個文件:
- hadoop-env.sh
- yarn-env.sh
- core-site.xml
- hdfs-site.xml
- mapred-site.xml
- yarn-site.xml
- workers (Hadoop3.0以前的版本叫做slaves)
(1)、hadoop-env.sh和yarn-env.sh
分別添加JAVA_HOME路徑到hadoop-env.sh和yarn-env.sh中
(2)、core-site.xml
添加如下代碼
其中/usr/temp文件夾需要新建!
(3)、hdfs-site.xml
添加如下代碼:
其中/usr/dfs/name與/usr/dfs/data文件夾需要新建!
(4)、mapred-site.xml(沒有mapred-site.xml文件可以將mapred-site.xml.template進行重命名為mapred-site.xml)
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>Carlota1:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>Carlota1:19888</value></property> </configuration>(5)、yarn-site.xml
添加如下代碼:
(6)、workers
將原內容修改為
拷貝hadoop安裝文件到子節點
scp -r etc/hadoop root@Carlota2:/usr/local/apps/hadoop-3.2.1/etc scp -r etc/hadoop root@Carlota3:/usr/local/apps/hadoop-3.2.1/etc13、啟動Hadoop集群
- 格式化主節點的namenode:./bin/hdfs namenode -format
- 主節點上在hadoop目錄下執行:./sbin/start-all.sh
主節點上jps進程如下:
子節點上jps進程如下:
hadoop集群配置成功!!!
總結
以上是生活随笔為你收集整理的Hadoop的安装与配置——搭建完全分布式集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDK源码解析之java.util.It
- 下一篇: JDK源码解析之 Java.lang.O