您的位置:首页 > 运维架构

云服务器搭建hadoop集群

2016-05-13 23:46 176 查看
1:环境准备

3台服务器配置如下

公网ip 119.29.186.83 内网ip10.104.157.113

公网ip 119.29.250.47 内网ip 10.104.9.181

公网ip 119.29.251.99 内网ip 10.104.196.48

以上全是centos 7.2

安装java

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel //此时所有的机器的java都安装在同一个地方

//所有的机器修改profile文件增加这行代码
export JAVA_HOME=/usr/lib/jvm/java-openjdk


2:配置hostname

在3台机器上分别执行

//主服务器
vim /etc/sysconfig/network

hostname=master
:wq
hostname master
exit
再次ssh登进

//从1
vim /etc/sysconfig/network

hostname=slave1
:wq
hostname slave1
exit
依次类推


3:配置hosts文件

vim /etc/hosts

主服务器如下
10.104.157.113 master
119.29.250.47 slave1
119.29.251.99 slave2
从1
10.104.9.181 slave1
119.29.186.83 master
119.29.251.99 slave2

注意 本机的hostname与内网ip对应
其他的hostname与外网ip对应
然后依次ping master,ping slave1


4:增加hadoop用户

在各台机器上执行
useradd hadoop
passwd hadoop
并设置密码
vim /etc/sudoers
在root下面复制一行
将root改为hadoop


5:配置ssh免登陆

3台服务器上都执行
ssh-keygen
然后一直回车
主服务器上执行:
ssh-copy-id hadoop@slave1
ssh-copy-id hadoop@slave2
从服务器上执行:
ssh-copy-id hadoop@master
ssh-copy-id slave1(其他hostname)


6:关闭各机器防火墙

systemctl start firewalld
firewall-cmd --permanent --zone=public --add-port=50070/tcp  //namenode web端口
firewall-cmd --permanent --zone=public --add-port=50070/udp
firewall-cmd --permanent --zone=public --add-port=9000/tcp   //namenode rpc端口
firewall-cmd --permanent --zone=public --add-port=9000/udp
firewall-cmd --permanent --zone=public --add-port=50010/udp  //datanode rpc端口
firewall-cmd --permanent --zone=public --add-port=50010/udp
firewall-cmd --permanent --zone=public --add-port=50075/udp  //下载文件端口
firewall-cmd --permanent --zone=public --add-port=50075/udp
firewall-cmd --permanent --zone=public --add-port=8031/tcp   //nodemanager rpc端口
firewall-cmd --permanent --zone=public --add-port=8031/udp
firewall-cmd --reload
以上所有端口在namenode和datanode均全部开启
需要什么端口可以自行开放(推荐一种暴力方法)
firewall-cmd --permanent --zone=public --add-port=10-50100/tcp
firewall-cmd --permanent --zone=public --add-port=10-50100/udp
firewall-cmd --reload


7:创建运行目录

su hadoop
cd /home/hadoop
mkdir apps
将hadoop解压到apps文件夹下


8:配置文件配置

cd /etc
vim hadoop-env.sh
将JAVA_HOME修改为本机的JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java-openjdk


9:公共参数配置

vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name> //文件系统
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> //临时目录
<value>/home/hadoop/hdpdata</value>
</property>
</configuration>


10:文件系统配置文件

vim hdfs-site.xml
<property>
<name>dfs.replication</name> //副本数量
<value>2</value>
</property>


11:mapreduce配置

vim mapreduce-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>


12:yarn配置

vim yarn-site.xml
//yarn的主机
<property>
<name>yarn.resoucemanager.hostname</name>
<value>master</value>
</property>
//shuffle服务
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>


13:分发

tar -zcvf hadoop-2.7.3.tar.gz hadoop-2.7.3/
scp -r hadoop-2.7.3.tar.gz hadoop@slave1:/home/hadoop/apps
scp -r hadoop-2.7.3.tar.gz hadoop@slave2:/home/hadoop/apps


14:一键脚本启动

cd /etc/hadoop/
vim slaves


然后在namenode上,(仅在namenode上修改slaves文件)

vim slaves (slaves文件在hadoop/etc目录中)

slaves文件内容:

slave1

slave2

之后在namenode上执行命令:

start-dfs.sh

start-yarn.sh

“`



最后结果如图:



16:动态扩容

直接scp一份到一个服务器,起一个datanode即可

下线一台,由于数据有2份,所以完全不用担心
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop集群