1、?下載所需要的軟件:VMware

(這里分享下我的安裝軟件,當(dāng)然大家也可以去官網(wǎng)下載其他版本的軟件:http://pan.baidu.com/s/1dFEl46t
2、安裝VMware
1、在安裝之前要先進(jìn)BIOS設(shè)置下虛擬化的操作,不同的電腦進(jìn)入BIOS的操作可能有點(diǎn)區(qū)別,可以自行百度下,也比較簡單:
http://jingyan.baidu.com/article/375c8e19bcd24525f3a22943.html
這里分享下破解的序列號:
(1)5A02H-AU243-TZJ49-GTC7K-3C61N
(2)5F29M-48312-8ZDF9-A8A5K-2AM0Z
(如果兩個都不行的話,可以去百度上搜一下)
2、安裝完虛擬機(jī)后需要設(shè)置下密碼,可以隨便設(shè)置個簡單點(diǎn)的密碼,方便記住,
3、配置IP地址、網(wǎng)關(guān)等一些信息:vi /etc/sysconfig/network-scripts/ifcfg-ens32

這里截圖的時(shí)候最上面有兩行沒截到:
BOOTPROTO=static
NAME=ens32
把其他一些沒用的信息可以刪掉,這里的網(wǎng)關(guān)按照虛擬機(jī)上網(wǎng)關(guān)的來配置,然后設(shè)置下IP地址,我設(shè)置的是192.168.187.110,編輯完之后按Esc鍵:wq保存并退出

4、修改主機(jī)名hostnamectl set-hostname master (主機(jī)名千萬不能有下劃線!)
5、重啟網(wǎng)絡(luò)service network restart
6、虛擬機(jī)和本地地址相互ping一下網(wǎng)絡(luò)
(如果沒ping通可能是防火墻沒關(guān)
關(guān)掉防火墻:systemctl stop firewalld
永久廢掉防火墻:systemctl disable firewalld)
3、安裝JDK
1、先通過xshell連接到虛擬機(jī),將jdk的安裝包上傳到虛擬機(jī)
2、/usr/local目錄下創(chuàng)建一個java目錄
mkdir -p /usr/local/java ? (這里-p表示判斷文件夾是否存在)
3、解壓jdk到/usr/local/java目錄下
tar zxvf jdk1.7.0_51 ?-C ?/usr/local/java ? (這里-C表示指定的目錄)
rpm -ivh ./xxxxx.jdk,驗(yàn)證rpm -qa | grep jdk,在命令行中敲java命令,確認(rèn)jdk已經(jīng)安裝完成
4、配置環(huán)境變量,進(jìn)入java目錄,vi /etc/profile
JAVA_HOME=/usr/java/jdk1.7.0_51
JRE_HOME=/usr/java/jdk1.7.0_51/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME
export JAVA_HOME JRE_HOME PATH CLASSPATH
5、使環(huán)境變量立馬生效:source /etc/profile
6、java -version查看下jdk是否安裝好
7、這里有個tomcat,就順便也說說tomcat的安裝以及在防火墻規(guī)則里添加8080規(guī)則,tomcat的安裝和安裝jdk的步驟差不多,
1>新建一個tomcat目錄:mkdir -p /usr/local/tomcat 將tomcat安裝包解壓到這個目錄,然后進(jìn)入tomcat的bin目錄下啟動tomcat

2>查看防火墻規(guī)則 iptablees -L -n ?(這里-L表示查看規(guī)則,-n表示以數(shù)字的形式查看),
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT (編輯方式看的不太明顯,這里是大寫的i,-I表示在第一行插入,INPUT表示讓當(dāng)前的數(shù)據(jù)包進(jìn)入系統(tǒng)-p表示作用于,讓當(dāng)前規(guī)則作用于某種協(xié)議,--dport指目的端口,-j表示采取的動作是什么),
查看防火墻規(guī)則,可以發(fā)現(xiàn)8080規(guī)則已經(jīng)添加

再查看這個端口是否被監(jiān)聽 netstart -nlp |grep 8080

4、免秘鑰操作
1、使用"ssh-keygen -t rsa"命令來創(chuàng)建公鑰。
(會問你存放的目錄,如果不需要修改,直接回車兩次即可,默認(rèn)保存路徑為"~/.ssh/")

2、創(chuàng)建authorized_keys文件并修改權(quán)限為600

(這里解釋下,這里是根據(jù)rsa算法生成的私鑰id_rsa和公鑰id_rsa.pub,登錄集群的master,可以根據(jù)私鑰對應(yīng)的公鑰免密登錄,在后面集群把私鑰復(fù)制一份到其他機(jī)器的配置里,這樣方便后面再master上免密登錄其他機(jī)器)
這里可以參考下網(wǎng)上的操作:
http://blog.csdn.net/daidaineteasy/article/details/50948034
5、安裝hadoop
可以去官網(wǎng)下載:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/
1、先設(shè)置下系統(tǒng)時(shí)間

2、 使用useradd hadoop添加用戶,使用passwd hadoop設(shè)置用戶密碼,
3.、給用戶賦予使用sudo命令的權(quán)限 chmod u+w /etc/sudoers
4、編輯sudoers文件 ?vim /etc/sudoers 在root ALL=(ALL) ? ?ALL下面加上一行hadoop ALL=(ALL) ALL。
5、chmod u-w /etc/sudoers

.6.、使用sudo hostname hh修改主機(jī)名,當(dāng)前生效,重啟后失效。
?7.、使用vim /etc/sysconfig/network修改主機(jī)名,重啟生效。
(修改主機(jī)名這一塊可以參照網(wǎng)上的方法:https://jingyan.baidu.com/album/851fbc37a6b70f3e1f15ab8e.html?picindex=1)
這里我參考網(wǎng)上修改主機(jī)名的方式修改的:

把這兩行刪了重新配置下:

8、cd /usr/local通過Xshell把hadoop安裝包上傳到虛擬機(jī)
9、解壓hadoop安裝包hadoop mv hadoop-2.7.3 hadoop
10、把安裝包名字改一下mv hadoop-2.7.3 hadoop
11、修改hadoop-env.sh文件,我這里可以用Xshell打開方便看下該文件的位置,

進(jìn)入該文件修改下配置vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改成 export JAVA_HOME=/usr/java/default

12、把hadoop執(zhí)行命令的路徑加入PATH環(huán)境變量里vim etc/profile
在文件底部添加:export PATH=$PATH:/usr/local/hadoop/bin:usr/local/hadoop/sbin

退出并保存。
13、執(zhí)行source? /etc/profile命令立即生效,然后敲hadoop出現(xiàn)幫助信息表示hadoop已經(jīng)安裝好
14、關(guān)掉虛擬機(jī):shutdown -h now ,然后完全克隆出三臺虛擬機(jī)
6、分布式集群配置
1、修改第一臺虛擬機(jī)名字為slave1,并修改IP



2、重啟下網(wǎng)絡(luò)服務(wù)service network restart 然后ping一下網(wǎng)關(guān)


3、重復(fù)上述操作,配置slave2、slave3
4、配置名字解析,確保所有機(jī)器之間能ping通,之前已經(jīng)廢掉了防火墻,這里就不重復(fù)操作了,

并在其他幾臺機(jī)器上也配置上名字解析。
5、配置core-site.xml(需要修改tmp目錄,temp目錄是linux的臨時(shí)目錄,重啟后會自動刪除內(nèi)容,所以這里需要修改下)
<property>
? <name>fs.defaultFS</name>
<value>hdfs://hh:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/current/tmp</value>
</property>
這里是master上的配置信息,core-site.xml這個配置在其他幾臺slave 上必須保持跟master一致!
6、格式化namenode:hadoop namenode -format
7、啟動namenode:hadoop-daemon.sh start namnode以及其他datanode:hadoop-daemon.sh start datanode
8、在namenode和datanode下輸入命令jps,以及登錄網(wǎng)頁http://192.168.187.110:50070/查看集群的啟動情況


也可以輸入命令觀察整個集群的情況:hdfs dfsadmin -report | more

9、集中管理集群,修改slaves文件,這個操作需要master遠(yuǎn)程登錄其他slave機(jī)器


10、列出根目錄內(nèi)容并查看大小hadoop fs -ls / ?,刪除根目錄下的內(nèi)容用hadoop fs -rm? /(文件夾名)

11、上傳文件到hdfs,這里用上面hadoop安裝包的文件上傳:hadoop fs -put ./hadoop-2.7.3.tar.gz
12、丟進(jìn)根目錄后用命令查看:hadoop fs -/ls
中途遇到了點(diǎn)問題
1、把core-site.xml文件里面namenode的名字配錯了,結(jié)果集群沒跑起來
?2、還有個問題就是hadoop執(zhí)行命令里面的環(huán)境變量配置錯了
vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改成 export JAVA_HOME=/usr/java/default不起作用,然后把后面的default改成了jdk1.7.0_51就能用了
?3、上傳文件的時(shí)候碰到連接不上去的情況
