hadoop总结

---------------------------hadoop环境部署----------------------------------
一、JDK安装
1、先修改权限
chown -R hadoop:hadoop /opt/
2、解压JDK到指定的目录下,目录任意,建议不要装在某个用户主目录下
tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules/
3、 添加环境变量
修改vi /etc/profile文件,配置jdk环境变量
#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile生效文件
4、 验证是否配置成功:java -version
jps命令可以查看java 进程
echo $JAVA_HOME
二、hadoop部分
1、 解压Hadoop到指定目录下
tar -zxvf hadoop-2.5.0.tar.gz -C /opt/modules/
2、 修改hadoop/etc/hadoop/hadoop-env.sh文件
修改hadoop/etc/hadoop/mapred-env.sh文件
修改hadoop/etc/hadoop/yarn-env.sh文件
指定Java安装路径
export JAVA_HOME=/opt/modules/jdk1.7.0_67
3、 core-site.xml文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://hostname:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.7.3/data/tmp</value>
</property>
4、 修改hdfs-site.xml文件
<!--指定副本数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--指定block大小,默认是128M,以bytes表示,也可以用128k,512m等表示-->
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
<!--指定fsimage文件存放的路径-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name</value>
</property>
<!--指定edits文件的路径-->
<property>
<name>dfs.namenode.edits.dir</name>
<value>${dfs.namenode.name.dir}</value>
</property>
<!--指定datanode数据本地路径-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data</value>
</property>
5、 slaves文件,指定从节点的机器位置
6、 格式化namenode
bin/hdfs namenode -format
启动命令
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
7、HDFS的WEB UI 默认端口是 dfs.namenode.http-address 50070
8、修改mapred-site.xml文件
<!--指定mapreduce计算模型运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--指定job历史服务器地址,注意端口不能随意更改-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-04:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata-04:19888</value>   
</property>
9、修改yarn-site.xml文件
<!--指定启动运行mapreduce上的nodemanager的运行服务-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定启动运行mapreduce上的nodemanager的运行服务-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定resourcemanager主节点机器,可选项,不一定要配置,默认是本机,但是指定了之后在其他机器上启动,就会报错-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hostname</value>
</property> 
<!--开启日志聚合功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--指定日志保存时间,单位是秒-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property> 
<!--提交job作业记录的目录位置-->
<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/tmp/hadoop-yarn/staging</value>
</property>
<!--指定存放的正在运行的Hadoop作业记录-->
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate</value>
</property>
<!--指定存放已经完成的Hadoop的作业记录-->
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done</value>
</property>
10、启动yarn
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager 
sbin/mr-jobhistory-daemon.sh start historyserver
查看yarn外部web界面:默认是8088端口



------------------------------------HDFS权限检测-----------------------------------------------------
1. 取消HDFS权限检测功能
2. 修改hdfs-site.xml
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
3. 在代码运行配置 -DHADOOP_USER_NAME=ibeifeng


-------------------------------------权限错乱问题解决思路----------------------------------------------
1. cd /tmp  hadoop-root-namenode.pid hadoop-root-datanode.pid 带root的全部删掉
2. 用root身份chown ibeifeng:ibeifeng -R hadoop-2.7.3
3. cd /opt/modules/hadoop-2.7.3  
   rm -rf logs/
4. cd /opt/modules/hadoop-2.7.3/data(如果前三步操作完,可以成功启动,那就不需要后续步骤)
   rm -rf dfs/
   注意:如果不想删掉datanode上的数据,就这么做:
   1.namenode格式化成功之后,到这个目录(/opt/modules/hadoop-2.7.3/data/dfs/name/current/VERSION)下把clusterID复制出来
   2.把datanode的VERSION文件里的clusterID更新成刚刚格式化成功的namenode的clusterID,VERSION文件在这个目录/opt/modules/hadoop-2.7.3/data/dfs/data/current/VERSION
5. bin/hdfs namenode -format


--------------------------------------hadoop web界面打开失败的解决方案-----------------------------------
1.首先jps,查看相应的进程有没有启动(namenode,resourcemanager)
2.其次,如果你用的是hostname:50070 或 hostname:8088,主机名+端口,检查windows的C:\Windows\System32\drivers\etc\hosts文件有没有做网络映射
3.centos里检查防火墙(iptables)是否有关闭
  service iptables status 查看防火墙状态
  如果没有关闭,service iptables stop   
  chkconfig iptables off 关闭防火墙启动服务

  


-------------------------------------SSH免密码登录-----------------------------------------------------
1、 ssh-keygen -t rsa
2、 使用ssh-copy-id将公钥拷贝到目标机器
ssh-copy-id bigdata-01
注意:自己也要给自己发送公钥和私钥
authorized_keys  -》将公钥保存到文件中远程拷贝到其他机器上保存
known_hosts      -》记录秘钥信息
3、报错解决:
如果没有生效,就删除.ssh目录下所有文件,重新生成
或者直接删除.ssh目录,生成方式ssh-keygen,就会生成.ssh目录,不要使用mkdir
4、配置了SSH之后,就不需要输入密码,直接可以启动多个节点的服务进程(sbin/start-dfs.sh)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值