首页 > 代码库 > hadoop学习;hadoop伪分布搭建
hadoop学习;hadoop伪分布搭建
先前已经做了准备工作安装jdk什么的,下面开始ssh免密码登陆,这里我们用的是PieTTY工具,当然你也可以直接在linux下直接操作
ssh(secure shell),执行命令 ssh-keygen -t rsa产生密钥,位于~/.ssh文件夹中
\
一路enter
复制为文件authorized_keys
登陆成功和退出
接下来传输jdk和hadoop文件,这里用的工具是WinScp(类似ftp上传工具),有的虚拟机可以设置直接从物理机拖拽,我这放到/root/Downloads下
然后复制到usr/local,执行命令一次是 rm -rf *删除文件夹下东东,cd /usr/local接着 cp /root/Downloads/* .
解压jdk首先得获取权限chmod u+x jdk-6u24-linux-i586.bin 然后解压./jdk-6u24-linux-i586.bin也可以用tar -xvf jdk-6u24-linux-i586.bin
接着配置文件进入vi /etc/profile,source /etc/profile 执行
解压hadoop,tar -zxvf hadoop-1.1.2.tar.gz
修改配置文件hadoop/conf下的
hadoop-env.sh
# Set Hadoop-specific environment variables here.
# The only required environment variable is JAVA_HOME. All others are
# optional. When running a distributed configuration it is best to
# set JAVA_HOME in this file, so that it is correctly defined on
# remote nodes.
# The java implementation to use. Required.
export JAVA_HOME=/usr/local/jdk
core-site.xml修改内容与本机实际情况相同
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=http://www.mamicode.com/"configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://centos:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>change your own position</description>
</property>
</configuration>
hdfs-site.xml修改,这里是伪分布,所以复制的节点就设置为1
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false </value>
</property>
mapred-site.xml中修改
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=http://www.mamicode.com/"configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>centos:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
对hadoop进行格式化 hadoop namenode -format
启动hadoop 执行start-all.sh
在启动的时候弹出的警告,现在我们来分析下,首先得找到问题源start-all.sh ,我们停止进程stop-all.sh去看下源代码
cd hadoop/bin进入后 more start-all.sh
if判断语句执行else,所以我们去查看hadoop-config.sh
看到warning的地方,为了破坏该条件,修改配置文件 vi /etc/profile,只要不为空就行