[关闭]
@DFFuture 2017-03-28T12:28:00.000000Z 字数 2993 阅读 1325

Hadoop集群基础环境配置

Hadoop


准备

  • 操作系统:Ubuntu 14.04(安装过程可参见安装Ubuntu 16
  • 硬件:4台Dell Precison Tower 7810,1台交换机
  • 软件包:jdk-7u80-linux-x64.tar.gz

网络配置

主机名与IP地址如下表所示:

hostname IP username
hadoop01 192.168.1.11 hadoop
hadoop02 192.168.1.12 hadoop
hadoop03 192.168.1.13 hadoop
hadoop04 192.168.1.14 hadoop

下面以hadoop01为例配置网络
快捷键Alt + Ctrl + T调出终端Terminal
查看用户名是否是hadoop

  1. whoami

Hostname

查看主机名是否和标签上的主机名一致

  1. # 查看主机名
  2. hostname

如果不一致,修改主机名,重启

  1. # 修改主机名
  2. sudo vim /etc/hostname
  3. # 重启
  4. sudo reboot

[注] Ubuntu不自带Vim编辑器,需要另外安装(也可以用gedit进行编辑)

  1. # 更新源
  2. sudo apt-get update
  3. # 安装vim
  4. sudo apt-get install -y vim

hosts

修改hosts

  1. sudo vim /etc/hosts

注释掉127.0.1.1那一行,再添加以下内容(和表1的对应关系一致)

  1. 192.168.1.11 hadoop01
  2. 192.168.1.12 hadoop02
  3. 192.168.1.13 hadoop03
  4. 192.168.1.14 hadoop04

静态IP

查看网络配置,结果如下图所示

  1. ifconfig

网络配置
eth0代表第一块网卡,为该网卡配置静态IP

  1. sudo vim + /etc/network/interfaces

添加以下内容,注意主机名与IP地址的对应关系

  1. auto eth0
  2. # 静态IP
  3. iface eth0 inet static
  4. # IP地址
  5. address 192.168.1.11
  6. # 子网掩码
  7. netmask 255.255.255.0
  8. # 网关
  9. gateway 192.168.1.1
  10. # DNS
  11. dns-nameservers 202.120.111.3

重启使配置生效

都配置完后,查看是否配置成功
查看IP是否正确

  1. ifconfig

主机之间是否能ping通

  1. ping hadoop01 -c 3
  2. ping hadoop02 -c 3
  3. ping hadoop03 -c 3
  4. ping hadoop04 -c 3

下图说明可以hadoop02可以ping通hadoop01(ping通其他主机结果类似)
PING通

SSH无密码登录节点

普通用户免密码登录

默认情况下,Ubuntu是没有安装ssh服务端,所以先安装openssh-server

  1. sudo apt-get install -y openssh-server

安装open-server后,可以通过SSH远程登录服务器进行操作

4台主机都安装openssh-server后,再进行以下步骤
仍以hadoop01为例
生成ssh公钥

  1. # 如果没有~/.ssh目录,通过下面命令会自动生成该目录
  2. ssh localhost
  3. # 进入.ssh目录
  4. cd ~/.ssh
  5. # 如果之前生成过密钥,先删除以前的密钥
  6. rm ./id_rsa*
  7. # 生成密钥
  8. ssh-keygen -t rsa -P "" #一直按回车就可以了
  9. # 将公钥添加到autorized_keys中
  10. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

将公钥传输到其他节点上(需要输入密码)

  1. scp ~/.ssh/id_rsa.pub hadoop@hadoop02:~
  2. scp ~/.ssh/id_rsa.pub hadoop@hadoop03:~
  3. scp ~/.ssh/id_rsa.pub hadoop@hadoop04:~

进入其他主机系统的主目录,ls可以看到公钥id_rsa.pub,将公钥添加到authorized_keys中,然后删除公钥

  1. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
  2. rm -rf id_rsa.pub

如果都能无密码登陆,说明配置成功(第一次ssh登录需要输入yes

  1. ssh hadoop01
  2. ssh hadoop02
  3. ssh hadoop03
  4. ssh hadoop04

这样通过SSH连接,在一台主机就可以登录所有的主机进行管理

ROOT用户免密码登录(可选)

设置root密码(可选)

  1. sudo passwd root

修改配置文件

  1. sudo vim /etc/ssh/sshd_config

修改如下:

  1. #PermitRootLogin without-password
  2. PermitRootLogin yes

root用户登录

  1. sudo su

操作和上一节类似,只要将hadoop改为root即可

安装JDK

进入软件包所在目录,将jdk-7u80-linux-x64.tar.gz解压并移到/usr/java/目录下

  1. sudo mkdir /usr/java/
  2. sudo chown hadoop:hadoop /usr/java/
  3. # 解压移动JAVA软件包
  4. tar -zxvf jdk-7u80-linux-x64.tar.gz
  5. sudo mv jdk1.7.0_80 /usr/java/jdk1.7

可以通过scp将软件复制到其他主机上,这里先复制Java,等配置完Hadoop后,再复制Hadoop

  1. scp -r /usr/java/jdk1.7 hadoop@hadoop02:/usr/java/
  2. scp -r /usr/java/jdk1.7 hadoop@hadoop03:/usr/java/
  3. scp -r /usr/java/jdk1.7 hadoop@hadoop04:/usr/java/

为JAVA设置环境变量
打开并编辑配置文件~/.bashrc(不是/etc/profile)

  1. # 编辑bashrc
  2. vim ~/.bashrc

如下图所示,输入以下变量

  1. export JAVA_HOME=/usr/java/jdk1.7
  2. export JRE_HOME=${JAVA_HOME}/jre
  3. export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  4. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

环境变量
保存后执行source ~/.bashrc使配置生效
查看环境变量配置是否成功,如下图所示,说明配置成功

  1. # 查看JAVA版本
  2. java -version

JAVA版本

通过scp将.bashrc复制到其他主机上

  1. scp ~/.bashrc hadoop@hadoop02:~
  2. scp ~/.bashrc hadoop@hadoop03:~
  3. scp ~/.bashrc hadoop@hadoop04:~

加载硬盘

因为主机另带有一块3T的机械硬盘,所以需要将硬盘家在到系统中

  1. # 查看硬盘分区
  2. fdisk -lu
  3. # 格式化硬盘
  4. sudo mkfs -t ext4 /dev/sdb
  5. # 新建挂载点
  6. sudo mkdir /mnt/hdfs1
  7. # 挂载
  8. sudo mount -t ext4 /dev/sdb /mnt/hdfs1/
  9. # 修改拥有者
  10. sudo chown -R hadoop:hadoop /mnt/hdfs1/

设置开机自动挂载

  1. sudo vim + /etc/fstab

在末尾输入输入

  1. # 设备名称 挂载点 文件系统类型
  2. /dev/sdb /mnt/hdfs1 ext4 defaults 0 0
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注