(一)軟件准備
1,hadoop-2.7.3.tar.gz(包)
2,三台機器裝有cetos7的機子
(二)安裝步驟
1,給每台機子配相同的用戶
進入root : su root
創建用戶s: useradd s
修改用戶密碼:passwd s
2.關閉防火牆及修改每台機的hosts(root 下)
vim /etc/hosts 如:(三台機子都一樣)
vim /etc/hostsname:如修改后參看各自的hostname
關閉防火牆:
systemctl stop firewalld.service
禁用防火牆:systemctl disable firewalld.service
查看防火牆狀態firewall-cmd --state
重啟 reboot
3,為每台機的用戶s配置ssh,以用戶s身份登錄 (一定要相同的用戶,因為ssh通信默認使用相同用戶身份訪問另一台機子)
1,root 用戶下修改: vim /etc/ssh/sshd_config,設置這三項后,執行service sshd restart
2,退出root,在用戶s下操作
生成密鑰對: ssh-keygen -t dsa(一路回車即可)
轉入ssh目錄下:cd .ssh
導入公鑰: cat id_dsa.pub >> authorized_keys
修改authorized_keys權限:chmod 644
authorized_keys (修改權限,保證自己免密碼能登入)
驗證 ssh Master (在三台機都執行相同的操作)
3,實現master-slave免密碼登錄
在master 上執行: cat ~/.ssh/id_dsa.pub | ssh s@Slave1 'cat - >> ~/.ssh/authorized_keys'
cat ~/.ssh/id_dsa.pub | ssh s@Slave2 'cat - >> ~/.ssh/authorized_keys '
驗證 :ssh Slave1
(三 )配置Hadoop集群
1,解壓hadoop和建立文件
root用戶下:tar zxvf /home/hadoop/hadoop-2.7.3.tar.gz -C /usr/
重命名:mv hadoop-2.7.3 hadoop
授權給s: chown -R s /usr/hadoop
2,創建hdfs相關文件(三台機子都需要操作)
創建存儲hadoop數據文件的目錄: mkdir /home/hadoopdir
存儲臨時文件,如pid:mkdir /home/hadoopdir/tmp
創建dfs系統使用的dfs系統名稱hdfs-site.xml使用:mkdir /home/hadoopdir/dfs/name
創建dfs系統使用的數據文件hdfs-site.xml文件使用:mkdir /home/hadoopdir/dfs/data
授權給s: chown -R s /home/hadoopdir
3,配置環境變量(三台機子都需要操作)
root用戶下:vim /etc/profile 添加如圖: 保存退出后:source /etc/profile
驗證:hadoop version(這里要修改 /usr/hadoop/etc/hadoop/hadoop-env.sh,即export JAVA_HOME=/usr/lib/jvm/jre)
4,配置hadoop文件內容
4.1 修改core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://Master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoopdir/tmp/</value> <description>A base for other temporary directories.</description> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property> </configuration>
4.2 修改hdfs-site.xml文件
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoopdir/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoopdir/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
4.3 修改mapred-site.xml
<configuration> <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> <property> <name>mapreduce.jobtracker.http.address</name> <value>Master:50030</value> </property> <property> <name>mapred.job.tracker</name> <value>Master:9001</value> </property> </configuration>
4.4 修改 yarn-site.xml
<configuration> <!-- 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.hostname</name> <value>Master</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> </configuration>
4.5,修改 slaves文件
5,搭建集群(普通用戶s)
格式hadoop文件:hadoop namenode -format (最后出現“util.ExitUtil: Exiting with status 0”,表示成功)
發送dfs內容給Slave1:scp -r /home/hadoopdir/dfs/* Slave1:/home/hadoopdir/dfs
發給dfs內容給Slave2:scp -r /home/hadoopdir/dfs/* Slave2:/home/hadoopdir/dfs
發送hadoop文件給數據節點:scp -r /usr/hadoop/* Slave1:/usr/hadoop/ scp -r /usr/hadoop/* Slave2:/usr/hadoop/
6,啟動集群
./sbin/start-all.sh
1,jps(centos 7 默認沒有,可以參照這里安裝)查看:Master和Slave中分別出現如下所示:
2,離開安全模式(master): hadoop dfsadmin safemode leave
查看結果:hadoop dfsadmin -report,如圖
3,登錄網頁查看:http://Master:50070 (查看live node) 查看yarn環境(http://Master/8088)
(四) 參考網頁:
3,SSH集群搭建