这篇文章主要为大家展示了“如何安装hadoop”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何安装hadoop”这篇文章吧。
工具:
xshell ()
安装包:
hadoop-2.6.0.tar.gz->2.4.1 http://archive.apache.org/dist/hadoop/core/hadoop-2.4.1/
----------5/19/2017----------start
https://archive.apache.org/dist/hadoop/common/hadoop-2.5.0/hadoop-2.5.0.tar.gz
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gzwget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://archive.apache.org/dist/hadoop/common/hadoop-2.5.0/hadoop-2.5.0.tar.gz
----------5/19/2017----------end
jdk-7u9-linux-i586.tar.gz
后续用到的安装包
hbase-0.94.2.tar.gz
hive-0.9.0.tar.gz
pig-0.10.0.tar.gz
zookeeper-3.4.3.tar.gz
添加用户和组
groupadd hadoop
useradd hadoop -g hadoop
切换用户
su hadoop
退出
exit
JDK安装(root用户下进行安装)
plan a: rpm
plab b: 解压即可
mkdir /usr/java
tar -zxvf jdk-7u9-linux-i506.tar.gz -C /usr/java
建立链接:
ls -s /usr/java/jdk1.6.0_30 /usr/java/jdk
配置环境变量:
修改vi /etc/profile,在最后添加
export JAVA_HOME=/usr/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
让环境变量生效 source /etc/profile
检查echo $PATH 和java -version
--------------------------------------------------------------------------
SSH和无密码登录
安装SSH客户端:
yum -y install openssh-clients
=>此时可进行复制虚拟机
ssh master
生成无密码的公私钥对:
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
(以后可以把公钥发给其他机器ssh-copy-id 192.168.137.44)
--------------------------------------------------------------------------
复制虚拟机
复制->完全复制
vi /etc/sysconfig/network-scripts/ifcfg-eth0
根据虚拟机真实的mac修改 设置-网络,可查看到
DEVICE="eth2" HWADDR=... IPADDR=192.168.56.3
eth0改为eht1
mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-script/ifcfg-eth2
重启网卡
通过以上方法可以复制多个虚拟
---------------------------------------------------------------
安装hadoop
下载地址 http://archive.apache.org/dist/hadoop/core/stable
解压:
tar -zxvf hadoop-1.0.3.tar.gz -C /opt/ #以前作法是安装在/usr/local,现在一般安装在opt
mv /opt/hadoop-1.0.3 /opt/hadoop #重命名方便使用
chown -R hadoop:hadoop /opt/hadoop #把文件夹的权限赋给hadoop用户
su hadoop #在hadoop用户下配置
配置0:
vi /etc/profile
export JAVA_HOME/usr/java/jdk
export HADOOP_HOME=/opt/hadoopp-2.6.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
source /etc/profile
配置1:
hadoop-evn.sh
export JAVA_HOME/usr/java/jdk
配置2:vim core-site.xml (建议用hostname,不用ip)
<configuration>
<!--指定HDFS的Namenode地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.137.2:9000</value>
</property>
<!--指定Hadoop运行时产生文件的地址-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.6.0/tmp</value>
</property>
</configuration>
配置3:hdfs-site.xml
<configuration>
<!--HDFS保存数据的副本数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
配置4: mv mapred-site.xml.template mapred-site.xml
<configuration>
<!-- MR运行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置5: yarn-site.xml
<configuration>
<!-- NodeManager获取数据的方式是shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定YARN的ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
hadoop-env.sh
设置JAVA_HOME
初始化HDFS
hdfs namenode -format
底下生成tmp文件夹
启动hadoop
./start-all.sh
检验-jps命令查看进程
ResourceManager
NodeManager
NameNode
Jps
SecondaryNameNode
DataNode
检验-http://192.168.137.2:50070
http://192.168.137.2:50070/dfsnodelist.jsp?whatNodes=LIVE
http://192.168.137.2:50075/browseDirectory.jsp?dir=%2F&go=go&namenodeInfoPort=50070&nnaddr=192.168.137.2%3A9000
http://192.168.137.2:8088
如果无法访问,需关闭防火墙 service iptables stop
Error:
Could not get the namenode ID of this node.
hadoop-hdfs-2.6.0.jar(hdfs-default.xml) dfs.ha.namenode.id
原理: http://blog.csdn.net/chenpingbupt/article/details/7922004
public static String getNameNodeId(Configuration conf, String nsId) { String namenodeId = conf.getTrimmed(DFS_HA_NAMENODE_ID_KEY); if (namenodeId != null) { return namenodeId; } String suffixes[] = DFSUtil.getSuffixIDs(conf, DFS_NAMENODE_RPC_ADDRESS_KEY, nsId, null, DFSUtil.LOCAL_ADDRESS_MATCHER); if (suffixes == null) { String msg = "Configuration " + DFS_NAMENODE_RPC_ADDRESS_KEY + " must be suffixed with nameservice and namenode ID for HA " + "configuration."; throw new HadoopIllegalArgumentException(msg); } return suffixes[1]; }
DFS_HA_NAMENODE_ID_KEY = "dfs.ha.namenode.id";
DFS_NAMENODE_RPC_ADDRESS_KEY = "dfs.namenode.rpc-address";
请先确保iptables关闭
0 检查各台机子的所有配置文件
1 是否没有配置文件
2 各台机子间的ssh免登录是否正常
=>由于namenode配错机子
以上是“如何安装hadoop”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。