@DFFuture
2017-03-28T12:28:00.000000Z
字数 2993
阅读 1402
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
whoami
查看主机名是否和标签上的主机名一致
# 查看主机名hostname
如果不一致,修改主机名,重启
# 修改主机名sudo vim /etc/hostname# 重启sudo reboot
[注] Ubuntu不自带Vim编辑器,需要另外安装(也可以用gedit进行编辑)
# 更新源sudo apt-get update# 安装vimsudo apt-get install -y vim
修改hosts
sudo vim /etc/hosts
注释掉127.0.1.1那一行,再添加以下内容(和表1的对应关系一致)
192.168.1.11 hadoop01192.168.1.12 hadoop02192.168.1.13 hadoop03192.168.1.14 hadoop04
查看网络配置,结果如下图所示
ifconfig
eth0代表第一块网卡,为该网卡配置静态IP
sudo vim + /etc/network/interfaces
添加以下内容,注意主机名与IP地址的对应关系
auto eth0# 静态IPiface eth0 inet static# IP地址address 192.168.1.11# 子网掩码netmask 255.255.255.0# 网关gateway 192.168.1.1# DNSdns-nameservers 202.120.111.3
重启使配置生效
都配置完后,查看是否配置成功
查看IP是否正确
ifconfig
主机之间是否能ping通
ping hadoop01 -c 3ping hadoop02 -c 3ping hadoop03 -c 3ping hadoop04 -c 3
下图说明可以hadoop02可以ping通hadoop01(ping通其他主机结果类似)

默认情况下,Ubuntu是没有安装ssh服务端,所以先安装openssh-server
sudo apt-get install -y openssh-server
安装open-server后,可以通过SSH远程登录服务器进行操作
4台主机都安装openssh-server后,再进行以下步骤
仍以hadoop01为例
生成ssh公钥
# 如果没有~/.ssh目录,通过下面命令会自动生成该目录ssh localhost# 进入.ssh目录cd ~/.ssh# 如果之前生成过密钥,先删除以前的密钥rm ./id_rsa*# 生成密钥ssh-keygen -t rsa -P "" #一直按回车就可以了# 将公钥添加到autorized_keys中cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将公钥传输到其他节点上(需要输入密码)
scp ~/.ssh/id_rsa.pub hadoop@hadoop02:~scp ~/.ssh/id_rsa.pub hadoop@hadoop03:~scp ~/.ssh/id_rsa.pub hadoop@hadoop04:~
进入其他主机系统的主目录,ls可以看到公钥id_rsa.pub,将公钥添加到authorized_keys中,然后删除公钥
cat ~/id_rsa.pub >> ~/.ssh/authorized_keysrm -rf id_rsa.pub
如果都能无密码登陆,说明配置成功(第一次ssh登录需要输入yes)
ssh hadoop01ssh hadoop02ssh hadoop03ssh hadoop04
这样通过SSH连接,在一台主机就可以登录所有的主机进行管理
设置root密码(可选)
sudo passwd root
修改配置文件
sudo vim /etc/ssh/sshd_config
修改如下:
#PermitRootLogin without-passwordPermitRootLogin yes
root用户登录
sudo su
操作和上一节类似,只要将hadoop改为root即可
进入软件包所在目录,将jdk-7u80-linux-x64.tar.gz解压并移到/usr/java/目录下
sudo mkdir /usr/java/sudo chown hadoop:hadoop /usr/java/# 解压移动JAVA软件包tar -zxvf jdk-7u80-linux-x64.tar.gzsudo mv jdk1.7.0_80 /usr/java/jdk1.7
可以通过scp将软件复制到其他主机上,这里先复制Java,等配置完Hadoop后,再复制Hadoop
scp -r /usr/java/jdk1.7 hadoop@hadoop02:/usr/java/scp -r /usr/java/jdk1.7 hadoop@hadoop03:/usr/java/scp -r /usr/java/jdk1.7 hadoop@hadoop04:/usr/java/
为JAVA设置环境变量
打开并编辑配置文件~/.bashrc(不是/etc/profile)
# 编辑bashrcvim ~/.bashrc
如下图所示,输入以下变量
export JAVA_HOME=/usr/java/jdk1.7export JRE_HOME=${JAVA_HOME}/jreexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
保存后执行source ~/.bashrc使配置生效
查看环境变量配置是否成功,如下图所示,说明配置成功
# 查看JAVA版本java -version

通过scp将.bashrc复制到其他主机上
scp ~/.bashrc hadoop@hadoop02:~scp ~/.bashrc hadoop@hadoop03:~scp ~/.bashrc hadoop@hadoop04:~
因为主机另带有一块3T的机械硬盘,所以需要将硬盘家在到系统中
# 查看硬盘分区fdisk -lu# 格式化硬盘sudo mkfs -t ext4 /dev/sdb# 新建挂载点sudo mkdir /mnt/hdfs1# 挂载sudo mount -t ext4 /dev/sdb /mnt/hdfs1/# 修改拥有者sudo chown -R hadoop:hadoop /mnt/hdfs1/
设置开机自动挂载
sudo vim + /etc/fstab
在末尾输入输入
# 设备名称 挂载点 文件系统类型/dev/sdb /mnt/hdfs1 ext4 defaults 0 0