如何搭建hadoop集群 桥接

如何搭建hadoop集群 桥接,第1张

本文通过在vmware workstation上建立三台虚拟机来搭建hadoop集群环境,其中一台作为namenode,两台作为datanode。
一、安装vmware workstation(1000)(一路下一步即可)
二、创建3个虚拟机
每个虚拟机安装Ubuntu 桌面版(我用的1110,但是有点老了,建议用1204或更高版本)
namenode建议多给写内存,我的是namenode 1G内存,20G硬盘,datanode 800M内存,20G硬盘(我电脑内存8G,若内存不够可以少分点,但是可能有些卡)上网上式可设置为桥接方式:直接连接物理网络。
三、安装vmware tools(便于主机和虚拟机直接可以直接拖拽,复制粘贴)
点击vmware 上 虚拟机-》安装VMware tools,自动打开一个包含vmware安装包的位置,可以拷贝到你有权限的地方,例如/usr/src下用 sudo tar zxvf 软件包名称 解压,之后进入解压后的文件夹,执行
sudo /vmware-installsh来安装,过程中遇见yes或no一律enter键,安装后重启生效。
四、配置共享目录(让主机和虚拟机直接方便实时共享)
对每个虚拟机,点击vmware上虚拟机-》设置-》选项,选择共享文件夹,永久共享,添加一个本机的目录所为共享目录,并为这个共享起一个名字,例如叫share。这样在虚拟机上的 /mnt/hgfs下会自动生成share文件夹保持与主机上的目录实时一致。重启生效,有时生效较慢,多重启几次就行了,不知何故。
五,安装ssh,为了一会的免密码登陆
对每台虚拟机运行:sudo apt-get install openssh-server
若不成功,你可能需要更新一下资源列表了:sudo apt-get update
六、配置ssh无密码登录,方便namenode给datanode分配任务和汇总信息
说明:以下生成的秘钥默认保存在用户名空间,所以建议三台虚拟机建立同样的用户名,例如hadoop,也可以都用root用户。
在name node,和datanode都运行:
ssh-keygen –t dsa -P '' –f ~/ssh/id_dsa (建议手打此命令,复制有时候不行,注意都是英文字符,-P的P是大写)
下面将三台虚拟机的公钥拷贝到共享目录中并重命名以供彼此配置使用
在name node:
scp ~/ssh/id_dsapub /mnt/hgfs/share/ id_dsa0pub
在data node 1:
scp ~/ssh/id_dsapub /mnt/hgfs/share/ id_dsa1pub
在data node 2:
scp ~/ssh/id_dsapub /mnt/hgfs/share/ id_dsa2pub

将共享目录中公钥分别添加到三台虚拟机的授权下,分别在name node,data node 1和data node 2执行:
cat /mnt/hgfs/share/id_dsa0pub >> ~/ssh/authorized_keys
cat /mnt/hgfs/share/id_dsa1pub >> ~/ssh/authorized_keys
cat /mnt/hgfs/share/id_dsa2pub >> ~/ssh/authorized_keys

测试:
ssh localhost
ssh 目标机器地址

七,安装jdk
对每个虚拟机:
下载jdk(jdk160)并解压,假定目录为/usr/src/jdk160(如果你的不是,也可以改成是,这样下面的命令直接复制就行了)
设置环境变量。
#vi /etc/profile
在最后面加入
#set java environment
export JAVA_HOME=/usr/src/jdk160
export CLASSPATH=:$JAVA_HOME/libtoolsjar
export PATH=$JAVA_HOME/bin:$PATH
保存退出。
要使JDK在所有的用户中使用,可以这样:
vi /etc/profiled/javash
在新的javash中输入以下内容:
#set java environment
export JAVA_HOME=/usr/src/jdk160
export CLASSPATH=:$JAVA_HOME/lib/toolsjar
export PATH=$JAVA_HOME/bin:$PATH
保存退出,然后给javash分配权限:chmod 755 /etc/profiled/javash
重启虚拟机
八、安装hadoop
在usr/src目录解压: tar zxvf hadoop-0202targz
把hadoop的安装路径添加到/etc/profile中:
export HADOOP_HOME=/usr/src/hadoop-0202
export PATH=$HADOOP_HOME/bin:$PATH

九、配置hadoop
在hadoop-0201/conf目录:
(1)对3个虚拟机,在conf/hadoop-envsh中配置java环境
vi hadoop-envsh
在hadoop-envsh文件中添加
export JAVA_HOME=/usr/src/jdk160
(2) 用ifconfig命令查看ip地址,假定name node内部地址为192168204157,data node 1和data node 2分别为192168204162,192168204173
对name node配置conf/masters和conf/slaves:
masters : 192168204157
slaves : 192168204162
192168204173
(3)对name node, data node 1和data node2,配置conf/core-sitexml, conf/hdfs-sitexml及conf/mapred-sitexml,配置文件内的IP地址均配置为name node的IP地址(比如name node IP地址为192168204157。
说明:因为三台上面这三个配置一样,所以配置一份,然后复制粘贴即可。
(又说明:下面之所以上是因为,新浪会把字符按html重新编译,无法正常显示,无奈啊)
十、运行hadoop
先把三台虚拟机的防火墙关了: sudo ufw disable
对name node:
进入hadoop-0202/bin,首先格式化文件系统: hadoop namenode –format
对data node1 和data node 2:
进入hadoop-0202/bin,执行: hadoop datanode –format

对name node:,在bin目录下执行:
start-allsh
hadoop dfsadmin –safemode leave
hadoop dfsadmin –report, 查看节点情况,看到类似界面显示available的Datanodes 。
用jps命令查看进程,NameNode上的结果为:
26745 JobTracker
29398 jps
27664 NameNode

Data Node 1 的结果:
6718 TaskTracker
6042 DataNode
6750 jps

Data Node 2 的结果:
12173 TaskTracker
10760 DataNode
12700 jps
至此,安装成功。

理论上可以的,vmware虚拟机和云服务器其实和传统物理服务器用起来没差别。但如果你说的云服务器是公有云,是vmware在你的局域网,不推荐组合起来搭建hadoop,因为互联网的网络延迟比本地高,集群会不稳,非要做的话,vmware虚拟机需要用dnat映射地址到公网

namenode就是master。 必须要有一台启动namenode服务。 ============= 如果只需要 datanode,那么jps 命令后,查看到线程ID 然后kill 掉就好了。 注意 kill掉 namenode后,整个hadoop集群就宕掉了。

可以。Hadoop集群可以定义为一种特殊类型的计算集群,旨在用于分布式计算环境中存储和分析大量非结构化数据。vmware16可以搭建hadoop集群。vmwareworkstation16是一款功能强大的电脑虚拟机软件,它可以帮助用户轻松的将一个或多个 *** 作系统,它作为虚拟机运行,是一款能够在一台PC上同时运行多个不同的 *** 作系统的软件。

1修改hadoop目录下的conf/hdfs-sitexml文件下dfsreplication属性为3。

<property>
    <name>dfsreplication</name>  
    <value>3</value>
</property>
 <property>
   <name>dfsdatadir</name>  
   <value>/hadoop/data</value>
 </property>

2修改地址解析文件/etc/hosts,加入形如

192168137110  master
192168137111  slave1
192168137112  slave2

3其他重要配置文件core-sitexml/mapred-sitexml等修改相应属性。

4把hadoop目录下的conf/ masters文件修改成形如下:

master

把hadoop目录下的conf/ slaves文件修改成形如下: 

master
slave1
slave2

注:如果用虚拟机去做这件事,首先你的电脑配置不会太差,毕竟你要开三个虚拟机;其次,我建议你使用ambari,

cloudera等工具搭建,比较简单,不过初学的话,自己动手可以更熟悉整个框架。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13410468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存