设为首页 收藏本站
查看: 670|回复: 0

[经验分享] hadoop2.3.0单点伪分布与多点分布的配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-3-21 14:38:44 | 显示全部楼层 |阅读模式
机器mac book,virtualbox4.3.6,virtualbox安装ubunt13.10,在多点分布环境中,配置好一个机器后,clone出另外2个,一共三台机器。

1. Configure the Environment
Bash语言:
sudo apt-get install -y openjdk-7-jdk openssh-server
sudo addgroup hadoop
sudo adduser —ingroup hadoop hadoop # create password
sudo visudo
hadoop  ALL=(ALL) ALL # hadoop user can use sudo
su - hadoop # need password
ssh-keygen -t rsa -P "" # Enter file (/home/hadoop/.ssh/id_rsa)

cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys
wget http://apache.fayea.com/apache-m ... hadoop-2.3.0.tar.gz
tar zxvf hadoop-2.3.0.tar.gz
sudo cp -r hadoop-2.3.0/ /opt
cd /opt
sudo ln -s hadoop-2.3.0 hadoop
sudo chown -R hadoop:hadoop hadoop-2.3.0
sed -i '$a \\nexport JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64' hadoop/etc/hadoop/hadoop-env.sh




2. Configure hadoop single Node environment
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
  <property>
    <name>mapreduce.cluster.temp.dir</name>
    <value></value>
    <description>No description</description>
    <final>true</final>
  </property>
   <property>
    <name>mapreduce.cluster.local.dir</name>
    <value></value>
    <description>No description</description>
    <final>true</final>
  </property>


vi yarn-site.xml
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>127.0.0.1:8021</value>
    <description>host is the hostname of the resource manager and port is the port on which the NodeManagers contact the Resource Manager.
    </description>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>127.0.0.1:8022</value>
    <description>host is the hostname of the resourcemanager and port is the port on which the Applications in the cluster talk to the Resource Manager.
    </description>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    <description>In case you do not want to use the default scheduler</description>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>127.0.0.1:8023</value>
    <description>the host is the hostname of the ResourceManager and the port is the port on which the clients can talk to the Resource Manager. </description>
  </property>
  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value></value>
    <description>the local directories used by the nodemanager</description>
  </property>
  <property>
    <name>yarn.nodemanager.address</name>
    <value>0.0.0.0:8041</value>
    <description>the nodemanagers bind to this port</description>
  </property>  
  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>10240</value>
    <description>the amount of memory on the NodeManager in GB</description>
  </property>
  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/app-logs</value>
    <description>directory on hdfs where the application logs are moved to </description>
  </property>
   <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value></value>
    <description>the directories used by Nodemanagers as log directories</description>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>shuffle service that needs to be set for Map Reduce to run </description>
  </property>


补充配置:
mapred-site.xml
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>

core-site.xml
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://127.0.0.1:9000</value>
  </property>

hdfs-site.xml
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>


Bash语言:
cd /opt/hadoop
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
jps

# Run a job on this node
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0.jar pi 5 10


3. Running Problem
14/01/04 05:38:22 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:8023. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)


netstat -atnp # found tcp6
Solve:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6 # 0 means ipv6 is on, 1 means off
cat /proc/sys/net/ipv6/conf/lo/disable_ipv6
cat /proc/sys/net/ipv6/conf/default/disable_ipv6
ip a | grep inet6 # have means ipv6 is on


vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6=1  
net.ipv6.conf.default.disable_ipv6=1  
net.ipv6.conf.lo.disable_ipv6=1

sudo sysctl -p # have the same effect with reboot
sudo /etc/init.d/networking restart




4. Cluster setup
Config /opt/hadoop/etc/hadoop/{hadoop-env.sh, yarn-env.sh}
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

cd /opt/hadoop
mkdir -p tmp/{data,name} # on every node. name on namenode, data on datanode

vi /etc/hosts # hostname also changed on each node
192.168.1.110  cloud1
192.168.1.112  cloud2
192.168.1.114  cloud3

vi /opt/hadoop/etc/hadoop/slaves
cloud2
cloud3

core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://cloud1:9000</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
    <description>A base for other temporary directories.</description>
  </property>
</configuration>


据说dfs.datanode.data.dir 需要清空,不然datanode不能启动
hdfs-site.xml
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/data</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>


yarn-site.xml
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>cloud1:8032</value>
    <description>ResourceManager host:port for clients to submit jobs. </description>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>cloud1:8030</value>
    <description>ResourceManager host:port for ApplicationMasters to talk to Scheduler to obtain resources. </description>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>cloud1:8031</value>
    <description>ResourceManager host:port for NodeManagers. </description>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>cloud1:8033</value>
    <description>ResourceManager host:port for administrative commands. </description>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>cloud1:8088</value>
    <description>ResourceManager web-ui host:port. </description>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    <description>In case you do not want to use the default scheduler</description>
  </property>

  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>10240</value>
    <description>the amount of memory on the NodeManager in MB</description>
  </property>
  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value></value>
    <description>the local directories used by the nodemanager</description>
  </property>
  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value></value>
    <description>the directories used by Nodemanagers as log directories</description>
  </property>
  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/app-logs</value>
    <description>directory on hdfs where the application logs are moved to </description>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>shuffle service that needs to be set for Map Reduce to run </description>
  </property>
<!--
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
-->


mapred-site.xml
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>cloud1:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>cloud1:19888</value>
  </property>


cd /opt/hadoop/
bin/hdfs namenode -format
sbin/start-dfs.sh # cloud1 NameNode SecondaryNameNode, cloud2 and cloud3 DataNode
sbin/start-yarn.sh # cloud1 ResourceManager, cloud2 and cloud3 NodeManager
jps

查看集群状态 bin/hdfs dfsadmin -report
查看文件块组成 bin/hdfs fsck / -files -blocks
NameNode查看hdfs  http://192.168.1.110:50070
查看RM    http://192.168.1.110:8088
bin/hdfs dfs -mkdir /input
bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0.jar randomwriter input


5. Questions:
Q: 14/01/05 23:59:05 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
A: /opt/hadoop/lib/native/ 下面的动态链接库是32bit的,要替换成64位的

Q: ssh 登录出现Are you sure you want to continue connecting (yes/no)?解决方法
A: 修改/etc/ssh/ssh_config 将其中的# StrictHostKeyChecking ask 改成 StrictHostKeyChecking no

Q: 两个slaves的DataNode无法加入cluster系统,

A: 把/etc/hosts 里面127.0.1.1或localhost 的内容行删除


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-16020-1-1.html 上篇帖子: Ubuntu 下 安装 hadoop 下篇帖子: hadoop学习(五)Hadoop2.2.0完全分布式安装详解(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表