Hadoop虚拟集群的搭建

el/2024/4/13 13:22:05
主要参考:
1. http://blog.csdn.net/bluetropic/article/details/9335675
2. http://blog.csdn.net/hguisu/article/details/7237395
一、环境介绍:2个节点的虚拟机VMware,Ubuntu12.04
二、修改机器名
sudo vi /etc/hostname
节点1设置为:VM-BBI-N1
节点2设置为:VM-BBI-N2
注:Hadoop集群配置中将设置VM-BBI-N1为master,VM-BBI-N2为slave
三、域名和ip配置
sudo vi /etc/hosts
节点1和2均设置为:
172.29.4.165    VM-BBI-N1.IRRI.CGIARAD.ORG VM-BBI-N1
172.29.4.166    VM-BBI-N2.IRRI.CGIARAD.ORG VM-BBI-N2
四、创建用户、分配权限(节点1和节点2上相同)
1)创建hadoop用户组:sudo addgroup hadoop
2)创建用户hadoop:sudo adduser -ingroup hadoop hadoop
3)给hadoop用户添加权限:sudo vi /etc/sudoers
在文件最后添加一行:hadoop  ALL=(ALL:ALL) ALL
五、安装ssh服务(节点1和节点2上相同)
sudo apt-get install openssh-server
六、建立ssh无密码登录环境(节点1和节点2上相同)
首先转换为hadoop用户:su hadoop
切换目录:cd /home/hadoop
1)ssh生成密钥(rsa方式):ssh-keygen -t rsa -P ""
回车后会在目录.ssh下生成两个文件:id_rsa和id_rsa.pub (注:这两个文件是成对出现的)
2)切换到.ssh目录下,然后将id_rsa.pub复制到authorized_keys授权文件中:
cd .ssh
cp id_rsa.pub authorized_keys
3)修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys  (注:去掉该行前面的注释)
重启SSH服务:sudo restart ssh
4)验证是否成功:ssh localhost
如果无错误提示,本地无密码登录就配置成功。
七、配置集群无密码登录
首先配置slave节点无密码访问master。
1)在VM-BBI-N2上,远程复制文件"id_rsa.pub"到主机VM-BBI-N1的用户hadoop的"/home/hadoop/":
scp ~/.ssh/id_rsa.pub hadoop@VM-BBI-N1:~/
因为还没有建立起无密码连接,所以在连接时,要输入VM-BBI-N1服务器用户hadoop的密码。(注:登录VM-BBI-N1查看"/home/hadoop/"下是否存在这个文件)
2)在VM-BBI-N1上,把刚复制过来的VM-BBI-N2的公钥追加到VM-BBI-N1的授权文件"authorized_keys"中去。
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
修改"authorized_keys"文件权限:chmod 600 ~/.ssh/authorized_keys
删除"/home/hadoop/"目录下的"id_rsa.pub"文件:rm –r ~/id_rsa.pub
3)如果集群中有更多的slave节点,对他们重复步骤(1)-(2)对剩余的slave服务器进行配置。
完成"配置Slave无密码登录Master".
4)在VM-BBI-N1上,输入命令:scp ~/.ssh/authorized_keys hadoop@VM-BBI-N2:~/.ssh/
如果集群中有更多的slave节点,分别修改以上命令中的VM-BBI-N2为剩余的slave服务器,将复制master节点的authorized_keys到所有slave节点的.ssh目录。
5)在VM-BBI-N1上,登录其余各个节点:ssh VM-BBI-N2
6)在VM-BBI-N2上,登录其余各个节点:ssh VM-BBI-N1
八、配置JAVA环境(节点1和节点2上相同)
1)安装JAVA:sudo apt-get install openjdk-7-jdk
2)配置环境变量:sudo vi /etc/profile
在文件最后添加:
# set java environment
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/
保存并退出,使其配置立即生效:source /etc/profile
3)判断是否成功:java –version
九、安装hadoop(节点1和节点2上相同)
1)下载hadoop1.1.2安装包,复制到usr目录:sudo cp ~/hadoop-1.1.2.tar.gz  /usr
2)切换目录:cd /usr
3)解压缩安装包:sudo tar -zxvf hadoop-1.1.2.tar.gz
4)修改文件名:sudo mv hadoop-1.1.2 hadoop
5)修改hadoop目录权限:sudo chown -R hadoop:hadoop hadoop
                     sudo chmod -R 777 hadoop 
6)删除安装包:sudo rm -rf hadoop-1.1.2.tar.gz
7)切换到hadoop目录下的conf目录:cd  /usr/hadoop/conf
8)编辑hadoop-env.sh:sudo vi hadoop-env.sh
配置JAVA_HOME为前面配置的JAVA_HOME。
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
让环境变量配置生效: source conf/hadoop-env.sh   
9)编辑core-site.xml:sudo vi core-site.xml
在<configuration>标签内,添加配置信息如下:
<property><name>hadoop.tmp.dir</name><value>/home/hadoop/hdfs/tmp</value>
</property>
<property><name>fs.default.name</name><value>hdfs://vm-bbi-n1:49000</value>
</property>
注1:在所有节点的/home/hadoop目录下,建立目录hdfs:sudo mkdir hdfs修改权限:sudo chown -R hadoop:hadoop hdfs
注2:如果需要重新格式化分布式文件系统(即执行十 (1)操作),必须先将原有hdfs目录下的所有文件夹(data,name,tmp和local,见后续hdfs-site.xml和mapred-site.xml中的设置)删除。
注3:设置端口之前,先查看端口49000是否被占用:netstat -tuln | grep 49000如无显示信息则表示端口未被占用。后面的设置中端口号(49001,50031,50032,50033)都需要先查看是否被占用
10)修改hdfs-site.xml:sudo vi hdfs-site.xml
在<configuration>标签内,添加配置信息如下:
<property><name>dfs.safemode.threshold.pct</name><value>0</value>
</property>
<property><name>dfs.http.address</name><value>vm-bbi-n1:50031</value>
</property>
<property><name>dfs.secondary.http.address</name><value>vm-bbi-n1:50033</value>
</property>
<property><name>dfs.replication</name><value>1</value>
</property>
<property><name>dfs.name.dir</name><value>/home/hadoop/hdfs/name</value>
</property>
<property><name>dfs.data.dir</name><value>/home/hadoop/hdfs/data</value>
</property>
11)在mapred-site.xml中添加内容:
<property><name>mapred.job.tracker</name><value>vm-bbi-n1:49001</value>
</property>
<property><name>mapred.job.tracker.http.address</name><value>vm-bbi-n1:50032</value>
</property>
<property><name>mapred.local.dir</name><value>/home/hadoop/hdfs/local</value>
</property>
12)修改masters:
vm-bbi-n1
13)修改slaves:
vm-bbi-n2
重复上述步骤,为其他节点做相同的配置。
或
14)使用scp远程复制主机(master)hadoop目录下的所有文件到其他节点:
在VM-BBI-N1上,sudo scp -r /usr/hadoop hadoop@vm-bbi-n2:/usr
在VM-BBI-N2上(/usr目录下),修改hadoop目录权限:sudo chown -R hadoop:hadoop hadoop
十、启动hadoop
1)在VM-BBI-N1主机上的hadoop安装目录下,执行格式化:bin/hadoop namenode -format
2)启动服务:bin/start-all.sh
3)到各个节点上使用jps查看进程启动情况。
在master上的结果:Jps、SecondaryNameNode、NameNode和JobTracker四个服务
在slave上的结果:TaskTracker、DataNode和Jps三个服务

http://www.ngui.cc/el/4999769.html

相关文章

Hadoop操作HDFS命令

转载自&#xff1a;http://www.juziku.com/sunlightcs/wiki/6017.htm hadoop fs 查看Hadoop HDFS支持的所有命令 hadoop fs –ls 列出目录及文件信息 hadoop fs –lsr 循环列出目录、子目录及文件信息 hadoop fs –put test.txt /user/sunlightcs 将本地文件系统的…

hadoop 创建用户及hdfs权限,hdfs操作等常用shell命令

添加一个hadoop组sudo addgroup hadoop 将当前用户larry加入到hadoop组 sudo usermod -a -G hadoop larry 将hadoop组加入到sudoer sudo gedit etc/sudoers 在root ALL(ALL) ALL后 hadoop ALL(ALL) ALL 修改hadoop目录的权限 sudo chown -R larry:hadoop /home/larry/hadoop…

linux的chmod命令使用详解

在Unix和Linux的各种操作系统下&#xff0c;每个文件&#xff08;文件夹也被看作是文件&#xff09;都按读、写、运行设定权限。 例如我用ls -l命令列文件表时&#xff0c;得到如下输出: -rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm 从第二个字符起rw-是说用户bu有读、…

Shell脚本编写教程

&#xfeff;&#xfeff; 建立一个脚本 Linux中有好多中不同的shell&#xff0c;但是通常我们使用bash (bourne again shell) 进行shell编程&#xff0c;因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash&#xff08;但是在大多数情况下&#xff0c…

win 7 home版R package打包、发布、安装

&#xfeff;&#xfeff; 首先&#xff0c;当然需要安装好R&#xff08;假设安装目录为C:\Program Files\R\R-3.0.2&#xff09;和Rtools&#xff08;假设安装目录为C:\Rtools&#xff09;。如果需要生成pdf文档&#xff0c;还需安装一个TeX工具&#xff08;MikTex或CTeX&…

美国公开课网址

&#xfeff;&#xfeff; 耶鲁大学公开课程&#xff1a;http://oyc.yale.edu/ 麻省理工大学公开课程&#xff1a;http://ocw.mit.edu/ 斯坦福大学公开课程&#xff1a;http://itunes.stanford.edu/ 加州大学伯克利分校公开课程&#xff1a;http://webcast.berkeley.edu/cou…

Linux Mint下中文输入法的配置

1. 直接执行&#xff1a;sudo apt-get install ibus (可选) sudo apt-get install ibus-pinyin ibus-pinyin-db-android 2. 到 “控制中心>language support语言支持” 里面&#xff0c;把“键盘输入方式系统“设置为”ibus”。 3. 在“添加或删除语言”里面&#xff0c…

linux上安装QQ(QQ版本太低已不支持)

1.通过软件管理中心&#xff0c;或在终端安装&#xff08;假设版本为1.5&#xff09;安装wine。 sudo add-apt-repository ppa:ubuntu-wine/ppasudo apt-get updatesudo apt-get install wine1.5sudo apt-get install winetricks 或者 在64位的Ubuntu上&#xff0c;安装ia32-l…

Linux上安装R

1.修改源列表文件:sudo vi /etc/apt/sources.list 在该文件中添加:deb http://cran.stat.upd.edu.ph/bin/linux/ubuntu precise/

Ubuntu下R包XML的安装

直接在RStudio中安装&#xff0c;不成功&#xff0c;报错&#xff1a;installation of package xml had non-zero exit status 需要先在Terminal中安装libxml2-dev sudo apt-get install libxml2-dev 然后在Rgui或RStudio中安装XML package 注&#xff1a;安装其它包发生类…