基于hadoop1.0集群环境搭建

来源:互联网 发布:广告投放数据分析 编辑:程序博客网 时间:2024/06/05 07:34
环境准备:关闭防火墙/selinux/iptables
  setup
  vi /etc/selinux/config
  SELINUX=disabled       #禁用
  setenforce 0           #临时生效
  iptables -F          #清理防火墙规则
1:创建使用的用户帐户
   groupadd hadoop // 创建hadoop用户组
    useradd -g hadoop hadoop  // 创建hadoop用户
    passwd hadoop // hadoop用户设置密码
2:创建hadoop工作目录/数据目录
     su - root
     mkdir -p /application/hadoop
     mkdir -p /data/hadoop
     修改目录权限
     chown -R hadoop:hadoop /application/hadoop
     chown -R hadoop:hadoop /data/hadoop
#检查一下刚才操作是否正确
a:cat /etc/passwd
   hadoop:x:500:500::/home/hadoop:/bin/bash
b:cat /etc/group
   hadoop:x:500:
c:#cd /application/
   #ll
   drwxr-xr-x. 2 hadoop hadoop 4096 Apr 17 17:15 hadoop
d:#cd /data/
   # ll
   drwxr-xr-x. 2 hadoop hadoop 4096 Apr 17 17:15 hadoop

3:配置ssh无密码登录
hadoop要求所有机器上的hadoop部署目结构要求相同
(因为在启动时按与主节点相同的目录启动其它任务节点)
并且都有一个相同的用户名帐户,使由实现无密码认证


(1)修改当前机器名称
  #/etc/sysconfig/network
  [root@master ~]# cat /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=master
(2)配置hosts文件
hosts 主机名与ip地址映射文件
cat /etc/hosts
192.168.1.118 master
192.168.1.119 slave1
192.168.1.120 slave2

2:ssh无密码证配置
hadoop运行过程中需要管理远端hadoop守护进程
在hadoop启动以后,namenode是通过ssh来启动和仃止各个
  datanode上的各种守护进程,这就必须在节点之间执行
  执行的时候不需要输入密码形式,故我们需要配置ssh
无密码公钥认证形式,
这样namenode使用无密码登录并启动datanode进程,
同样原理,datanode上也能使用ssh无密码登录到namenode

(1)ssh基本原理
  ssh之所以能够保证安全,原因在于它采用公钥加密。过程如下
  a:远程主机收到用户的登录请求,把自己的公钥发送用户
  b:用户使用公钥,将登录密码加密后,发送回来
  c:远程主机用自己的私钥,解密登录密码,如果密码正确
    同意登录

###退出root#####不要使用su 切换
#重新使用hadoop/hadoop登录
su hadoop
cd  ~               #进入hadoop/home里
mkdir .ssh
chmod 755  .ssh
cd .ssh
ssh-keygen -t rsa -P ''
//询问保存路径时直接回车采用默认路径
//公钥必须导入公钥列表
//要不然不能使用

cat id_rsa.pub  >> authorized_keys
chmod 600 authorized_keys 

测试:远程登录创建目录
ssh master
exit
ssh master

5:配置jdk
chown -R hadoop:hadoop jdk-6u45-linux-x64.bin
chown -R hadoop:hadoop hadoop-1.0.4.tar.gz
cp jdk-6u45-linux-x64.bin /application/hadoop/
cp hadoop-1.0.4.tar.gz /application/hadoop/

chown -R hadoop:hadoop /application/hadoop/
chown -R hadoop:hadoop /data/hadoop/

chmod 755 jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
tar -zxvf hadoop-1.0.4.tar.gz

ln -s jdk1.6.0_45/ jdk
ln -s hadoop-1.0.4 hadoop
#设置环境变量
#linux 系统所有java软件项目都需要一个环境变量
su  root
vim /etc/profile.d/java.sh
export JAVA_HOME=/application/hadoop/jdk
export HADOOP_HOME=/application/hadoop/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
source /etc/profile
##注意用户身份
配置HDFS NameNode,DataNode组建配置
mkdir -p /data/hadoop/hdfs/name
mkdir -p /data/hadoop/hdfs/data
mkdir -p /data/hadoop/hdfs/namesecondary
mkdir -p /data/hadoop/hdfs/tmp 

mkdir -p /data/hadoop/mapred/mrlocal
mkdir -p /data/hadoop/mapred/mrsystem  
chmod 755 /data/hadoop/hdfs/data
chmod 755 /data/hadoop/hdfs/tmp 
chmod 755 /data/hadoop/mapred/mrlocal
chmod 755 /data/hadoop/mapred/mrsystem 
chown -R hadoop:hadoop /data/hadoop
hadoop集群环境配置
su hadoop
cd /application/hadoop/hadoop/conf
1、修改hadoop-env.sh
#配置Hadoop 最大HADOOP_HEAPSIZE 大小,     
默认 为 1000,因为虚拟机最大内存配置512m,这里配置较小。
#配置 压缩类库地址
vim hadoop-env.sh
export HADOOP_HEAPSIZE=256
export JAVA_HOME=/application/hadoop/jdk
2、core-site.xml(配置中不要出现空格)
vim core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/hdfs/tmp</value>
</property>
3、hdfs-site.xml
vim hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/data/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/data/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
4、mapred-site.xml(jobTracker和taskTracker配置)
vim mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/data/hadoop/mapred/mrlocal</value>
<final>true</final>
</property> 
<property>
<name>mapred.system.dir</name>
<value>/data/hadoop/mapred/mrsystem</value>
<final>true</final>
</property>
</configuration>
5、masters
    vim masters
     删除文件中内容localhost,修改为master
     此文件用于存放namenode节点信息
6、slaves
    vim slaves 
    添加以下配置
     master
     slave1
     slave2
此文件用于存放datanode节点信息
此时完成了单节点的hadoop环境搭建。
克隆三台虚拟机并修改每台虚拟机的ip地址,hostname
执行rm -rf /etc/udev/rules.d/70persistent-net.rules
以防出错修改完之后reboot虚拟机
 6.2 设置权限格式化namenode
    hadoop namenode -format
    #回答问题请输入:大写Y必须是:(((((

6.3 测试启动namenode
    hadoop-daemon.sh start namenode
    hadoop-daemon.sh stop namenode 
6.4 测试启动datanode(单节点启动)
    hadoop-daemon.sh start datanode
    hadoop-daemon.sh stop datanode 
或者使用start-all.sh ,stop-all.sh
 jps查看进程是否启动
单独启动hdfs: start-dfs.sh,stop-dfs.sh(此时并没有启动mapreduce进程)
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 百度网络不给力怎么办 网络连接不给力怎么办 抖音网络不给力怎么办 玩lol老是掉线怎么办 无线网络连接有防火墙怎么办啊 千牛重新获取enc-k怎么办 为什么说不能获取对方信息怎么办 qq炫舞客户端被修改怎么办 win7玩穿越卡顿怎么办 玩dnf就蓝屏怎么办win7 平板玩fgo闪退怎么办 微信总是说空间不足怎么办 激活卡时遇到服务器错误怎么办 悦平台服务器错误是怎么办 手机银行提示登录服务器错误怎么办 qq漂流瓶封了怎么办 我的世界被冻结怎么办 qq里被屏蔽了怎么办 qq领手游礼包账号存在异常怎么办 笔记本电脑太卡怎么办最有效 华为平板电脑忘记开机密码怎么办 平板电脑忘记开机密码怎么办 平板电脑忘了开机密码怎么办 qq文件已被损坏怎么办 斗地主没痘了怎么办 熹妃q传金币不够用怎么办 苹果手机玩王者卡怎么办 苹果6玩王者荣耀卡怎么办 苹果macbook开不了机怎么办 苹果7震动像拖拉机一样怎么办 win10笔记本玩lol卡怎么办 苹果笔记本密码忘了怎么办 苹果笔记本系统密码忘记了怎么办 qq加好友频繁了怎么办 淘宝买食品有问题怎么办 手机的设置图标没有了怎么办 国家创业贷款还不了会怎么办 手机mac显示:不好使.怎么办? 英雄联盟买皮肤重复怎么办 皮肤很油毛孔又粗怎么办 笔记本电脑玩英雄联盟卡怎么办