从装机到hadoop完全分布式

来源:互联网 发布:悟空助手mac电脑版 编辑:程序博客网 时间:2024/06/05 08:15

ubuntu13.04下载地址

http://releases.ubuntu.com/13.04/

新建用户组和用户:

sudo addgroup hadoop

sudo adduser -ingroup hadoop hadoop

授权:

sudo gedit /etc/sudoers

添加下面代码

hadoop  ALL=(ALL:ALL) ALL

===========================

配置hosts文件

hosts:

127.0.0.1    localhost
192.168.18.220 master
192.168.66.130    node0
192.168.66.129  ubuntu
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

===========================

配置环境变量:

export JAVA_HOME=/home/hadoop/jdk1.7.0_45
export JRE_HOME=${JAVA_HOME}/jre
export ZOOKEEPER_HOME=/home/hadoop/hadoop-2.2.0/zookeeper-3.4.5
export HADOOP_HOME=/home/hadoop/hadoop-2.2.0
export HADOOP_2_HOME=/home/hadoop/hadoop-0.20.2
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:${ZOOKEEPER_HOME}/lib:

export PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:${JAVA_HOME}/bin:${ZOOKEEPER_HOME}/bin :${HADOOP_HOME}/bin:${HADOOP_2_HOME}/bin"

 

source /etc/profile

sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk7/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/java/jdk7/bin/javac 300

 

 更新配置

.bashrc

sudo source /etc/profile

====================================================================================================================================

#更新下载源

更新下载源

====================================================================================

#装机后的推荐

装机后该做的6件事

装机后该做的20件事

====================================================================================

#安装QQ


====================================================================================

#安装VM

http://download.pchome.net/system/sysenhance/detail-75584.htmlVM下载地址

安装VM参考链接

http://www.th7.cn/system/lin/201210/32989.shtml

====================================================================================

#安装jdk

sudo apt-get install openjdk-7-jdk

安装自己的JDK:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html官方地址

自己下载JDK:

tar zxvf  jdk.tar.zg -C /home/hadoop/

sudo update-alternatives --install /usr/bin/java java /home/hadoop/jdk1.7.0_45/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /home/hadoop/jdk1.7.0_45/bin/javac 300

sudo update-alternatives --config java


 

====================================================================================

#安装eclipse

http://www.eclipse.org/downloads/packages/release/europa/wintereclipse地址

cd ~

mkdir java

#配置

tar xvfz  ~/download/eclipse-jee-europa-winter-linux-gtk-x86_64.tar.gz  -C ~/java

给eclipse做图标

cd ~/java/eclipse

sudo gedit eclipse.desktop

#加入下面信息

[Desktop Entry]
Name=eclipse
Name[zh_CN]=eclipse
Comment=eclipse Client
Exec=/home/xiaomao/java/eclipse/eclipse
Icon=/home/xiaomao/java/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Application;
Encoding=UTF-8
StartupNotify=true

sudo cp ~/java/eclipse/eclipse.desktop /usr/share/applications

====================================================================================

#安装mysql

sudo apt-get install mysql-client-core-5.5

http://www.mysql.com/products/connector/mysql 驱动

====================================================================================

#修改主机名

sudo gedit /etc/hosts

sudo gedit /etc/hostname (非Root权限环境下)

#允许其他用户访问图形界面

xhost +

====================================================================================

SSH参考文章

http://blog.lizhigang.net/archives/249点击打开链接



#配置ssh

查看ssh运行状态

 service ssh status

启动或重启 SSH

sudo service ssh start

或者

sudo /etc/init.d/ssh restart


 ssh-keygen  -t  rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys

 #删除ssh

sudo apt-get remove ssh

sudo apt-get remove openssh-server

sudo apt-get remove openssh-client

#安装ssh

sudo apt-get install ssh

#节点登陆

scp hadoop@master:~/.ssh/id_rsa.pub ~/.ssh/master_rsa.pub

cat ~/.ssh/master_rsa.pub >>  ~/.ssh/authorized_keys

#自我登陆

scp hadoop@master:~/.ssh/id_rsa.pub ~/.ssh/master_rsa.pub

cat ~/.ssh/master_rsa.pub >>  ~/.ssh/authorized_keys

#主点登陆

scp hadoop@ubuntu:~/.ssh/id_rsa.pub ~/.ssh/ubuntu_rsa.pub

cat ~/.ssh/ubuntu_rsa.pub >>  ~/.ssh/authorized_keys

====================================================================================

#下载hadoop,hbase,hive

解压 hadoop,hbase,hive

并修改配置文件

http://www.linuxidc.com/Linux/2013-02/79661.htmHBASE配置

====================================================================================

#hadoop0.20.2CDH下载

http://www.cnblogs.com/L-aho/archive/2012/12/07/2807366.htmlhadoop0.20.2CDH

#sqoop下载

http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gzsqoop-1.2.0下载

#sqoop配置安装

http://www.cnblogs.com/L-aho/archive/2012/12/07/2807366.htmlsqoop安装

====================================================================================

分发文件

scp -r ~/hadoop hadoop@node1:~

====================================================================================

hadoop配置:

1,修改hadoop-env.sh文件:

export JAVA_HOME=/home/hadoop/jdk1.7.0_45

2,修改yarn-env.sh文件:

export JAVA_HOME=/home/hadoop/jdk1.7.0_45

3,修改core-site.xml文件:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <configuration xmlns:xi="http://www.w3.org/2001/XInclude">  
  5. <xi:include href="cmt.xml"/>  
  6.   
  7. <!--设置缺省的目录前缀-->  
  8. <property>  
  9. <name>fs.defaultFS</name>  
  10. <value>viewfs://ns1</value>  
  11. </property>  
  12.   
  13. <property>  
  14.   
  15.         <name>io.file.buffer.size</name>  
  16.   
  17.          <value>131072</value>  
  18.   
  19.  </property>  
  20.   
  21. <!--JournalNode 所在节点上的一个目录,用于存放 editlog 和其他状态信息。该参数只能设  
  22. 置一个目录,你可以对磁盘做 RIAD 提高数据可靠性。-->  
  23. <property>  
  24. <name>dfs.journalnode.edits.dir</name>  
  25. <value>/home/hadoop/hadoop-2.2.0/journal</value>  
  26. </property>  
  27.   
  28.   
  29. <property>  
  30.   <name>hadoop.tmp.dir</name>  
  31.   <value>/home/hadoop/hadoop-2.2.0/tmp</value>  
  32.    
  33. </property>  
  34.   
  35.   
  36. <property>      
  37.   <name>fs.default.name</name>      
  38.   <value>hdfs://master1:9000</value>       
  39.  </property>      
  40.   
  41.   
  42. <property>  
  43. <name>hadoop.proxyuser.hadoop.hosts</name>  
  44. <value>master1</value>  
  45. </property>  
  46. <property>  
  47. <name>hadoop.proxyuser.hadoop.groups</name>  
  48. <value>*</value>  
  49. </property>  
  50.   
  51.   
  52.   
  53.   
  54.   
  55.   
  56. </configuration>  
4,修改hdfs-site.xml

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4.   
  5. <configuration>  
  6.    <property>  
  7.   
  8.       <name>dfs.replication</name>  
  9.   
  10.       <value>1</value>  
  11.   
  12.    </property>  
  13.   
  14. <property>    
  15.     <name>dfs.permissions</name>    
  16.     <value>false</value>    
  17. </property>   
  18.   
  19. <!--HDFS 命名服务的逻辑名称,可用户自己定义,比如 mycluster,注意,该名称将被基  
  20. 于 HDFS 的系统使用,比如 Hbase 等,此外,需要你想启用 HDFS Federation,可以通过该  
  21. 参数指定多个逻辑名称,并用“,”分割。-->  
  22. <property>  
  23. <name>dfs.nameservices</name>  
  24. <value>ns1</value>  
  25. <description>Logical name for this new nameservice</description>  
  26. </property>  
  27.   
  28. <!--dfs.ha.namenodes.[$nameservice ID]:  
  29. 某个命名服务下包含的 NameNode 列表,可为每个 NameNode 指定一个自定义的 ID 名  
  30. 称,比如命名服务 mycluster 下有两个 NameNode,分别命名为 nn1 和 nn2,-->  
  31. <property>  
  32. <name>dfs.ha.namenodes.ns1</name>  
  33. <value>nn1,nn2</value>  
  34. <description>Unique identifiers for each NameNode in the nameservice  
  35. </description>  
  36. </property>  
  37.   
  38. <!--dfs.namenode.rpc-address.[$nameservice ID].[$name node ID]  
  39. 为每个 NameNode 设置 RPC 地址-->  
  40. <property>  
  41.     <name>dfs.namenode.rpc-address.ns1.nn1</name>  
  42.     <value>master1:9000</value>  
  43. </property>  
  44.   
  45. <!--dfs.namenode.http-address.[$nameservice ID].[$name node ID]  
  46. 为每个 NameNode 设置对外的 HTTP 地址-->  
  47. <property>  
  48.     <name>dfs.namenode.http-address.ns1.nn1</name>  
  49.     <value>master1:50070</value>  
  50. </property>  
  51.   
  52.   
  53. <property>  
  54.     <name>dfs.namenode.rpc-address.ns1.nn2</name>  
  55.     <value>master1-s:9000</value>  
  56. </property>  
  57.   
  58. <property>  
  59.     <name>dfs.namenode.http-address.ns1.nn2</name>  
  60.     <value>master1-s:50070</value>  
  61. </property>  
  62.   
  63. <!--设置一组 journalNode 的 URI 地址,active NameNode 将 edit log 写入这些  
  64. JournalNode,而 standby NameNode 读取这些 edit log,并作用在内存中的目录树中,该属性  
  65. 值应符合以下格式:  
  66. qjournal://host1:port1;host2:port2;host3:port3/journalId     -->  
  67.   
  68. <property>  
  69. <name>dfs.namenode.shared.edits.dir</name>  
  70. <value>qjournal://master1:8485;master1-s:8485;slave1:8485/ns1</value>  
  71. </property>  
  72. <!--设置切换模式-->  
  73. <property>  
  74.     <name>dfs.ha.automatic-failover.enabled</name>  
  75.     <value>true</value>  
  76.     <description>设置为true时,表示自动切换</description>  
  77. </property>  
  78. <!--设置客户端与 active NameNode 进行交互的 Java 实现类,DFS 客户端通过该类寻找当前的  
  79. active NameNode。  
  80. 该类可由用户自己实现,  
  81. 默认实现为 ConfiguredFailoverProxyProvider。-->  
  82.   
  83.   
  84. <property>  
  85. <name>dfs.client.failover.proxy.provider.ns1</name>  
  86. <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>  
  87. </property>  
  88.   
  89. <!--为了解决脑裂的问题:sshfence 通过 ssh 登录到前一个 active NameNode 并将其杀死。  
  90. 为了让该机制成功执行,  
  91. 需配置免密码 ssh 登陆,  
  92. 这可通过参数 dfs.ha.fencing.ssh.private-key-files 设置一个私钥文件。-->  
  93.   
  94. <property>  
  95. <name>dfs.ha.fencing.methods</name><value>sshfence</value>  
  96. </property>  
  97. <property>  
  98. <name>dfs.ha.fencing.ssh.private-key-files</name>  
  99. <value>/home/hadoop/.ssh/id_rsa</value>  
  100. </property>  
  101. <!--  
  102. <property>  
  103. <name>dfs.ha.fencing.methods</name>  
  104. <value>sshfence([[username][:port]])</value>  
  105. </property>  
  106. <property>  
  107. <name>dfs.ha.fencing.ssh.connect-timeout</name>  
  108. <value>30000</value>  
  109. </property>  
  110. -->  
  111. <!--Shell方式-->  
  112. <!--  
  113. <property>  
  114. <name>dfs.ha.fencing.methods</name>  
  115. <value>shell(/path/to/my/script.sh arg1 arg2 ...)</value>  
  116. </property>  
  117. -->  
  118.   
  119.   
  120. <!--zookeeper-->  
  121. <property>  
  122.     <name>ha.zookeeper.quorum</name>  
  123.     <value>master1:2181,master1-s:2181,slave1:2181</value>  
  124.     <description>指定用于HA的ZooKeeper集群机器列表</description>  
  125. </property>  
  126. <!--  
  127. <property>  
  128.     <name>ha.zookeeper.session-timeout.ms</name>  
  129.     <value>5000</value>  
  130.     <description>指定ZooKeeper超时间隔,单位毫秒</description>  
  131. </property>  
  132. -->  
  133. <property>  
  134.   
  135.                      <name>dfs.webhdfs.enabled</name>  
  136.   
  137.                      <value>true</value>  
  138.   
  139.          </property>  
  140. </configuration>  
5,修改yarn-site.xml

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0"?>  
  2.   
  3. <configuration>  
  4. <!--resourcemanager对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等-->  
  5. <property>  
  6.     <name>yarn.resourcemanager.address</name>  
  7.     <value>master1:18032</value>  
  8. </property>  
  9.   
  10. <!--resourcemanager对application暴露的访问地址。applicationMaster通过该地址向RM申请资源,释放资源等-->  
  11. <property>  
  12.     <name>yarn.resourcemanager.scheduler.address</name>  
  13.     <value>master1:18030</value>  
  14. </property>  
  15.   
  16. <!--resourcemanager对NodeManager暴露的地址。NodeManager通过该地址向RM汇报心跳,领取任务等-->  
  17. <property>  
  18. <name>yarn.resourcemanager.resource-tracker.address</name>  
  19. <value>master1:18033</value>  
  20. </property>  
  21.   
  22. <!--处理来自NodeManager的RPC请求的Handler数目-->  
  23. <!--  
  24. <property>  
  25. <name>yarn.resourcemanager.resource-tracker.client.thread-count</name>  
  26. <value>50</value>  
  27. </property>  
  28. -->  
  29.   
  30. <!--处理来自ApplicationMaster的RPC请求的Handler数目-->  
  31. <!--  
  32. <property>  
  33. <name>yarn.resourcemanager.scheduler.client.thread-count</name>  
  34. <value>50</value>  
  35. </property>  
  36. -->  
  37.   
  38.   
  39.   
  40. <!--resourcemanager对管理员暴露的访问地址,管理员通过该地址向RM发送管理命令-->  
  41. <property>  
  42. <name>yarn.resourcemanager.admin.address</name>  
  43. <value>master1:18087</value>  
  44. </property>  
  45.   
  46. <!--resourcemanager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息-->  
  47. <property>  
  48. <name>yarn.resourcemanager.webapp.address</name>  
  49. <value>master1:18088</value>  
  50. </property>  
  51.   
  52.   
  53. <!--启用的资源调度器主类,目前可用的有FIFO,Capacity Scheduler 和 Fair Scheduler-->  
  54. <property>  
  55. <name>yarn.resourcemanager.scheduler.class</name>  
  56. <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>  
  57. </property>  
  58.   
  59.   
  60. <!--NodeManager心跳间隔-->  
  61. <!--  
  62. <property>  
  63. <name>yarn.resourcemanager.nodemanagers.heartbeat-interval-ms</name>  
  64. <value>1000</value>  
  65. </property>  
  66. -->  
  67. <!--NodeManager相关参数配置-->  
  68. <!--NodeManager上运行的附属服务-->  
  69. <property>  
  70. <name>yarn.nodemanager.aux-services</name>  
  71. <value>mapreduce_shuffle</value>  
  72. </property>  
  73.   
  74.   
  75.   
  76.   
  77. </configuration>  
6,修改cmt.xml

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3. <configuration>  
  4. <!--客户端挂载表,其内容就是虚拟路径到具体某个NS及其物理子目录的映射关系,-->  
  5.     <property>  
  6.         <name>fs.viewfs.mounttable.cmt.link./user</name>  
  7.         <value>hdfs://ns1/user</value>  
  8.     </property>  
  9.     <property>  
  10.         <name>fs.viewfs.mounttable.cmt.link./fee</name>  
  11.         <value>hdfs://ns1/fee</value>  
  12.     </property>  
  13. </configuration>  

7,修改slaves文件:

slave1

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机酷狗音乐文件不支持怎么办 2018款ipad闪退怎么办 ipad开不了机了怎么办 淘宝盖楼上限了怎么办 交了学费做微淘客却加不到人怎么办 微淘客交首付不想做了怎么办 蚂蚁微客二维码推广怎么办 游拍主播申请手机号被注册怎么办 淘宝客不给力怎么办 淘宝买家确认收货超时怎么办 淘宝没收到货退款卖家不处理怎么办 微博红包都是字怎么办 500个访客没转化怎么办 店铺动态评分是0怎么办 京东店铺评分低怎么办 被淘宝主播屏蔽怎么办 在淘宝客推广后退款怎么办 生产出现异常时你应该怎么办 违规后的店铺没访客怎么办 淘宝少发货店家不承认怎么办 淘宝买东西店家不发货怎么办 淘宝店家拒绝同意退款怎么办 被淘宝店家骂了怎么办 淘宝买家骂店家骚扰店家怎么办? 不想开淘宝店了怎么办 我是客服经常有客户骂人怎么办 淘宝直播前期没人看怎么办 淘宝被投诉商标侵权怎么办 淘宝后商家页面打不开了怎么办 淘宝遇到职业打假人怎么办 发票被复写上字怎么办 淘宝直播广告图片的商品怎么办 美团商家排名低怎么办 想成为淘宝主播怎么办 用移动流量很卡怎么办 淘宝店铺被恶意刷流量怎么办 一个想要公司权利的人怎么办 淘宝商家短信推广告怎么办 在群里乱发信息怎么办 支付宝扫不了码怎么办 淘宝商家收款不发货怎么办