hadoop伪集群模式安装
hadoop可以在单个节点上,用伪分布的模式来运行hadoop的各个组件。
当前机器环境
操作系统:64 位 CentOS
Jdk版本:1.7.0_79,64位jvm。
准备工作
1、 修改hosts
为了不需要记住冗长的ip地址,便于识别那个节点,我们修改下hosts,把当前内网ip地址对应成data-1,
用root用户修改 /etc/hosts文件,把内网ip地址和域名对应关系放进去,操作如下:
vim /etc/hosts 10.116.111.110 data-1
2、创建用户
到目前为止都用的root用户,root用户具有最高权限,不安全,因此需要单独创建一个用户来运行hadoop,这里就使用hadoop用户名吧,名字随便起,
操作如下:
useradd hadoop passwd hadoop需要输入两次密码。
3、创建目录
个人喜欢把软件安装到/usr/local目录下,系统目录是需要root操作权限的,如果把hadoop软件放到/usr/local目录下会出现一个问题,
就是在多个节点上部署hadoop集群的时候需要复制文件,hadoop用户使用scp命令时,会出现权限问题,所以单独创建一个目录给hadoop用户来使用,
这个步骤不是必须的操作,因个人习惯来使用,操作如下:
chown -R hadoop:hadoop /data mkdir software cp /home/hadoop/hadoop-2.6.0-cdh5.5.1/hadoop-dist/target/hadoop-2.6.0-cdh5.5.1.tar.gz /data/software/ cd /data/software/ chown -R hadoop:hadoop hadoop-2.6.0-cdh5.5.1.tar.gz su hadoop tar zxvf hadoop:hadoop hadoop-2.6.0-cdh5.5.1.tar.gz接下来,再创建两个目录分别用来存放nameNode,dataNode的数据,操作如下:
mkdir -p /data/datastore/hadoop/namenode mkdir -p /data/datastore/hadoop/datanode注意的是,后面如果没有特殊说明,将会一直使用hadoop用户来操作
4、ssh免密码登录
虽然是在一个节点上部署伪集群方式,启动hadoop的时候还是会使用ssh调用其他节点(这里是自己)命令,所以需要配置免登录,操作如下:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys cd ~ chmod 700 .ssh cd .ssh chmod 644 authorized_keys执行 ssh localhost,不需要输入密码了。
到此,前期的准备工作都已经完成,下面来配置hadoop相关的文件
配置文件
操作如下:
1、vim etc/hadoop/hadoop-env.sh
# The java implementation to use. export JAVA_HOME=/usr/local/jdk1.7.0_7
2、vim etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>3、vim etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>4、vim vim etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:////data/datastore/hadoop/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:////data/datastore/hadoop/datanode</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>5、 vim etc/hadoop/yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
执行启动命令
接下来,我们来启动hadoop的各个组件
1、格式化文件系统
bin/hdfs namenode -format
格式化文件系统,只是第一次运行,类似硬盘格式化
2、启动NameNode 和 DataNode
sbin/start-dfs.sh
3、启动ResourceManager 和 NodeManager
sbin/start-yarn.sh
4、启动JobHistoryServer
sbin/mr-jobhistory-daemon.sh start historyserver
在控制台输入jps查看进程都是否启动,
[hadoop@data-1 data]$ jps 24242 ResourceManager 23940 DataNode 23819 NameNode 24333 NodeManager 24097 SecondaryNameNode 24686 JobHistoryServer可以在浏览器里输入地址,查看hadoop各个组件的运行情况,
http://localhost:8088,查看ResourceManager信息
http://localhost:50070,查看NameNode信息
http://localhost:19888,查看JobHistoryServer信息
测试使用
到目前为止,hadoop已成功运行,下面来测试下。在测试之前,在/etc/profile中加入变量HADOOP_HOME,方便使用hadoop命令,
export HADOOP_HOME=/data/software/hadoop-2.6.0-cdh5.5.1 export PATH=${PATH}:${HADOOP_HOME}/bin sudo source /etc/profile echo "This is a test." >> test.txt hadoop fs -ls / hadoop fs -copyFromLocal test.txt / hadoop fs -cat /test.txt
启动顺序
sbin/start-dfs.sh sbin/start-yarn.sh sbin/mr-jobhistory-daemon.sh start historyserver
关闭顺序
sbin/mr-jobhistory-daemon.sh stop historyserver sbin/stop-yarn.sh sbin/stop-dfs.sh
相关推荐
飞鸿踏雪0 2020-06-12
Elmo 2020-06-11
changjiang 2020-11-16
minerd 2020-10-28
WeiHHH 2020-09-23
Aleks 2020-08-19
WeiHHH 2020-08-17
飞鸿踏雪0 2020-07-26
tomli 2020-07-26
deyu 2020-07-21
strongyoung 2020-07-19
eternityzzy 2020-07-19
Elmo 2020-07-19
飞鸿踏雪0 2020-07-09
飞鸿踏雪0 2020-07-04
xieting 2020-07-04
WeiHHH 2020-06-28