Centos 7下VMware三臺虛擬機Hadoop集羣初體驗

1、下載並安裝Centos 7html

  傳送門:https://www.centos.org/download/java

     注:下載DVD ISO鏡像node

這裏詳解一下VMware安裝中的兩個過程linux

網卡配置web

是Additional search domains:8.8.4.4也是谷歌提供的免費DNS服務器Ip地址apache

2、SecureCRT遠程操控vim

ping www.baidu.com 發現slave1,2不通,而master能夠ping通,查看master配置,發現兩個從機少了一些配置。 centos

安裝vim:yum install vim-enhanced服務器

分別修改配置:vim /etc/sysconfig/network 增長"nameserver 192.168.200.2"oracle

再ping 發現問題解決

三臺機器分別執行:vim /etc/sysconfig/network 像下圖這樣進行配置

 

三臺機器分別執行:vim /etc/hosts 配置內容相同,增長

192.168.200.130 master
192.168.200.120 slave1
192.168.200.110 slave2

vi /etc/sysconfig/network-scripts/ifcfg-ens33

將dhcp 換位static 靜態ip

systemctl restart network.service

以後重啓並執行ping驗證 ping master/ping slave1/ping slave2

3、下載安裝jdk配置環境變量

傳送門:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

注:下載的是 jdk-8u191-linux-x64.tar.gz

在home文件加下新建文件夾hadoop,上傳本地jdk文件至該目錄中yum install lrzsz    rz爲上傳指令

由於我安裝的centos7 爲minimal版,若爲其餘版本例如圖形界面版則需卸載本地jdk後再解壓配置本身下載的jdk,可參考:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html 前兩個步驟。

解壓  [root@master hadoop]# tar -zxvf jdk-8u191-linux-x64.tar.gz

配置java環境變量:vim /etc/profile
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin
刷新配置:source /etc/profile
驗證 java/javac/java -version

4、免祕鑰登陸操做——以master主機爲例

第一步:ssh-keygen -t dsa

第二步:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

第三步:在~/.ssh目錄下執行 scp authorized_keys root@192.168.200.120:~/.ssh/和scp authorized_keys root@192.168.200.120:~/.ssh/分別將受權文件複製給slave1,slave2

一樣的三步驟要分別在slave1,slave2上執行,以後查看三臺主機的authorized_keys:

看懂沒?

5、下載安裝徹底分佈式hadoop

注:下載二進制binary版本 傳送門:http://hadoop.apache.org/releases.html

 [root@slave2 hadoop]# tar -axvf hadoop-2.8.5.tar.gz

在/home/hadoop/hadoop-2.8.5/etc/hadoop下面要進行七項配置:

配置1:vim hadoop-env.sh

export JAVA_HOME=/home/hadoop/jdk1.8.0_191

配置2:vim yarn-env.sh

export JAVA_HOME=/home/hadoop/jdk1.8.0_191

配置3:vim slaves

配置4:vim core-site.xml

1 <property>
2      <name>fs.defaultFS</name>
3      <value>hdfs://master:9000</value>
4 </property>
5 <property>
6      <name>hadoop.tmp.dir</name>
7      <value>/home/hadoop/hadoop-2.8.5/tmp</value>
8 </property>

配置5:vim hdfs-site.xml

1 <property>
2      <name>dfs.replication</name>
3      <value>2</value>
4 </property>
5 <property>
6      <name>dfs.secondary.http.address</name>
7      <value>master:50090</value>
8 </property>

配置6:mapred-site.xml是不存在的因此須要複製一份,怎麼作呢? mv mapred-site.xml.template mapred-site.xml

1 <property>
2      <name>mapreduce.framework.name</name>
3      <value>yarn</value>
4 </property>

配置7:vim yarn-site.xml

1 <property>
2     <name>yarn.resourcemanager.hostname</name>
3     <value>master</value>
4 </property>
5 <property>
6     <name>yarn.nodemanager.aux-services</name>
7     <value>mapreduce_shuffle</value>
8 </property>

6、將配置好的hadoop複製到另外兩臺機器

1 scp -r /home/hadoop/hadoop-2.8.5 slave1:/home/hadoop/
2 scp -r /home/hadoop/hadoop-2.8.5 slave2:/home/hadoop/

七 、配置 bin、sbin路徑  

1 vim /etc/profile
2 
3 export JAVA_HOME=/home/hadoop/jdk1.8.0_191
4 
5 export HADOOP_HOME=/home/hadoop/hadoop-2.8.5
6 
7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

8、重啓並測試

1 hdfs namenode -format
2 start-dfs.sh

SUCCESS!

目前這篇隨筆更像是什麼都不懂的外行人按照博客以及本身的實踐從頭至尾跑下來的成功案例,本人羞愧的說也確實這樣。至於其中的衆多道理我還不怎麼懂,我會在從此不斷維護這篇博客,讓其更有料,讓其徹底成爲本身肚子裏的知識。

[2018.11.27更新 新增了測試wordcount]  若是想測試hadoop 自帶wordcount例子,參考這篇 https://blog.csdn.net/hliq5399/article/details/78193113 對應部分就行了,先建立本地輸入文件,建立dfs上輸出文件,執行就ok

刪除自帶jdk
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
永久修改主機名
hostnamectl set-hostname centos7 
su
hostname
配置host
vim /etc/hosts

關閉防火牆
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
關閉selinux
vim /etc/sysconfig/selinux

配置jdk環境變量
vim /etc/profile
修改完則個文件後必定要執行一條指令使配置生效source /etc/profile
export JAVA_HOME=/opt/modules/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
配置hadoop環境變量
vim /etc/profile
export HADOOP_HOME=/opt/modules/hadoop-2.5.8
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile

進入/opt/modules/hadoop-2.8.5/etc/hadoop進行一些配置
vim hadoop-env.sh
vim core-site.xml

<property>
<name>fs.defaultFS</name>
<value>hdfs://centos7:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/data/tmp</value>
</property>

vim hdfs-site.xml

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

格式化hdfs 
[root@centos7 hadoop-2.8.5]# bin/hdfs namenode -format
查看有無dfs文件夾
ls /opt/data/tmp
ll /opt/data/tmp/dfs/name/current
cat /opt/data/tmp/dfs/name/current/VERSION
執行當前目錄下的命令要以./xxx的形式
啓動namenode
/opt/modules/hadoop-2.8.5/sbin
./hadoop-daemon.sh start namenode
啓動datanode
./hadoop-daemon.sh start datanode
啓動secondarynamenode
./hadoop-daemon.sh start secondarynamenode

jps查看啓動狀況

HDFS上測試建立目錄、上傳、下載文件

建立目錄
在/opt/modules/hadoop-2.8.5/bin目錄下
./hdfs dfs -mkdir /demo
./hdfs dfs -put 待上傳文件路徑 /demo
./hdfs dfs -cat 待讀取文件
./hdfs dfs -get 下載
不存在的複製一份模板 配置mapred-site.xml
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
配置yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos7</value>
</property>/opt/modules/hadoop-2.8.5目錄下
啓動resourcemanager
sbin/yarn-daemon.sh start resourcemanager
啓動nodemanager
sbin/yarn-daemon.sh start nodemanager
jps查看啓動狀況
查看yarn web頁面
http://192.168.200.134:8088/cluster

運行Mapreduce job
建立測試用Input文件bin/hdfs dfs -mkdir -p /wordcountdemo/input
本地/opt/data目錄建立一個文件wc.input內容爲
hadoop mapreduce hive
hbase spark storm
sqoop hadoop hive
spark hadoop
上傳
bin/hdfs dfs -put /opt/data/wc.input /wordcountdemo/input
運行WordCount MapReduce Job

[hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /wordcountdemo/input /wordcountdemo/output
 查看輸出結果目錄
bin/hdfs dfs -ls /wordcountdemo/output
查看輸出文件內容
bin/hdfs dfs -cat /wordcountdemo/output/part-r-00000

 

我貼上整個過程用到的命令

參考文章:https://www.cnblogs.com/biehongli/p/7640469.html 感謝該做者~

https://blog.csdn.net/hliq5399/article/details/78193113 感謝該做者~

相關文章
相關標籤/搜索