前言:关于hadoop集群的搭建,虽然有了很多的博客,但是很多都不是很完善。我们开始搭建集群的时候,也是去看别人的博客,在看别人的博客的过程中学到了很多,同时也发现了一些不足,在这篇博客了我会把我们在搭建集群过程中所遇到的问题和解决问题的方法详细地列出了。
集群的搭建过程:
1、在电脑上安装ubuntu
2、创建用户组,添加用户
3、安装jdk(Java Development Kit)
4、安装eclipse
5、安装ssh(SSH 为 Secure Shell )
6、安装hadoop
7、Hadoop的相关配置
8、其他相关配置
1、ubuntu的安装,如果还没有下载好ubuntu安装包的话,可以到官网去下载,网址:http://www.ubuntu.com/,目前推荐下载ubuntu-12.04.1,下载好后,可以将它做成启动盘进行安装,也可以直接安装。
启动盘安装,得用到一个软件,具体步骤可以在网上查一下,用这种方法安装的话,得从磁盘中删除一个盘来安装。
直接安装很简单,直接从文件中解压出一个叫wubi的可执行文件,(不必全部解压),解压后的wubi文件得和原来的安装放在同意目录下,双击wubi文件,根据它的提示进行安装。
2、一般我们都不直接在原来的用户(身份是管理员)安装和运行这些程序,可能是考虑到出现系统的一些问题后,我们可以利用原来的用户来处理吧。所以我们在ubuntu下创建了一个hadoop用户组,添加了一个hadoop用户,具体命令如下:
添加用户组:sudo addgroup hadoop
添加用户:sudo adduser -ingroup hadoop hadoop
添加用户权限:sudo gedit /etc/sudoers
# User privilege specification
rootALL=(ALL:ALL) ALL
hadoop ALL=(ALL:ALL) ALL #此处为追加的内容
3、切换到hadoop用户,安装jdk了,将jdk安装文件拷贝到要安装的目录下,我们是放在在 /usr/local,如果不能直接复制过去,可以
使用命令 sudo cp 源文件路径 目标目录.然后就开始解压,输入如下命令:sudo tar -zxvf 文件路径。解压好了之后,将进入到最关键的一步,那就是配置jdk。用命令打开profile文件,sudo gedit /etc/profile
在文件里面添加如下信息:
#set java environment
export JAVA_HOME=/usr/local/jdk1.7.0_10
export JRE_HOME=/usr/local/jdk1.7.0_10/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
保存好后,在终端输入java -version 如果没有显示jdk的版本号,重启计算机,
再输入java -version
4、安装eclipse,只需将eclipse的文件进行解压,然后点击里面的eclipse可执行程序就可以运行了,注意,如果解压完无法打开eclipse,请重启。
5、安装ssh
安装ssh的命令:usdo apt-get install openssh-server
然后生成密钥:ssh-keygen -t rsa -P ""
要求输入密钥的位置时,设置为:/home/hadoop/.ssh/id_rsa
给本机拷贝公钥的命令ssh-copy-id -i localhost
给master拷贝公钥的命令ssh-copy-id -i master
如果无法连接到本机或master,先查看ssh进程是否已经开启,命令为:ps -e |grep ssh
如果无法看到sshd进程,说明ssh进程没有起始或者ssh没有成功安装,可以重新安装ssh,按照步骤进行下一步操作。
6、安装hadoop
将hadoop压缩文件复制到 /usr/local文件夹下,然后解压
解压好了之后配置hadoop-env.sh文件,即指定jdk的安装目录
命令:sudo gedit /usr/local/hadoop/conf/hadoop-env.sh
删掉JAVA_HOME前面的#,将JAVA_HOME等号后面的路径改为jdk的所在的路径即可,不需要到bin目录下。
7、配置hadoop
需要配置下面5个文件,masters、slaves、core-site.xml、hdfs-site.xml和marred-site.xml
1)在终端输入sudo gedit /usr/local/hadoop/conf/masters
将里面的localhost改为master,然后点击保存即可
2)在终端输入sudo gedit /usr/local/hadoop/conf/slavers
将里面的localhost改为slaver1 ... slavern,然后点击保存即可
slavern (n=1,2,3 。。。)是你指定用来当作salver的机器。
3)在终端输入sudo gedit /usr/local/hadoop/conf/core-site.xml
将里面的内容替换为如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
4)在终端输入sudo gedit /usr/local/hadoop/conf/hdfs-site.xml
将里面的内容替换为如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/datalogs</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
5)在终端输入sudo gedit /usr/local/hadoop/conf/mapred-site.xml
将里面的内容替换为如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
8、相关的配置
1)修改机器名:
命令:sudo gedit /etc/hostname 将里面原来的机器名改为你想要的机器名即可,然后保存,重启之后机器名才会改过来。
2)修改hosts文件:
命令:sudo gedit /etc/hosts 将里面的内容替换如下:
127.0.0.1localhost
172.0.0.1 ubuntu.ubuntu-domain ubuntu5
192.168.0.205 master
192.168.0.201 slave1
192.168.0.202 slave2
192.168.0.203 slave3
192.168.0.204 slave4
192.168.0.206 slave6
192.168.0.207 slave7
3)常用的hadoop命令
格式化命令:
bin/hadoop namenode -format
启动集群的命令
bin/start-all.sh