网络配置

创新互联建站凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了成都做网站、网站设计服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。
- hostname 查看珠玑名 
- vim /etc/sysconfig/network 设置主机名 
- ifconfig 查看ip情况 
- vim /etc/sysconfig/network-scripts/ifcfg-eth0 设置网络 
- DEVICE="eth0" 接口名(设备、网卡) 
- BOOTPROTO=STATIC IP的配置方法(static:固定IP,dhcp:,none:手动) 
- ONBOOT=yes 系统启动的时候网络端口是否有效 
- IPADDR=192.168.1.2 IP网址 
- GATEWAY=192.168.1.0 网关 
- DNS1=8.8.8.8 DNS服务器 
- service network restart 重启网卡服务 
- service network start 开始网卡服务 
- service network stop 停止网卡服务 
- ifconfig eth0 up|down 启用和关闭制定的网卡 
- ifconfig 查看配置的ip信息是否生效 
- vim /etc/hosts 设置珠玑和ip映射关系 
- 192.168.1.2 master 
- 192.168.1.3 slave1 
- 192.168.1.4 slave2 
- ping master 
- service iptables stop 关闭防火墙 
- chkconfig iptables off 关闭自启动防火墙服务 
配置SSH
- rpm -qa | grep openssh 查看是否安装了ssh服务 
- rpm -qa | grep rsync 查看是否安装了rsync服务 
- yum install ssh 安装ssh协议 
- yum install rsync rsync是一个远程数据同步工具 
- service sshd restart 启动sshd服务 
- ssh-keygen -t rsa -p ' ' 生成无密码密钥对(存放路径是/home/Haddop/.ssh) 
- cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys 将id_rsa.pub追加到授权的key中 
- chmod 600 ~/.ssh/authorized_keys 授予读写权限 
- vim /etc/ssh/sshd_config 修改sshd服务的配置文件 
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
- service sshd restart 重启sshd服务,是修改生效 
- ssh master 严验证ssh登录(第一次会要求输入密码) 
单点对多点的SSH无密码登录
- ssh-keygen 
- ssh-copy-id storm@slave1 格式是"ssh-copy-id 用户名@主机名" 
- ssh-copy-id storm@slave2 将本机名的公钥复制到远程机器的authorized_keys文件 
安装JDK
- root用户登录 
- mkdir /usr/java 创建/usr/java目录 
- cp /root/Downloads/jdk-6u31-linux-i584.bin /usr/java 复制 
- chmod +x jdk-6u31-linux-i584.bin 赋予执行的权限 
- ./jdk-6u31-linux-i584.bin 执行解压过的bin文件 
- rm -rf jdk-6u31-linux-i584.bin 删除jdk安装文件 
- vim /etc/profile 
在尾部添加以下内容:
# set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31/
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
source /etc/profile 使profile的配置文件生效
java -version 验证jdk是否安装成功
安装剩余机器:
- scp /usr/java/jdk1.6.0_31/ Hadoop@mster$i:/usr/java; 
使用shell脚本安装:
for i in $(seq 1 100);
do echo slave$i;
scp /usr/javajdk1.6.0_31/ Hadoop@slave$i:/usr/java;
done
profile环境变量的配置文件要可以配置好后一次发送到所有集群中
Hadoop集群的安装
- 以root用户登录 
- cp /root/Downloads/Hadoop-1.0.0.tar.gz /usr 
- cd /usr 
- tar -zxvf Hadoop-1.0.0.tar.gz 解压tar.gz的安装包 
- mv Hadoop-1.0.0.tar.gz hadoop 文件夹重命名 
- chown -R Hadoop:Hadoop Hadoop hadoop文件的属主重新分配,-R是递归,hadoop文件夹分配给hadoop组下的hadoop用户 
- rm -rf Hadoop-1.0.0.tar.gz 删除安装文件 
配置Hadoop的环境变量
- vim /etc/profile 
- export HADOOP_HOME=/usr/Hadoop 
- export PATH=$PATH:$HADOOP_HOME/bin 
- source /etc/profile 使配置生效 
配置hadoop
- 配置hadoop-env.sh(文件位于/usr/Hadoop/bin/conf) 
- vim /usr/Hadoop/bin/conf/Hadoop-env.sh 
- export JAVA_HOME=/usr/java/jdk1.6.0_31 
- 配置core-site.xml文件 
- mkdir /usr/Hadoop/tmp 创建文件夹tmp,用来保存hadoop临时数据 
- vim /usr/Hadoop/bin/conf/core-site.xml 
   
       
       
(备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹,默认采用系统的临时目录:/tmp/Hadoop-hadoop。而这个目录每次重启都会被干掉,必须重新执行format才行,否则会出错。)
       
   
       
        
- 配置hdfs-site.xml ,默认备份方式是3 
   
       
        
(备注:replication 是数据副本数量,默认为3,salve少于3台就会报错)
- 配置mapred-site.xml 
修改hadoop中mapreduce的配置文件,配置的jobTracker的地址和端口
   
       
        
- 配置mster 
修改/usr/Hadoop/conf/masters文件,指定master机器的主机名
vim /usr/Hadoop/conf/masters
192.168.1.2(或者是master)
- 配置slave 
vim /usr/Hadoop/conf/slaves
slave1
slave2
注意:单机启动的时候,conf/slaves中一定不能为空。没有其他机器,就指定自己。
集群环境下,slave机器上可以不配置slaves
- 在集群中的其他机器上重复此配置 
建议普通用户在hadoop下通过scp复制到其他机器对应的目录下,其中第6步是master机器特有的
使用shell脚本:
for i in $(seq1 100);
do echo slave$i;
scp /usr/hadoop Hadoop@slave$i:/usr;
scp /etc/profile Hadoop@slave$i:/etc;
done
复制文件后可能会发现hadoop目录是root权限
chown -R hadoop:Hadoop Hadoop 授权给hadoop用户
Hadoop启动相关命令:
- Hadoop namenode -format 在master机器上格式化namenode 
只需要执行一次,如果要重新执行,一定要先删除配置文件core-site.xml中配置
的hadoop.tmp.dir对应路径下的文件
- service iptables stop 关闭集群中所有机器防火墙 
for i in (seq 1 100);
Do ssh node $i "hostname;
service iptables stop;
chkconfig iptables off;
service iptables status";
done
- start-all.sh 启动hadoop的所有服务,包含(hdfs和mapreduce的相关服务) 
可以通过以下启动日志看出,首先启动namenode,接着启动datanode1,datanode2,......,然后启动secondarynamenode。再启动jobtracker,然后启动tasktracker1,tasktracker2,.........。
启动hadoop成功后,在master中的tmp文件夹中生成dfs文件夹,在slave中的tmp文件夹中均生成了dfs文件加和mapred文件夹
- jps 查看进程 
- 在master上的结果是 
- jobTracker 
- NameNode 
- jps 
- SecondaryNameNode 
- 在slave上的结果是 
- TaskTracker 
- DataNode 
- jps 
- Hadoop dfsadmin -report 查看hadoop集群的状态 
- Hadoop dfsadmin -safemode leave 关闭hdfs的安全模式 
http:192.168.1.2:50030 访问mapreduce对应网页
http:192.168.1.2:50070 访问hdfs的对应网页
服务器一直启动不了的终极解决办法:
- 删除集群中所有机器上的/usr/Hadoop/tmp文件 
- 删除集群中所有机器上的pid文件。默认保存在/tmp目录下。授权给hadoop用户 
- 重新执行stop-all.sh,把能关的服务先关掉 
- 执行ps -ef|grep java|grep hadoop命令,查询是否还有hadoop相关进程在运行,如有则kill -9 进程号 命令杀掉 
- 重新格式话珠玑master 
- 执行start-all.sh启动hadoop 
- 发现没有报错,执行Hadoop dfsadmin -report 命令查看hadoop运行状态,发现只启动了一个节点。可能还是存在安全模式 
- 执行hadoop dfsadmin -safemode leave 关闭主机上的安全模式 
- 再一次执行hadoop dfsadmin -report 
解决“no datanode to stop ”问题
原因:
每次namenode format 会重新创建一个namenodeId,而/tmp/dfs/data下包含了上次 format下的id,namenode format 清空了namenode下的数据,但是没有清空datanode下的数据,到时启动是失败,所有每次format前,清空tmp下的所有目录
- 第一种方法: 
删除master上的tmp文件夹 rm -fr /usr/Hadoop/tmp
分享文章:Hadoop常用命令
转载来于:http://www.cqwzjz.cn/article/jdgicp.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 