文章目录
伪分布安装步骤
(1)开启sudo
- 方便起见,我们在使用linux系统配置伪分布前,可以先配置一下sudo。其作用为,为了单次使用root权限
-
切换到root用户
编辑/etc/sudoers
复制一次root权限(root ALL=(ALL) ALL)(注意:是复制,不是覆盖
)
然后更改root为自己的用户名(用户名 ALL=(ALL) ALL)
(2)修改主机名
$ sudo vi /etc/sysconfig/network
修改hostname
hostname=master
-------修改主机名为master
(3)配置静态IP
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
在原有属性基础上添加或修改以下属性:
ONBOOT=yes
---------------------设置开机自动激活网卡
BOOTPROTO=static----------------修改为static或者none
IPADDR=192.168.198.200-----------设置成你想要的IP(前三个网段与网关一致)
NETMASK=255.255.255.0-----------子网掩码
GATEWAY=192.168.198.1-----------网关(桥接模式与物理机一致,net模式设置成VMnet8提供的网关,一般结尾都是2)
DNS1=192.168.198.1---------------DNS设置成与网关一致即可
配置结束后重启网络
$ sudo service network restart
如果重启网络无效则重启机器
$ reboot
(4)配置主机与IP的映射
$ sudo vi /etc/hosts
在文件末添加(中间用空格隔开)
192.168.126.104 master
验证映射是否成功
$ ping master
(5)安装java和hadoop
参考[本地模式]
(6)修改配置文件(可参照官网)
$ cd ~/soft/hadoop/etc/hadoop/
修改以下文件中的对应属性
$ vi core-site.xml
<property>
<name>fs.defaultFS</name> #默认文件系统名称,用于指定host,post
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> #其他临时目录的基础,hadoop系统临时目录(格式化后的namenode和datanode)
<value>/home/michael/soft/tmp</value>
</property>
$ vi hdfs-site.xml
<property>
<name>dfs.replication</name> #指定副本数
<value>1</value>
</property>
$ vi hadoop-env.sh
重新设置JAVA_HOME的值。否则可能不能启动 。(其中的michael是我的用户名)
# The java implementation to use.
# export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/home/michael/soft/jdk
$ vi slaves
master
-------在master这一节点启动datanode
(7)设置免密登录(ssh)
使用普通用户进行设置,尽可能的不要使用root用户
-
生成密钥。输入命令:
$ ssh-keygen –t rsa
一路回车下去,就会在相应的用户的主目录下生成隐藏目录.ssh
。里面有一个私钥文件id_rsa
和一个公钥文件id_rsa.pub
-
免密登录自己
进入.ssh目录,将公钥文件内容追加到authorized_keys文件,实现ssh连接自己不再需要密码。确保authorized_keys的权限为600。
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys -
结果验证
$ ssh master
(8)启动hdfs
-
格式化namenode,有且仅有一次,多次格式化会出现问题
$ hdfs namenode -format -
启动hdfs
$ start-dfs.sh -
单独启动
单独启动namenode
$ hadoop-daemon.sh start namenode
单独启动SecondaryNameNode
$ hadoop-daemon.sh start secondarynamenode
单独启动datanode
$ hadoop-daemon.sh start datanode