HDFS的安装和部署-改变你成就你-51CTO博客
改变你成就你
linux
正文 HDFS的安装和部署 原创 ydt619 2013-06-27 10:42:53 评论(0) 3183人阅读 HDFS 的安装和部署 1. 准备工作 准备 3 台机器,设置好 hosts 一台作为 Namenode , cc-staging-session2 命名为 master , 两台作为 dataNode , cc-staging-front 命名为 slave1, cc-staging-imcenter 命名为 slave2 #3 台机器都创建 hadoop 用户
useradd hadoop
passwd hadoop
安装 JDK ,并设置 JAVA_HOME 和 PATH
下载安装 jdk1.7 http://www.oracle.com/technetwork/java/javase/downloads/index.html
tar zxvf jdk-7u21-linux-x64.gz -C /usr/local/
#/etc/profile
增加环境变量 pathmunge /usr/local/jdk1.7.0_21/bin export JAVA_HOME=/usr/local/jdk1.7.0_21/ export JRE_HOME=/usr/local/jdk1.7.0_21/jre export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 2. 下载安装 hadoop
下载 hadoop 下载地址 https://ccp.cloudera.com/display/SUPPORT/CDH3+Downloadable+Tarballs
wget http://archive.cloudera.com/cdh/3/hadoop-0.20.2-cdh3u6.tar.gz
wget http://archive.cloudera.com/cdh/3/hbase-0.90.6-cdh3u6.tar.gz
wget http://archive.cloudera.com/cdh/3/hive-0.7.1-cdh3u6.tar.gz
在 3 太机器上创建相同的目录路径 , name 目录只存放在 master 上,且权限为 755 ,否则会导致后面的格式化失败 mkdir -p /hadoop/{install,name,data1, data2,tmp}
解压安装包到 /hadoop/install 下 tar zxvf hadoop-0.20.2-cdh3u6.tar.gz -C /hadoop/install/
修改属主为 hadoop chown -R hadoop.hadoop /hadoop 3. 设置 hadoop 账户的 ssh 信任关系
在 master 机器上操作 su – hadoop
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub hadoop@cc-staging-front
ssh-copy-id -i .ssh/id_rsa.pub hadoop@cc-staging-imcenter
ssh-copy-id -i .ssh/id_rsa.pub hadoop@cc-staging-session2
测试一下 , 都能成功登录就行
ssh hadoop@master
ssh hadoop@slave1
ssh hadoop@slave2
编辑 HDFS 配置文件 , 所以节点都有保持一致
cd /hadoop/install/hadoop-0.20.2-cdh3u6/conf
#core-site.xml
核心配置 < configuration> < property> < name>fs.default.name < ame> < value>hdfs://master:9000 < /value> < /property> < /configuration> #hdfs-site.xml :站点多项参数配置 < configuration> < property> < name>dfs.replication < ame> < value>2 < /value> < /property> < property> < name>dfs.name.dir < ame> < value>/hadoop ame < /value> < /property> < property> < name>dfs.data.dir < ame> < value>/hadoop/data1,/hadoop/data2 < /value> < /property> < property> < name>dfs.tmp.dir < ame> < value>/hadoop/tmp < /value> < /property> < /configuration>
在 hadoop-env.sh 中配置 JAVA_HOME 变量 export JAVA_HOME=/usr/local/jdk1.7.0_21/ 5. 初始化 namenode 节点
在 master 上操作 , 格式化 Image 文件的存储空间 , 必需是大写的 Y su - hadoop
cd /hadoop/install/hadoop-0.20.2-cdh3u6/bin/
[hadoop@cc-staging-session2 bin]$ ./hadoop namenode -format
13/04/27 01:46:40 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = cc-staging-session2/127.0.0.1 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 0.20.2-cdh3u6 STARTUP_MSG: build = git://ubuntu-slave01/var/lib/jenkins/workspace/CDH3u6-Full-RC/build/cdh3/hadoop20/0.20.2-cdh3u6/source -r efb405d2aa54039bdf39e0733cd0bb9423a1eb0a; compiled by ‘jenkins’ on Wed Mar 20 11:45:36 PDT 2013 / Re-format filesystem in /hadoop ame ? (Y or N) Y 13/04/27 01:46:42 INFO util.GSet: VM type = 64-bit 13/04/27 01:46:42 INFO util.GSet: 2% max memory = 17.77875 MB 13/04/27 01:46:42 INFO util.GSet: capacity = 2^21 = 2097152 entries 13/04/27 01:46:42 INFO util.GSet: recommended=2097152, actual=2097152 13/04/27 01:46:42 INFO namenode.FSNamesystem: fsOwner=hadoop (auth:SIMPLE) 13/04/27 01:46:42 INFO namenode.FSNamesystem: supergroup=supergroup 13/04/27 01:46:42 INFO namenode.FSNamesystem: isPermissionEnabled=true 13/04/27 01:46:42 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=1000 13/04/27 01:46:42 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s) 13/04/27 01:46:43 INFO common.Storage: Image file of size 112 saved in 0 seconds. 13/04/27 01:46:43 INFO common.Storage: S torage directory /hadoop ame has been successfully formatted. 13/04/27 01:46:43 INFO namenode.NameNode: SHUTDOWN_MSG: / SHUTDOWN_MSG: Shutting down NameNode at cc-staging-session2/127.0.0.1 ************************************************************/
启动 namenode 和 datanode cd /hadoop/install/hadoop-0.20.2-cdh3u6/bin/ ./hadoop-daemon.sh start namenode
在 /hadoop/install/hadoop-0.20.2-cdh3u6/bin/ 下有很多命令,
- start-all.sh 启动所有的 Hadoop 守护,包括 namenode, datanode , jobtracker , tasktrack , secondarynamenode 。
- stop-all.sh 停止所有的 Hadoop 。
- start-mapred.sh 启动 Map/Reduce 守护,包括 Jobtracker 和 Tasktrack 。
- stop-mapred.sh 停止 Map/Reduce 守护
- start-dfs.sh 启动 Hadoop DFS 守护, Namenode 和 Datanode 。
- stop-dfs.sh 停止 DFS 守护
在 slave1 和 slave2 上启动 datanode cd /hadoop/install/hadoop-0.20.2-cdh3u6/bin/ ./hadoop-daemon.sh start datanode
可以在各个节点上运行 jps 命令查看是否启动成功 [hadoop@cc-staging-session2 bin]$ jps 11926 NameNode 12566 Jps 12233 SecondaryNameNode 12066 DataNode
数据节点必需在硬盘上 不然会报错 [hadoop@cc-staging-front bin]$ jps 14582 DataNode 14637 Jps [hadoop@cc-staging-imcenter bin]$ jps 23355 DataNode 23419 Jps
简单的测试
在任意一个节点创建目录: ./hadoop dfs -mkdir test
可以在所有数据节点上查看到目录: ./hadoop dfs -ls Found 2 items drwxr-xr-x - hadoop supergroup 0 2013-04-27 02:32 /user/hadoop/test
拷贝文件,即把本地的文件存放到 HDFS 中 ./hadoop dfs -put /etc/services test
删除文件 ./hadoop dfs -rm test/services 版权声明:原创作品,如需转载,请注明出处。否则将追究法律责任 hdfs 1 分享 收藏 上一篇:zookeeper集群安装部署 下一篇:CentOS 5.5 安装Graphite