新聞中心
centos7.2下Hadoop2.7.2的集群搭建

1.基本環(huán)境:
操作系統(tǒng):
Centos 7.2.1511
三臺虛機:
192.168.163.224 master
192.168.163.225 node1
192.168.163.226 node2
軟件包
hadoop-2.7.2.tar.gz
jdk-7u79-linux-x64.tar.gz
修改hostname
192.168.163.224主機:
echo "master" > /etc/hostname
192.168.163.225主機:
echo "node1" > /etc/hostname
192.168.163.226主機:
echo "node2" > /etc/hostname
master上修改hosts文件
echo "192.168.163.224 master" >>/etc/hosts
echo "192.168.163.225 node1" >>/etc/hosts
echo "192.168.163.225 node2" >>/etc/hosts
同步到node1,node2上的主機
scp /etc/hosts node1:/etc/
scp /etc/hosts node2:/etc/
各臺主機上相互ping,測試是否可以通過host連通
ping master
ping node1
ping node2
master,node1,node2上關閉防火墻
systemctl stop firewalld
systemctl disable firewalld
3.配置hadoop環(huán)境
master,node1,node2上安裝jdk
rpm -qa|grep openjdk #檢查openjdk,存在則刪除
yum remove *-openjdk-* ####刪除openjdk#####
安裝sunjdk
###yum install glibc.i686(64位系統(tǒng)安裝32位包,需要安裝)
tar -zxvf jdk-7u79-linux-x64.tar.gz
mv ./jdk1.7.0_79 /usr/
master,node1,node2上創(chuàng)建hadoop用戶
useradd hadoop #增加hadoop用戶,用戶組、home目錄、終端使用默認
passwd hadoop #修改密碼
建議在學習階段將hadoop用戶加入sudo權限管理,簡單方法如下
1.執(zhí)行visudo命令
2.在root ALL=(ALL) ALL 后加入
hadoop ALL=(ALL) ALL
master,node1,node2上進入hadoop用戶:
su - hadoop
master,node1,node2上無密鑰連接:
master上的hadoop用戶通過rsa算法生成非對稱密鑰對:
ssh-keygen -t rsa
cd /home/hadoop/.ssh/
cp id_rsa.pub authorized_keys
chmod go-wx authorized_keys
master上的公鑰authorized_keys拷貝到node1,node2上的hadoop用戶
scp authorized_keys node1:/home/hadoop/.ssh/
scp authorized_keys node2:/home/hadoop/.ssh/
可通過如下命令測試
ssh node1
ssh node2
為方便node1,node2中hadoop用戶可以同時登錄master,這里我們集群中的所有用戶共用一個密鑰
scp ~/.ssh/id_rsa node1:/home/hadoop/.ssh/
scp ~/.ssh/id_rsa node2:/home/hadoop/.ssh/
master,node1,node2上修改環(huán)境變量
vi /etc/profile
Java_HOME=/usr/jdk1.7.0_79
HADOOP_HOME=/usr/local/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
su - hadoop #重新讀取環(huán)境變量
master,node1,node2上創(chuàng)建相關目錄
sudo mkdir -p /usr/local/hadoop
sudo chown -R hadoop:hadoop /usr/local/hadoop
sudo mkdir -p /data/hadoop/ #創(chuàng)建 hadoop 數(shù)據(jù)目錄結構
sudo chown -R hadoop:hadoop /data/hadoop/
mkdir -p /data/hadoop/tmp/ #創(chuàng)建 tmp
mkdir -p /data/hadoop/hdfs/ #創(chuàng)建hdfs
mkdir -p /data/hadoop/hdfs/data #創(chuàng)建datanode目錄
mkdir -p /data/hadoop/hdfs/name #創(chuàng)建namenode目錄
mkdir -p /data/hadoop/hdfs/namesecondary
安裝hadoop
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
tar -zxvf hadoop-2.7.2.tar.gz
mv hadoop-2.7.2 /usr/local/hadoop
chown -R hadoop:hadoop /usr/local/hadoop/
4.修改配置文件
配置文件相關變量詳細解釋可查看官網:
http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/
cd $HADOOP_HOME/etc/hadoop
4.1 vi hadoop-env.sh
export HADOOP_HEAPSIZE=128 #默認為1000M,這里我們修改為128M
4.2 vi core-site.xml #全局配置
4.3 vi hdfs-site.xml #hdfs中NameNode,DataNode局部配置
4.4 vi etc/hadoop/mapred-site.xml #配置MapReduce,使用yarn框架、jobhistory使用地址以及web地址
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
4.5 vi etc/hadoop/yarn-site.xml 配置yarn-site.xml文件
4.6 vi hadoop-env.sh及vi yarn-env.sh
將其中的${JAVA_HOME}用/usr/jdk1.7.0_79代替
5.檢查單機版Hadoop
測試hdfs中的namenode與datanode:
hadoop-daemon.sh start namenode
chmod go-w /data/hadoop/hdfs/data/
hadoop-daemon.sh start datanode
測試resourcemanager:
yarn-daemon.sh start resourcemanager
測試nodemanager:
yarn-daemon.sh start nodemanager
測試historyserver:
mr-jobhistory-daemon.sh start historyserver
執(zhí)行jps:
99297 Jps
99244 DataNode
98956 JobHistoryServer
98820 NodeManager
98118 NameNode
98555 ResourceManager
上述表明單機版hadoop安裝成功
6.集群搭建
scp -r $HADOOP_HOME/ node1:/usr/local/
scp -r $HADOOP_HOME/ node2:/usr/local/
在master上進行配置
vi $HADOOP_HOME/etc/hadoop/slaves
刪除localhost
添加
node1
node2
vi $HADOOP_HOME/etc/hadoop/masters
刪除localhost
添加
node1 #目的是為了在node1節(jié)點上存放secondnamenode
7.測試集群是否搭建成功
$HADOOP_HOME/bin/hdfs namenode -format
master上
開啟所有節(jié)點:start-all.sh(或start-dfs及start-yarn.sh代替)
各節(jié)點執(zhí)行jps
master:
98956 JobHistoryServer
98820 NodeManager
118806 Jps
118176 NameNode
118540 ResourceManager
node1:
106408 SecondaryNameNode
106602 Jps
106301 DataNode
106496 NodeManager
1234 node2:
105932 Jps
105812 NodeManager
105700 DataNode
存在上述狀態(tài),說明集群搭建成功
關閉所有節(jié)點:stop-all.sh(或stop-dfs.sh及stop-yarn.sh代替)
同時可以訪問網頁進行查看:
http://master:50070/
http://master:8088/
下面關于Hadoop的文章您也可能喜歡,不妨看看:
當前名稱:CentOS7.2下Hadoop2.7.2集群搭建
轉載來于:http://m.fisionsoft.com.cn/article/djiggje.html


咨詢
建站咨詢
