ubuntu14.04.4 LTS系统搭建Hadoop集群
1、下载虚拟机以及ubuntu系统
ubuntu系统下载地址:64位 (下载地址:https://www.ubuntu.com/download/desktop)
查询系统版本以及位数:
一、查看操作系统是32位的还是64位的
在控制台输入:sudo uname --m
回车后:
如果显示i686,则表示安装了32位操作系统
如果显示 x86_64,则表示安装了64位操作系统
二、查看操作系统的版本号:
cat /etc/issue
比如输出:Ubuntu 14.04.4 LTS \n \l
2、下载并安装jdk1.8
设置本机和虚拟机的共享文件夹,启动ubuntu,现在再看/mnt目录,已经存在文件夹hgfs,而且里面有共享文件夹。/mnt/hgfs/shareUbuntu
复制jdk 到 usr/local/java 路径,如果不存在那么新建文件夹 java
然后解压tar包: tar -zxvf 压缩包
然后重命名 sudo mv jdk1.8.0_71/jdk8
设置java home路径:
5.配置环境变量
执行命令:vim ~/.bashrc
点击字母i,进入到编辑状态,在底部加入以下命令
export JAVA_HOME=/usr/lib/java/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
点击退出键Esc进入到命令模式,按下:wq保存并且退出,注意此命令有冒号。然后执行命令:source .bashrc使配置生效即可
按ESC键 跳到命令模式,然后:
:
:w 保存文件但不退出vi
:
:w file 将修改另外保存到file中,不退出vi
:
:w! 强制保存,不推出vi
:
:wq 保存文件并退出vi
:
:wq! 强制保存文件,并退出vi
q
q: 不保存文件,退出vi
:
:q! 不保存文件,强制退出vi
:
:e! 放弃所有修改,从上次保存文件开始再编辑
apt-get install openjavac
vim /etc/profile
sourse /etc/profile
master ip地址: 192.168.80.128
node1 ip地址 : 192.168.80.129
node2 ip地址 : 192.168.80.130
1、新建用户组
sudo groupadd hadoop
2、添加用户hduser 到hadoop组
sudo useradd -s /bin/bash -d /home/hduser -m hduser -g hadoop
3、新用户修改登录密码,输入2遍确认
sudo passwd hduser
4、赋予hduser用户admin权限
sudo adduser hduser sudo
三、配置ssh免密码连入
dpkg --list|grep ssh
如果缺少了opensh-server,需要进行安装。
sudo apt-get install openssh-server
问题:用户名 不在 sudoers文件中,此事将被报告。
sudo命令可以让你以root身份执行命令,来完成一些我们这个帐号完成不了的任务。
其实并非所有用户都能够执行sudo,因为有权限的用户都在/etc/sudoers中呢。
我们可以通过编辑器来打开/etc/sudoers,或者直接使用命令visudo来搞定这件事情。
打开sudoers后,像如下那样加上自己的帐号保存后就可以了。
[plain] view plain copy
# User privilege specification
root ALL=(ALL:ALL) ALL
linc ALL=(ALL:ALL) ALL
sudoers的权限是0440,即只有root才能读。在你用root或sudo后强行保存(wq!)即可。
问题2:
linux新建用户,切换后只显示$的问题,而且有些命令也使用不了,解决方法如下。
[email protected]:~# cat /etc/passwd
最后一行
jiang:x:1003:1003::/usr/jiang:/bin/sh
默认的shell为/bin/sh
改为bash
[email protected]:~# vi /etc/passwd
jiang:x:1003:1003::/usr/jiang:/bin/bash
hduser$ ssh-****** -t rsa -P '' -f ~/.ssh/id_rsa
用hduser用户建立 .ssh文件夹 修改文件的权限所有者为 hduser 组为hadoop
chown hduser hduser/
chgrp hadoop hduser/
将公钥加入到已认证的key
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
is_dsa.pub
不要加空格!!!
scp [email protected]:/home/hduser/.ssh/id_rsa.pub /home/hduser/.ssh/node1_dsa.pub
cat ~/.ssh/node1_dsa.pub >> ~/.ssh/authorized_keys
五、配置 /etc/hadoop目录下的几个文件及 /etc/profile
主要有这5个文件需要修改:
1、~/etc/hadoop/hadoop-env.sh
配置java_home : /usr/lib/jvm/jdk1.8.0_71
2、~/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> 修改master为192.168.80.128
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/hadoop/hadoop2.7.5/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
3、~/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/hduser/hadoop/hadoop2.7.5/name</value>
<final>true</final>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hduser/hadoop/hadoop2.7.5/data</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
<final>true</final>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4、~/etc/hadoop/mapred-site.xml
<connfiguration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
5、~/etc/hadoop/slaves
node1
node2
6、/etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_71
export HADOOP_INSTALL=/home/hduser/hadoop/hadoop2.7.5
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${HADOOP_INSTALL}/bin:${HADOOP_INSTALL}/sbin:${JAVA_HOME}/bin:$PATH
原来的
export JAVA_HOME=/usr/lib/java/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
7、 source /etc/profile
三台机都要进行这些操作,可以先在一台主机上修改,修改完了复制到其它主机就可以了。
首先是hadoop-env.sh ,添加java安装的地址,保存退出即可。
hadoop 安装地址: /home/hduser/hadoop/hadoop-2.7.5
六、格式化集群:
在master主机上进行格式化
hadoop namenode -format
忽略报错: SHUTDOWN_MSG: Shutting down NameNode at master/192.168.80.128
[email protected]:/home/hduser/hadoop/hadoop2.7.5$ start-all.sh
master机器:

node机器

进入系统先 source /etc/profile 启动hadoop
然后 start-all.sh

ubuntu系统下载地址:64位 (下载地址:https://www.ubuntu.com/download/desktop)
查询系统版本以及位数:
一、查看操作系统是32位的还是64位的
在控制台输入:sudo uname --m
回车后:
如果显示i686,则表示安装了32位操作系统
如果显示 x86_64,则表示安装了64位操作系统
二、查看操作系统的版本号:
cat /etc/issue
比如输出:Ubuntu 14.04.4 LTS \n \l
2、下载并安装jdk1.8
设置本机和虚拟机的共享文件夹,启动ubuntu,现在再看/mnt目录,已经存在文件夹hgfs,而且里面有共享文件夹。/mnt/hgfs/shareUbuntu
复制jdk 到 usr/local/java 路径,如果不存在那么新建文件夹 java
然后解压tar包: tar -zxvf 压缩包
然后重命名 sudo mv jdk1.8.0_71/jdk8
设置java home路径:
5.配置环境变量
执行命令:vim ~/.bashrc
点击字母i,进入到编辑状态,在底部加入以下命令
export JAVA_HOME=/usr/lib/java/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
点击退出键Esc进入到命令模式,按下:wq保存并且退出,注意此命令有冒号。然后执行命令:source .bashrc使配置生效即可
按ESC键 跳到命令模式,然后:
:
:w 保存文件但不退出vi
:
:w file 将修改另外保存到file中,不退出vi
:
:w! 强制保存,不推出vi
:
:wq 保存文件并退出vi
:
:wq! 强制保存文件,并退出vi
q
q: 不保存文件,退出vi
:
:q! 不保存文件,强制退出vi
:
:e! 放弃所有修改,从上次保存文件开始再编辑
apt-get install openjavac
vim /etc/profile
sourse /etc/profile
master ip地址: 192.168.80.128
node1 ip地址 : 192.168.80.129
node2 ip地址 : 192.168.80.130
1、新建用户组
sudo groupadd hadoop
2、添加用户hduser 到hadoop组
sudo useradd -s /bin/bash -d /home/hduser -m hduser -g hadoop
3、新用户修改登录密码,输入2遍确认
sudo passwd hduser
4、赋予hduser用户admin权限
sudo adduser hduser sudo
三、配置ssh免密码连入
dpkg --list|grep ssh
如果缺少了opensh-server,需要进行安装。
sudo apt-get install openssh-server
问题:用户名 不在 sudoers文件中,此事将被报告。
sudo命令可以让你以root身份执行命令,来完成一些我们这个帐号完成不了的任务。
其实并非所有用户都能够执行sudo,因为有权限的用户都在/etc/sudoers中呢。
我们可以通过编辑器来打开/etc/sudoers,或者直接使用命令visudo来搞定这件事情。
打开sudoers后,像如下那样加上自己的帐号保存后就可以了。
[plain] view plain copy
# User privilege specification
root ALL=(ALL:ALL) ALL
linc ALL=(ALL:ALL) ALL
sudoers的权限是0440,即只有root才能读。在你用root或sudo后强行保存(wq!)即可。
问题2:
linux新建用户,切换后只显示$的问题,而且有些命令也使用不了,解决方法如下。
[email protected]:~# cat /etc/passwd
最后一行
jiang:x:1003:1003::/usr/jiang:/bin/sh
默认的shell为/bin/sh
改为bash
[email protected]:~# vi /etc/passwd
jiang:x:1003:1003::/usr/jiang:/bin/bash
hduser$ ssh-****** -t rsa -P '' -f ~/.ssh/id_rsa
用hduser用户建立 .ssh文件夹 修改文件的权限所有者为 hduser 组为hadoop
chown hduser hduser/
chgrp hadoop hduser/
将公钥加入到已认证的key
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
is_dsa.pub
不要加空格!!!
scp [email protected]:/home/hduser/.ssh/id_rsa.pub /home/hduser/.ssh/node1_dsa.pub
cat ~/.ssh/node1_dsa.pub >> ~/.ssh/authorized_keys
五、配置 /etc/hadoop目录下的几个文件及 /etc/profile
主要有这5个文件需要修改:
1、~/etc/hadoop/hadoop-env.sh
配置java_home : /usr/lib/jvm/jdk1.8.0_71
2、~/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> 修改master为192.168.80.128
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/hadoop/hadoop2.7.5/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
3、~/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/hduser/hadoop/hadoop2.7.5/name</value>
<final>true</final>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hduser/hadoop/hadoop2.7.5/data</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
<final>true</final>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4、~/etc/hadoop/mapred-site.xml
<connfiguration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
5、~/etc/hadoop/slaves
node1
node2
6、/etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_71
export HADOOP_INSTALL=/home/hduser/hadoop/hadoop2.7.5
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${HADOOP_INSTALL}/bin:${HADOOP_INSTALL}/sbin:${JAVA_HOME}/bin:$PATH
原来的
export JAVA_HOME=/usr/lib/java/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
7、 source /etc/profile
三台机都要进行这些操作,可以先在一台主机上修改,修改完了复制到其它主机就可以了。
首先是hadoop-env.sh ,添加java安装的地址,保存退出即可。
hadoop 安装地址: /home/hduser/hadoop/hadoop-2.7.5
六、格式化集群:
在master主机上进行格式化
hadoop namenode -format
忽略报错: SHUTDOWN_MSG: Shutting down NameNode at master/192.168.80.128
[email protected]:/home/hduser/hadoop/hadoop2.7.5$ start-all.sh
master机器:
node机器
进入系统先 source /etc/profile 启动hadoop
然后 start-all.sh