1. 程式人生 > >1.環境搭建-Hadoop叢集搭建

1.環境搭建-Hadoop叢集搭建

本文主要是在CentOS叢集基礎上搭建Hadoop叢集。
【CentOS叢集:node1,node2,node3 】
【注:搭建hadoop叢集的前提是三個節點都已經配置好了靜態ip,虛擬機器終端內執行vi /etc/sysconfig/network-scripts/ifcfg-eth0,配置ip,子網掩碼,閘道器以及DNS域名解析,並且安裝了JDK,如圖】
在這裡插入圖片描述儲存之後重啟network:
service network restart
需要的jdk可從這裡下載:
連結:https://pan.baidu.com/s/1_Zr1xH7ciELht5qYu_AOXw
提取碼:duwh
需要的hadoop安裝包可從這裡下載:
連結:

https://pan.baidu.com/s/1X7kFactjj-iCAwy74sNkEg
提取碼:qu3a

安裝yum

列出所有可用的rpm包 “yum list “
yum list |head -n 15
在這裡插入圖片描述

1.備份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2.下載新的CentOS-Base.repo 到/etc/yum.repos.d/
3.之後執行yum makecache生成快取

下載一個lrzsz,用於上傳下載檔案
命令:yum -y install lrzsz
在這裡插入圖片描述

配置ssh無密碼訪問

在每個節點上分別執行:
ssh-keygen -t rsa
在主節點上執行:
cp id_rsa.pub authorized_keys
執行結束之後每個節點上的/root/.ssh/目錄下生成了兩個檔案 id_rsa 和 id_rsa.pub
將子節點的公鑰拷貝到主節點並新增進authorized_keys
將兩個子節點的公鑰拷貝到主節點上,分別在兩個子節點上執行:
scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/id_rsa_node2.pub
scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/id_rsa_node3.pub


然後在主節點上,將拷貝過來的兩個公鑰合併到authorized_keys檔案中去
主節點上執行:
cat id_rsa_node2.pub>> authorized_keys
cat id_rsa_node3.pub>> authorized_keys

最後測試是否配置成功
在node1上分別執行
ssh node2
ssh node3
能正確跳轉到兩臺子節點的操作介面即可

安裝JDK

rz上傳jdk安裝包
我這裡放到了/opt/software/jdk/下
解壓 tar -zxvf jdk-8u141-linux-x64.tar.gz
配置環境變數:vi /etc/profile
export JAVA_HOME=/opt/software/jdk/jdk1.8.0_141

修改主機名和ip對映

vi /etc/hosts
在這裡插入圖片描述

安裝hadoop

上傳hadoop安裝包到/opt/software/hadoop/下【路徑自由選擇】
1.rz上傳檔案
在這裡插入圖片描述這裡是上傳到了根目錄下,我把它移動到/opt/software/hadoop/
命令:mv hadoop-2.7.7.tar.gz /opt/software/hadoop/

解壓

tar -zxvf hadoop-2.7.7.tar.gz

設定環境變數 vi/opt/software/hadoop

export HADOOP_HOME=/opt/software/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
在這裡插入圖片描述

使配置生效

source /etc/profile

測試jdk是否安裝成功

java -version
在這裡插入圖片描述

修改配置檔案

去到hadoop目錄下,$HADOOP_HOME/etc/hadoop

1.修改hadoop-env.sh檔案

在這裡插入圖片描述

2.修改core-site.xml

<!-- 制定HDFS的老大(NameNode)的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://node1:9000</value> </property> <!-- 指定hadoop執行時產生檔案的儲存目錄 --> <property> <name>hadoop.tmp.dir</name> <value>/hadoop/tmp</value> </property>

3.修改hdfs-site.xml

<!-- 指定HDFS副本的數量 --> <property> <name>dfs.replication</name> <value>1</value> </property>

4.修改mapred-site.xml 【這個不存在需要自己建立,命令如下:(mv mapred-site.xml.template mapred-site.xml)】

<!-- 指定mr執行在yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>

5.修改yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <!-- reducer獲取資料的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>

格式化namenode(是對namenode進行初始化)

hdfs namenode -format
在這裡插入圖片描述

修改slaves

node2 node3
node1是主節點,node2,node3是從節點
在這裡插入圖片描述
在另外兩臺虛擬機器上搭建hadoop

未完。。。。。待續
最近比較忙