hadoop 集群搭建-suse linux 11
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop 集群搭建-suse linux 11相关的知识,希望对你有一定的参考价值。
好久都没写了啊。感觉自己都不像是一个搞技术都了。
来个存货吧!
hadoop 集群搭建
3台机器 suse 系统
规划
IP 主机名 hostname hadoop角色
10.96.91.93 namenode93 NameNode、SecondaryNameNode 、ResourceManage、 DataNode 、NodeManager
10.96.91.129 datanode129 DataNode NodeManager
10.96.91.130 datanode130 DataNode NodeManager
创建 hadoop 用户
useradd -u 501 -g users -d /home/hadoop -s /bin/bash hadoop
mkdir /home/hadoop
chown -R hadoop:users /home/hadoop
passwd hadoop 密码设置
方便记忆,我设置到用户名和密码一样
修改主机名
文件位置 /etc/HOSTNAME
vim /etc/HOSTNAME文件
/etc/rc.d/boot.localnet start
修改host文件 !三台机器都要修改!
文件位置 /etc/hosts
10.96.91.93 namenode93
10.96.91.129 datanode129
10.96.91.130 datanode130
配置ssh免密码登录
ssh-keygen -t rsa
.ssh目录下
cat id_rsa.pub >> authorized_keys
把自己本机公钥发送到目标机器
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
配置环境
文件位置 /etc/profile
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
export JRE_HOME=/home/hadoop/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
export HADOOP_HOME=/home/hadoop/hadoop-2.9.1
export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
最重要到-----Hadoop文件配置
创建hdfs文件夹
文件夹不是必须这样创建,但是,一定要和配置文件对应上。 创建后如下:
/home/hadoop/hadoop-2.9.1/hdfs
/home/hadoop/hadoop-2.9.1/hdfs/tmp
/home/hadoop/hadoop-2.9.1/hdfs/name
/home/hadoop/hadoop-2.9.1/hdfs/data
进入配置目录
cd /home/hadoop/hadoop-2.9.1/etc/hadoop
配置core-site.xml
在<configuration></configuration>中加入
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.9.1/hdfs/tmpp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode93:9000</value>
</property>
注意:hadoop.tmp.dir的value和我们之前创建的/home/hadoop/hadoop-2.9.1/hdfs/tmp路径要一致
配置 hadoop-env.sh文件
将JAVA_HOME文件配置为本机JAVA_HOME路径
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
配配置 yarn-env.sh
将其中的JAVA_HOME修改为本机JAVA_HOME路径
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
配置hdfs-site.xml
在<configuration></configuration>中加入
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.9.1/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.9.1/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>namenode93:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
注意:dfs.namenode.name.dir和dfs.datanode.data.dir的value和之前创建的/hdfs/name和/hdfs/data路径一致
配置mapred-site.xml
复制mapred-site.xml.template文件,并命名为mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
配置 mapred-site.xml,在标签<configuration>中添加
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
配置yarn-site.xml
在<configuration>标签中添加以
<property>
<name>yarn.resourcemanager.address</name>
<valu>namenode93:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>namenode93:18030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>namenode93:18088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>namenode93:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>namenode93:18141</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
配置slaves 文件
把原本的localhost删掉,改为
namenode93
datanode129
datanode130
将hadoop-2.9.1文件夹传到其他虚拟机上
scp -r hadoop-2.9.1 [email protected]:~/
scp -r hadoop-2.9.1 [email protected]:~/
注意:hadoop是虚拟机的用户名,
初始化hadoop 在namenode机器上
hdfs namenode -format
启动Hadoop
start-dfs.sh
start-yarn.sh
或者start-all.sh
停止Hadoopstop-yarn.sh
stop-dfs.sh
或者stop-all.sh
查看命令
可以查看到当前登录机器到角色
jps
jps查询结果如下
[email protected]:~> jps
15314 SecondaryNameNode
15484 ResourceManager
14956 NameNode
15116 DataNode
15612 NodeManager
16781 Jps
129 130两个机器是 DataNode,在Hadoop到配置里,可以灵活配置各个机器角色 详细到配置官网上有 jps查询结果如下
[email protected]:~> jps
10233 NodeManager
10365 Jps
10110 DataNode
到这里,三台机器搭建的Hadoop集群就组建完毕了。
用自带的样例测试hadoop集群跑任务
使用命令
hadoop jar /home/hadoop/hadoop-2.9.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar pi 10 10
用来求圆周率,pi是类名,第一个10表示Map次数,第二个10表示随机生成点的次数
最后出现结果
Job Finished in 32.014 seconds
Estimated value of Pi is 3.20000000000000000000
ok,集群测试可用。 网上还有测试统计字数到例子,有兴趣可以尝试一下
HDFS管理界面
yarn管理界面
其他suse命令
查看版本
lsb_release -d
SUSE11下: 关闭防
service SuSEfirewall2_setup stop
service SuSEfirewall2_init stop
取消开机启动防火墙:
chkconfig SuSEfirewall2_setup off
chkconfig SuSEfirewall2_init off
查看端口情况
netstat -ntpl
参考资料
CentOs6搭建Hadoop环境,这是一个网上比较好的例子。尤其是Hadoop HA安装这部分比较全面。
Hadoop配置文件参数详解,这个只是参考,Hadoop版本不一样可能使用到配置也有一些差别。具体查看项目对应版本的配置部分文档。
Apache Hadoop 2.9.1项目
以上是关于hadoop 集群搭建-suse linux 11的主要内容,如果未能解决你的问题,请参考以下文章
Linux 搭建Hadoop集群 ----workcount案例