hadoop1.x环境搭建
1.1 本地模式:运行时不使用HDFS
1.2 伪分布模式:在一个节点上运行hadoop集群
1.3 集群模式:在生产中真正使用的,hadoop的各个进程运行在集群的很多节点上
2.部署集群开发环境
在windows的C:\Windows\System32\drivers\etc\hosts增加ip与主机名绑定
2.1 设置静态ip
(1)使用vi编辑文件/etc/sysconfig/network-scripts/ifcfg-eth2
BOOTPROTO=static
IPADDR=192.168.1.191
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
保存退出
(2)执行命令service network restart重启网卡设置
(3)执行命令ifconfig查看配置结果是否正确
2.2 设置hostname
(1)使用vi编辑/etc/sysconfig/network
把HOSTNAME的值改为hadoop1,保存退出。
(2)执行hostname hadoop1,在当前环境中立即生效
(3)执行命令hostname查看设置结果
2.3 绑定ip与hostname
编辑文件/etc/hosts,增加ip与hostname的映射信息
2.4 关闭防火墙
(1) 执行命令service iptables stop关闭防火墙
(2)执行命令service iptables status查看防火墙是否正在运行
2.5 关闭防火墙的自动运行
(1) 执行命令chkconfig iptables off
2.6 SSH(secure shell)免密码登录
(1)执行命令ssh-keygen -t rsa产生公钥私钥文件,产生的文件位于~/.ssh目录下
(2)执行命令ssh-copy-id -i hadoop4复制公钥文件到对方hadoop4中authorized_keys中去了。
(3)执行ssh hadoop4,就可以实现真正的免密码登录了。
只需要实现主节点(hadoop1)到从节点(hadoop3\hadoop4\hadoop5)的免密码登录即可,不必要实现从节点到主节点的免密码登录。
2.7 部署hadoop
(1)在hadoop1上执行命令cp /mnt/software/hadoop-1.1.2.tar.gz ~ 复制hadoop压缩包到home目录
(2)在hadoop1上执行命令 tar -zxvf ~/hadoop-1.1.2.tar.gz 进行解压缩,产生文件夹hadoop-1.1.2
(3)在hadoop1上执行命令 vi ~/.bashrc 设置环境变量,增加的内容如下hadoop1上执行命令 vi ~/.bashrc 设置环境变量,增加的内容如下
export HADOOP_HOME=/mnt/home/cr00/hadoop-1.1.2
export PATH=.:$HADOOP_HOME/bin:$PATH
保存退出
记得执行source ~/.bashrc
(4)在hadoop1上编辑配置文件,见word文档hadoop1上编辑配置文件
hadoop-env.sh
export JAVA_HOME=/usr/local/jdk
core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
(5)把hadoop1上的hadoop-1.1.2复制到其他节点,执行命令hadoop1上的hadoop-1.1.2复制到其他节点,执行命令
scp -r ~/hadoop-1.1.2 hadoop2:~/
scp -r ~/hadoop-1.1.2 hadoop3:~/
scp -r ~/hadoop-1.1.2 hadoop4:~/
scp -r ~/hadoop-1.1.2 hadoop5:~/
scp ~/.bashrc hadoop2:~/
scp ~/.bashrc hadoop3:~/
scp ~/.bashrc hadoop4:~/
scp ~/.bashrc hadoop5:~/
在其他各个节点,执行命令source ~/.bashrc
(6)在hadoop1节点执行命令hadoop namenode -format 进行格式化hadoop1节点执行命令hadoop namenode -format 进行格式化
(7)在hadoop1节点执行命令start-all.sh 启动集群 hadoop1节点执行命令start-all.sh 启动集群
------------------------------------------------------
1.搭建集群环境,NameNode和JobTracker不在一个节点上。
假设NameNode在chaoren1上,JobTracker在hadoop2上。
1.1 NameNode所在节点是通过配置文件core-site.xml的fs.default.name的值体现的。
值还是hdfs://hadoop1:9000
JobTracker所在节点是通过配置文件mapred-site.mlx的mapred.job.tracker的值体现的。
值修改为http://hadoop2:9001
1.2 在hadoop1上执行命令hadoop-daemon.sh start namenode
在hadoop2上执行命令hadoop-daemon.sh start jobtracker
在hadoop2上执行命令hadoop-daemon.sh start secondarynamenode
在hadoop1上执行命令hadoop-daemons.sh start datanode
在hadoop1上执行命令hadoop-daemons.sh start tasktracker
猜你喜欢
转载自jsh0401.iteye.com/blog/2111411
今日推荐
周排行