基于hadoop1.0集群环境搭建
来源:互联网 发布:广告投放数据分析 编辑:程序博客网 时间:2024/06/05 07:34
环境准备:关闭防火墙/selinux/iptables
setup
vi /etc/selinux/config
SELINUX=disabled #禁用
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
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
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文件
#/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:远程主机用自己的私钥,解密登录密码,如果密码正确
同意登录
hadoop运行过程中需要管理远端hadoop守护进程
在hadoop启动以后,namenode是通过ssh来启动和仃止各个
datanode上的各种守护进程,这就必须在节点之间执行
执行的时候不需要输入密码形式,故我们需要配置ssh
无密码公钥认证形式,
这样namenode使用无密码登录并启动datanode进程,
同样原理,datanode上也能使用ssh无密码登录到namenode
(1)ssh基本原理
ssh之所以能够保证安全,原因在于它采用公钥加密。过程如下
a:远程主机收到用户的登录请求,把自己的公钥发送用户
b:用户使用公钥,将登录密码加密后,发送回来
c:远程主机用自己的私钥,解密登录密码,如果密码正确
同意登录
###退出root#####不要使用su 切换
#重新使用hadoop/hadoop登录
#重新使用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
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/
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软件项目都需要一个环境变量
#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
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
配置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
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
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,这里配置较小。
#配置 压缩类库地址
默认 为 1000,因为虚拟机最大内存配置512m,这里配置较小。
#配置 压缩类库地址
vim hadoop-env.sh
export HADOOP_HEAPSIZE=256
export JAVA_HOME=/application/hadoop/jdk
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>
<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>
<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>
<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
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
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
- 基于hadoop1.0集群环境搭建
- hadoop1集群环境搭建
- hadoop1.0集群搭建
- hadoop1.X集群环境的搭建
- hadoop1 集群搭建
- hadoop1集群搭建
- 基于Ubuntu12.04+hadoop1.2.0 的hadoop集群搭建
- 基于Ubuntu 12.04+Hadoop1.2.0 的Hadoop集群搭建
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建
- (2)虚拟机下hadoop1.1.2集群环境搭建
- hadoop1.2.1+zookeeper3.4.6+hbase0.94集群环境搭建
- Hadoop1.2.1环境搭建
- hadoop1.2.1伪集群搭建
- 安装hadoop1.2.1集群环境
- 安装hadoop1.2集群环境
- 安装hadoop1.2.1集群环境
- 安装hadoop1.2.1集群环境
- (大数据之hadoop)hadoop1.0集群搭建
- Android代码中使用的设计模式思想
- 使用RecyclerView.adapter.notifyDataSetchang()不能更新数据
- ES6个人学习整理(四)——扩展
- 数据结构和算法经典100题-第24题
- ios图片加载
- 基于hadoop1.0集群环境搭建
- hadoop的Linux环境准备
- Bootstrap 笔记
- hive的环境搭建
- Git 使用(一)
- radix sort
- 【Linux运维入门】Jstatd方式远程监控Linux下 JVM运行情况
- shell函数
- 17个提升iOS开发效率的必用工具