1.添加hadoop用户到系统用户
安装前要做一件事——添加一个名为hadoop到系统用户,专门用来做Hadoop测试。
sudo addgroup hadoop
sudo adduser --ingroup hadoop hadoop
2.现在只是添加了一个用户hadoop,它并不具备管理员权限,因
此我们需要将用户hadoop添加到管理员组
sudo usermod -aG hadoop hadoop
3.安装ssh
由于Hadoop用ssh通信,先安装ssh
(1)sudo apt-get install openssh-server
ssh安装完成以后,先启动服务:
(2)sudo /etc/init.d/ssh start
启动后,可以通过如下命令查看服务是否正确启动:
(3)ps -e | grep ssh
建立ssh无密码登录本机.首先要转换成hadoop用户:
(4)su - hadoop
作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,
生成私钥和公钥:
(5)hadoop@scgm-ProBook:~$ ssh-keygen -t rsa -P ""
因为我已有私钥,所以会提示是否覆盖当前私钥。
第一次操作时会提示输入密码,按Enter直接过,这时会在
~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,
后者为公钥,现在我们将公钥追加到authorized_keys中
(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):
(6)cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
现在可以登入ssh确认以后登录时不用输入密码:
(7)ssh localhost
登出:
exit
第二次登录:
(8)ssh localhost
登出:
exit
这样以后登录就不用输入密码了
/*如果完全分布式*/
scp master@master:~/.ssh/id_rsa.pub ~/.ssh/master_rsa.pub
//*************************hadoop安装××××××××××××///
1.解压
sudo tar -zxvf hadoop-2.7.1.tar.gz
2.重命名
sudo mv hadoop-2.7.1 hadoop
3.要确保所有的操作都是在用户hadoop下完成的
sudo chown -R hadoop:hadoop /usr/local/hadoop
4.修改配置文件
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要
修改2个配置文件 core-site.xml 和 hdfs-site.xml 。
(1)core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(2)hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
/*****说明
虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),
不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,
而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行
了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下
来的步骤中可能会出错。
5.配置完成后,执行 namenode 的格式化
bin/hdfs namenode -format
6.环境变量配置
增加环境变量hadoop
gedit /etc/profile
. /etc/profile
报ssh错误 添加
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
e xport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
sudo ifconfig eth1 102.168.1.100
/####################集群环境配置%%%%%%%%%%%%%%%%%%%%
4.1、配置 hadoop-env.sh文件-->修改JAVA_HOME
export JAVA_HOME=/home/hadoop/jdk1.7.0_80
4.2、配置 yarn-env.sh 文件-->>修改JAVA_HOME
export JAVA_HOME=/home/hadoop/jdk1.7.0_80
4.4、配置 core-site.xml文件-->>增加hadoop核心配置(hdfs文件端口是9000、
file:/home/spark/opt/hadoop-2.6.0/tmp、)
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-2.7.1/tmp</value>
<description>Abasefor other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.spark.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.spark.groups</name>
<value>*</value>
</property>
</configuration>
4.5、配置 hdfs-site.xml 文件-->>增加hdfs配置信息
(namenode、datanode端口和目录位置)
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.7.1/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.7.1/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
4.6、配置 mapred-site.xml 文件-->>增加mapreduce配置
(使用yarn框架、jobhistory使用地址以及web地址)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
4.7、配置 yarn-site.xml 文件-->>增加yarn功能
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
scp -r hadoop-2.7.1 hadoop@slave1:~/home/hadoop
//如果在window环境下eclipse操作不了hdfs
、如果是测试环境,可以取消hadoop hdfs的用户权限检查。打开conf/hdfs-site.xml,
找到dfs.permissions属性修改为false(默认为true)OK了
//在分布式文件系统启动的时候,开始的时候NameNode会进入安全模式,
当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改,
直到安全模式结束。
bin/hadoop dfsadmin -safemode leave
hadoop安装
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 目录索引 前言:为什么要编译64位的Hadoop一、制作CentOS7基础镜像二、使用Dockerfile制作Ce...
- (搭建集群部分借鉴了kiwenlau/hadoop-cluster-docker中的内容,不过那里的基础环境是Ub...