一台阿里云2台腾讯云服务器搭建Hadoop集群


1.准备工作:jdk安装(个人选择的1.8版本)
2.ssh免密登陆:
关闭放火墙(可以将要开放的端口加入防火墙的开发端口中,学习用就直接关闭防火墙了):
1)关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd

2) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

3)vi /etc/hosts
ip1 master
ip2 slave1
ip3 slave2
此处特别注意下,我自己由于这个地方出问题导致Hadoop集群延迟启动3,4天,那种感觉实在是难受。。。
问题是:如果是在master上操作的话ip1 必须是master 的内网ip 同理slaves上也是一样,自己的主机上的IP要改成内网IP,其他的要用外网IP。
补充网络知识:服务器公网ip
  可以用于域名解析ip,服务器远程登录ip,是最主要的服务器ip地址。
   内网ip
  不能用于域名解析。
  不可以直接用于服务器远程登录,其主要作用是:跟当前帐号下的其他同集群的机器通信。
  一些小型企业或者学校,通常都是申请一个固定的IP地址,然后通过IP共享(IP Sharing),使用整个公司或学校的机器都能够访问互联网。而这些企业或学校的机器使用的IP地址就是内网IP,内网IP是在规划IPv4协议时,考虑到IP地址资源可能不足,就专门为内部网设计私有IP地址(或称之为保留地址),一般常用内网IP地址都是这种形式的:10.X.X.X、

172.16.X.X-172.31.X.X、192.168.X.X等。需要注意的是,内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。
  公网IP就是除了保留IP地址以外的IP地址,可以与Internet上的其他计算机随意互相访问。我们通常所说的IP地址,其实就是指的公网 IP。互联网上的每台计算机都有一个独立的IP地址,该IP地址唯一确定互联网上的一台计算机。这里的IP地址就是指的公网IP地址。
  其实,互联网上的计算机是通过“公网IP+内网IP”来唯一确定的,就像很多大楼都是201房间一样,房间号可能一样,但是大楼肯定是唯一的。公网
IP地址和内网IP地址也是同样,不同企业或学校的机器可能有相同的内网IP地址,但是他们的公网IP地址肯定不同。那么这些企业或学校的计算机是怎样
IP地址共享的呢?这就需要使用NAT(Network Address Translation,网络地址转换)功能。当内部计算机要连接互联网时,首先需要通过NAT技术,将内部计算机数据包中有关IP地址的设置都设成
NAT主机的公共IP地址,然后再传送到Internet,虽然内部计算机使用的是私有IP地址,但在连接Internet时,就可以通过NAT主机的
NAT技术,将内网我IP地址修改为公网IP地址,如此一来,内网计算机就可以向Internet请求数据了。——百度百科
此处master的IP对于slaves是公网IP,但是对于master自己应该用内网IP—正真的对应自己的机器的ifconfig。
以上在master,salve1和slave2上都要执行,为了方便,jdk的安装目录最好一样,之后的目录操作也是。

4)在所有的主机上创建Hadoop用户:
adduser hadoop–用户名
passwd 123456–密码
新创建的用户并不能使用sudo命令,需要给他添加授权。
sudo命令的授权管理是在sudoers文件里的。可以看看sudoers:
[root@localhost ~]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/libexec/sudoers.so /usr/share/man/man5/sudoers.5.gz
找到这个文件位置之后再查看权限:
[root@localhost ~]# ls -l /etc/sudoers
-r–r—– 1 root root 4251 9月 25 15:08 /etc/sudoers
是的,只有只读的权限,如果想要修改的话,需要先添加w权限:
[root@localhost ~]# chmod -v u+w /etc/sudoers
mode of “/etc/sudoers” changed from 0440 (r–r—–) to 0640 (rw-r—–)
然后就可以添加内容了,在下面的一行下追加新增的用户:
[root@localhost ~]# vim /etc/sudoers

Allow root to run any commands anywher

root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL #这个是新增的用户
wq保存退出,这时候要记得将写权限收回:
[root@localhost ~]# chmod -v u-w /etc/sudoers
mode of “/etc/sudoers” changed from 0640 (rw-r—–) to 0440 (r–r—–)
这时候使用新用户登录,使用sudo:
[root@localhost ~]# su hadoop
输入密码
[hadoop@localhost ~]$ sudo cat /etc/passwd
[sudo] password for hadoop:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

第一次使用会提示你,你已经化身超人,身负责任。而且需要输入密码才可以下一步。如果不想需要输入密码怎么办,将最后一个ALL修改成NOPASSWD: ALL。

5)安装ssh,由于云服务器都有自带,不在赘述。

接下来有关Hadoop集群的操作,务必在Hadoop用户下进行操作。
ssh master ssh-keygen –t rsa
此时在master节点主机的~/.ssh目录生成密钥对id_rsa和di_rsa.pub,可以通过ls命令列表查看。
ssh slave1 ssh-keygen -t rsa
ssh slave2 ssh-keygen -t rsa

将刚刚生成的密钥对中的公钥复制到master节点的~/.ssh/目录之下
scp hadoop@slave1:~/.ssh/id_rsa.pub ~/.ssh/slave1.pub
scp hadoop@slave2:~/.ssh/id_rsa.pub ~/.ssh/slave2.pub

将master、slave1、slave2主机的公钥写入master主机~/.ssh目录的认证文件authorized_keys中
cat ~/.ssh/*.pub > ~/.ssh/authorized_keys
用chmod命令修改认证文件authorized_keys的属性为600
chomd 600 ~/.ssh/authorized_keys

将~/.ssh/authorized_keys认证文件复制到所有节点主机的~/.ssh/目录中,并进行免密码连接测试。

ssh slave1
exit;
ssh slave2
exit;

mkdir /home/hadoop/chadoop
cd /home/hadoop/chadoop
mkdir hadoop
cd hadoop
如果有下载好的安装包可以直接利用ssh工具将那个安装包传到这个文件夹下,我的是Hadoop2.5.0
tar -zxvf xxxx.gz
cd xxxx
进入Hadoop的根目录
mkdir tmp
mkdir dfs
cd dfs
mkdir data
mkdir name

vi ~/.bash_profile
(此处附上我的配置文件,请根据自己的需求更改,另外每次想要快捷的使用命令之前都需要source ~/.bash_profile,否则需要去相应的目录下操作)


                
  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值