CentOS 7搭建hadoop環境【成功!一步到位】
CentOS 7搭建hadoop環境
尋找網上的部落格教程,折騰了許久,出一篇自己成功搭建hadoop環境的文章,用來記錄自己的探索,同時為大傢伙少走彎路提供捷徑
一、在虛擬機器中安裝CentOS 7並克隆兩臺機子
至此機器準備完成
二、檢視ip地址
請檢視:CentOS7 入贅虛擬機器後,如何檢視 ip 地址?
三、修改靜態ip地址
在VM中選單欄裡,編輯->虛擬網路編輯器(用於檢視子網ip以及子網掩碼)
進入虛擬機器,輸入命令
cd /etc/sysconfig/network-scripts
編輯網路配置
vi ifcfg-ens33
作如下修改:
按esc鍵,輸入:wq
,儲存退出
記住:三臺都需要設定
設定完成了之後可以相互ping一下ip
ping有什麼作用? 可以驗證兩臺機子之間是否可以通訊
如下圖所示:
我用第一臺機子ping克隆的一臺機子(192.168.112.137)
出現如下圖所示就代表可以通訊
如果不成功則會出現以下情形:
四、修改主機名
為什麼要修改主機名,主機名可以代替ip地址,在我們進行計算機之間的通訊的時候可以直接使用主機名,而不用去寫ip
為每臺機子設定主機名:hostnamectl set-hostname 你想設定的主機名稱
在原來的機子上面修改配置檔案:vi /etc/hosts
為每臺機子都這樣設定:
使用scp命令傳送配置檔案hosts到對應的機子上面:
scp /etc/hosts 目的機使用者名稱@目的機名稱:/etc/hosts
例如我的機子就該這樣:
scp /etc/hosts root@chone1:/etc/hosts
對克隆的其他計算機都要傳送hosts檔案
完成之後,那麼可以ping 計算機名稱了
例如:
成功!
記住三臺機子都互相測試一下喲
五、裝java環境
有兩種方式:自己從官網下載jdk,傳到linux計算機,在進行解壓安裝等
那麼我採用直接使用linux的yum命令安裝,因為方便、快捷、省事兒
linux用yum命令下東西的時候速度非常慢,就是因為linux中centos7是預設國外源的,所以我們需要換成國內的源,這裡推薦使用阿里源
以下是更換yum成阿里源的操作步驟:
- 看看自己有沒有安裝wget
yum list wget
- 如果沒有安裝,現場安裝:
yum -y install wget
- 備份映象源(放置更換過程中出錯):
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 從網路上下載yum源配置檔案:
sudo wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 清理後生成快取
yum clean all
yum makecache
到此成功更換yum的源為阿里雲
從源中搜尋可安裝jdk
yum search jdk
安裝jdk1.8.0
yum install java-1.8.0-openjdk.x86_64
當然也可以安裝其他版本的,1.8比較穩定
安裝好了之後環境變數也自動配置好了
可以使用java -version
來測試
到此成功安裝jdk
六、配置SSH免密碼登入
有什麼作用?當用一臺計算機使用者登入另一臺計算機時,每次登入都必須輸入密碼,在hadoop中,需要成千上萬次登入,那麼如果每次都需要輸入密碼的話,速度太慢了,而且折磨人
-
進入.ssh目錄:
cd ~/.ssh
-
生成ssh祕鑰:
ssh-keygen -t rsa
一直回車,三臺計算機都要這樣生成祕鑰 -
到此生成了兩個檔案:
id_rsa和id_rsa.pub
在第一臺計算機上執行:
cp id_rsa.pub authorized_keys
生成副本修改檔案許可權:
chmod authorized_keys
-
測試一下本機無密碼登入
sudo service sshd restart ssh master
以下情況則代表登入成功:
-
測試第一臺計算機與其他計算機無密碼登入
向其他計算機傳送祕鑰:
scp /root/.ssh/authorized_keys 目的機使用者名稱@目的機名稱:/root/.ssh
- 測試能否無密碼登入其他計算機
ok,到此成功配置SSH免密碼登入
七、安裝hadoop
手動下載hadoop官方壓縮包:http://hadoop.apache.org/releases.html
挑選一個版本,下載二進位制檔案
這兒我下載的2.9.2版本
使用一個Windows客戶端軟體,點選下載:WinSCP(可將Windows上的檔案傳輸到linux)
上傳後解壓,將解壓資料夾移動到/opt/hadoop
tar -zxvf hadoop-2.9.2.tar.gz
mv hadoop-2.9.2 /opt/hadoop
進入/opt/hadoop/hadoop2.9.2/etc/hadoop/目錄
cd /opt/hadoop/hadoop2.7.4/etc/hadoop/
檢視該目錄下的檔案
編輯hadoop.enc.sh和yarn.env.sh
將JAVA_HOME配置好,如何檢視yum命令安裝的jdk路徑?
八、配置檔案
進入到/opt/hadoop/hadoop2.9.4/etc/hadoop/目錄
cd /opt/hadoop/hadoop2.7.4/etc/hadoop/
檢視目錄下所有檔案:
注:mapred-site.xml原本是不存在的,由mapred-site.cml.template複製而來
往檔案的標籤記憶體放這些屬性:
core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
效果如下:
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/dfs/data</value>
</property>
mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>
yarn-site.xml
<!-- Site specific YARN configuration properties -->
<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.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
編輯slaves檔案,在裡面新增克隆計算機的名字
例如:
利用scp將配置好的hadoop傳送到各個計算機
scp -r /opt/hadoop 目的機使用者名稱@目的機名稱:/opt/hadoop
若發現許可權不夠,可以先傳送到計算機的其他位置,再移動到/opt/hadoop資料夾下
九、叢集群起
在第一臺計算機上初始化(如果已經初始化一次,那麼以後就儘量不要初始化)
bin/hdfs namenode -format
關閉防火牆:
systemctl stop firewalld.service
群起:
sbin/start-all.sh
此時可用jps命令檢視是否已經啟動
十、檢驗
在Windows宿主機上,開啟瀏覽器,輸入
http://你的第一臺計算機名或者ip:8088
比如我的可以輸入:
http://192.168.112.136:8088
或者
http://master:8088
出現如下介面:
如果許久沒有出現這個介面,檢查一下第一臺計算機的防火牆是不是沒關
service firewalld status
在位址列輸入時,將埠號改成50070,出現:
hadoop環境搭建成功!
CentOS 7搭建hadoop環境
尋找網上的部落格教程,折騰了許久,出一篇自己成功搭建hadoop環境的文章,用來記錄自己的探索,同時為大傢伙少走彎路提供捷徑
一、在虛擬機器中安裝CentOS 7並克隆兩臺機子
至此機器準備完成
二、檢視ip地址
請檢視:CentOS7 入贅虛擬機器後,如何檢視 ip 地址?
三、修改靜態ip地址
在VM中選單欄裡,編輯->虛擬網路編輯器(用於檢視子網ip以及子網掩碼)
進入虛擬機器,輸入命令
cd /etc/sysconfig/network-scripts
編輯網路配置
vi ifcfg-ens33
作如下修改:
按esc鍵,輸入:wq
,儲存退出
記住:三臺都需要設定
設定完成了之後可以相互ping一下ip
ping有什麼作用? 可以驗證兩臺機子之間是否可以通訊
如下圖所示:
我用第一臺機子ping克隆的一臺機子(192.168.112.137)
出現如下圖所示就代表可以通訊
如果不成功則會出現以下情形:
四、修改主機名
為什麼要修改主機名,主機名可以代替ip地址,在我們進行計算機之間的通訊的時候可以直接使用主機名,而不用去寫ip
為每臺機子設定主機名:hostnamectl set-hostname 你想設定的主機名稱
在原來的機子上面修改配置檔案:vi /etc/hosts
為每臺機子都這樣設定:
使用scp命令傳送配置檔案hosts到對應的機子上面:
scp /etc/hosts 目的機使用者名稱@目的機名稱:/etc/hosts
例如我的機子就該這樣:
scp /etc/hosts root@chone1:/etc/hosts
對克隆的其他計算機都要傳送hosts檔案
完成之後,那麼可以ping 計算機名稱了
例如:
成功!
記住三臺機子都互相測試一下喲
五、裝java環境
有兩種方式:自己從官網下載jdk,傳到linux計算機,在進行解壓安裝等
那麼我採用直接使用linux的yum命令安裝,因為方便、快捷、省事兒
linux用yum命令下東西的時候速度非常慢,就是因為linux中centos7是預設國外源的,所以我們需要換成國內的源,這裡推薦使用阿里源
以下是更換yum成阿里源的操作步驟:
- 看看自己有沒有安裝wget
yum list wget
- 如果沒有安裝,現場安裝:
yum -y install wget
- 備份映象源(放置更換過程中出錯):
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 從網路上下載yum源配置檔案:
sudo wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 清理後生成快取
yum clean all
yum makecache
到此成功更換yum的源為阿里雲
從源中搜尋可安裝jdk
yum search jdk
安裝jdk1.8.0
yum install java-1.8.0-openjdk.x86_64
當然也可以安裝其他版本的,1.8比較穩定
安裝好了之後環境變數也自動配置好了
可以使用java -version
來測試
到此成功安裝jdk
六、配置SSH免密碼登入
有什麼作用?當用一臺計算機使用者登入另一臺計算機時,每次登入都必須輸入密碼,在hadoop中,需要成千上萬次登入,那麼如果每次都需要輸入密碼的話,速度太慢了,而且折磨人
-
進入.ssh目錄:
cd ~/.ssh
-
生成ssh祕鑰:
ssh-keygen -t rsa
一直回車,三臺計算機都要這樣生成祕鑰 -
到此生成了兩個檔案:
id_rsa和id_rsa.pub
在第一臺計算機上執行:
cp id_rsa.pub authorized_keys
生成副本修改檔案許可權:
chmod authorized_keys
-
測試一下本機無密碼登入
sudo service sshd restart ssh master
以下情況則代表登入成功:
-
測試第一臺計算機與其他計算機無密碼登入
向其他計算機傳送祕鑰:
scp /root/.ssh/authorized_keys 目的機使用者名稱@目的機名稱:/root/.ssh
- 測試能否無密碼登入其他計算機
ok,到此成功配置SSH免密碼登入
七、安裝hadoop
手動下載hadoop官方壓縮包:http://hadoop.apache.org/releases.html
挑選一個版本,下載二進位制檔案
這兒我下載的2.9.2版本
使用一個Windows客戶端軟體,點選下載:WinSCP(可將Windows上的檔案傳輸到linux)
上傳後解壓,將解壓資料夾移動到/opt/hadoop
tar -zxvf hadoop-2.9.2.tar.gz
mv hadoop-2.9.2 /opt/hadoop
進入/opt/hadoop/hadoop2.9.2/etc/hadoop/目錄
cd /opt/hadoop/hadoop2.7.4/etc/hadoop/
檢視該目錄下的檔案
編輯hadoop.enc.sh和yarn.env.sh
將JAVA_HOME配置好,如何檢視yum命令安裝的jdk路徑?
八、配置檔案
進入到/opt/hadoop/hadoop2.9.4/etc/hadoop/目錄
cd /opt/hadoop/hadoop2.7.4/etc/hadoop/
檢視目錄下所有檔案:
注:mapred-site.xml原本是不存在的,由mapred-site.cml.template複製而來
往檔案的標籤記憶體放這些屬性:
core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
效果如下:
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/dfs/data</value>
</property>
mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>
yarn-site.xml
<!-- Site specific YARN configuration properties -->
<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.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
編輯slaves檔案,在裡面新增克隆計算機的名字
例如:
利用scp將配置好的hadoop傳送到各個計算機
scp -r /opt/hadoop 目的機使用者名稱@目的機名稱:/opt/hadoop
若發現許可權不夠,可以先傳送到計算機的其他位置,再移動到/opt/hadoop資料夾下
九、叢集群起
在第一臺計算機上初始化(如果已經初始化一次,那麼以後就儘量不要初始化)
bin/hdfs namenode -format
關閉防火牆:
systemctl stop firewalld.service
群起:
sbin/start-all.sh
此時可用jps命令檢視是否已經啟動
十、檢驗
在Windows宿主機上,開啟瀏覽器,輸入
http://你的第一臺計算機名或者ip:8088
比如我的可以輸入:
http://192.168.112.136:8088
或者
http://master:8088
出現如下介面:
如果許久沒有出現這個介面,檢查一下第一臺計算機的防火牆是不是沒關
service firewalld status
在位址列輸入時,將埠號改成50070,出現:
hadoop環境搭建成功!
相關文章
- hadoop之旅7-centerOS7 : Hive環境搭建HadoopROSHive
- 在CentOS 7上搭建Docker環境CentOSDocker
- hadoop之旅2-centerOS7: 搭建分散式hadoop環境HadoopROS分散式
- hadoop之旅10-centerOS7 : Flume環境搭建HadoopROS
- hadoop之旅1-centerOS7: 搭建java環境HadoopROSJava
- CentOS 7 使用 docker 搭建基本的 lnmp 環境CentOSDockerLNMP
- Centos7下搭建Laravel環境(非docker)CentOSLaravelDocker
- Hadoop2.7.5環境搭建Hadoop
- Hadoop+hive環境搭建HadoopHive
- hadoop之旅9-centerOS7 : hbase叢集環境搭建HadoopROS
- Vagrant 搭建 CentOS 環境CentOS
- Hadoop 系列(四)—— Hadoop 開發環境搭建Hadoop開發環境
- vagrant + centos/7 搭建自己的本地開發環境CentOS開發環境
- CentOS7搭建Java環境(JDK、MySQL和Tomcat)CentOSJavaJDKMySqlTomcat
- 搭建本地執行Hadoop環境Hadoop
- hadoop完全分散式環境搭建Hadoop分散式
- Hadoop 基礎之搭建環境Hadoop
- Hadoop環境搭建(二)分散式Hadoop分散式
- CentOS 7部署Javaweb專案(一)——環境搭建CentOSJavaWeb
- Centos下搭建golang環境CentOSGolang
- 【Hadoop】:Windows下使用IDEA搭建Hadoop開發環境HadoopWindowsIdea開發環境
- mac搭建hadoop開發環境(二)MacHadoop開發環境
- CentOS7環境搭建L2TP伺服器。CentOS伺服器
- CentOS7系統搭建web環境 php&nginx&pgsqlCentOSWebPHPNginxSQL
- CentOS 7.6虛擬環境搭建CentOS
- CentOS7 環境配置指南CentOS
- Hadoop入門(一)之Hadoop偽分散式環境搭建Hadoop分散式
- hadoop叢集搭建,CentOS7克隆HadoopCentOS
- 史上最詳細的Hadoop環境搭建Hadoop
- VSCode+Maven+Hadoop開發環境搭建VSCodeMavenHadoop開發環境
- Linux運維centos7中的jdk開發環境搭建Linux運維CentOSJDK開發環境
- 如何在CentOS 7上搭建LAMP環境(使用YUM或編譯)CentOSLAMP編譯
- LAMP(CentOS 7.2)環境下搭建WordPressLAMPCentOS
- Centos 7 安裝GNOME桌面環境CentOS
- CentOS7搭建Hadoop-3.3.0叢集手記CentOSHadoop
- Hyperledger超級賬本在Centos7下搭建執行環境CentOS
- Hadoop叢集之 ZooKeeper和Hbase環境搭建Hadoop
- 使用tomcat搭建Jenkins環境(centos7.3)TomcatJenkinsCentOS