赞
踩
本部分只做个人纪录
**
**
本部分为尚硅谷的电影推荐系统的文档,具体以实际存放位置为准
// 通过WGET下载Linux版本的MongoDB [bigdata@linux ~]$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz // 将压缩包解压到指定目录 [bigdata@linux backup]$ tar -xf mongodb-linux-x86_64-rhel62-3.4.3.tgz -C ~/ // 将解压后的文件移动到最终的安装目录 [bigdata@linux ~]$ mv mongodb-linux-x86_64-rhel62-3.4.3/ /usr/local/mongodb // 在安装目录下创建data文件夹用于存放数据和日志 [bigdata@linux mongodb]$ mkdir /usr/local/mongodb/data/ // 在data文件夹下创建db文件夹,用于存放数据 [bigdata@linux mongodb]$ mkdir /usr/local/mongodb/data/db/ // 在data文件夹下创建logs文件夹,用于存放日志 [bigdata@linux mongodb]$ mkdir /usr/local/mongodb/data/logs/ // 在logs文件夹下创建log文件 [bigdata@linux mongodb]$ touch /usr/local/mongodb/data/logs/ mongodb.log // 在data文件夹下创建mongodb.conf配置文件 [bigdata@linux mongodb]$ touch /usr/local/mongodb/data/mongodb.conf // 在mongodb.conf文件中输入如下内容 [bigdata@linux mongodb]$ vim ./data/mongodb.conf #端口号port = 27017 #数据目录 dbpath = /usr/local/mongodb/data/db #日志目录 logpath = /usr/local/mongodb/data/logs/mongodb.log #设置后台运行 fork = true #日志输出方式 logappend = true #开启认证 #auth = true // 启动MongoDB服务器 [bigdata@linux mongodb]$ sudo /usr/local/mongodb/bin/mongod -config /usr/local/mongodb/data/mongodb.conf // 访问MongoDB服务器 [bigdata@linux mongodb]$ /usr/local/mongodb/bin/mongo // 停止MongoDB服务器 [bigdata@linux mongodb]$ sudo /usr/local/mongodb/bin/mongod -shutdown -config /usr/local/mongodb/data/mongodb.conf
其中,本地的虚拟机没有按照文档的内容
,注意,具体地址按照自己的情况来,不知道地址的可以看mongodb.conf文件的path配置,或者定位到bin目录使用pwd命令查看地址
[zhouyu@firstwork ~]$ sudo /home/zhouyu/mongodb/bin/mongod -config /home/zhouyu/mongodb/data/mongodb.conf
,再或者cd多次直到bin的上级目录,使用
[ zhouyu@firstwork mongodb]$ sudo bin/mongod -config ./data/mongodb.conf
总之这种启动方式注意mongodb.conf和bin目录就行,把握这两个就万变不离其宗了
然后是访问MongoDB服务器:
[zhouyu@firstwork ~]$ cd mongodb/ [zhouyu@firstwork mongodb]$ bin/mongod -config ./data/mongodb.conf about to fork child process, waiting until server is ready for connections. forked process: 2828 child process started successfully, parent exiting [zhouyu@firstwork mongodb]$ jps 2923 Jps [zhouyu@firstwork mongodb]$ ps -ef | grep mongo zhouyu 2828 1 0 18:01 ? 00:00:02 bin/mongod -config ./data/mongodb.conf zhouyu 2958 2719 0 18:08 pts/0 00:00:00 grep --color=auto mongo [zhouyu@firstwork mongodb]$ bin/mongo MongoDB shell version v3.4.3 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.3 Server has startup warnings: 2024-03-20T18:01:04.145+0800 I CONTROL [initandlisten] 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 2048 processes, 65536 files. Number of processes should be at least 32768 : 0.5 times number of files. 2024-03-20T18:01:04.146+0800 I CONTROL [initandlisten] > show dbs admin 0.000GB local 0.000GB
在Linux的火狐浏览器中访问 http://192.168.220.131:27017/ 可得如下内容:这是
由于mongodb不支持http请求的原因,不必介意,可以视为虚拟机内部可以访问mongodb了
如果你不知道ip,使用ifconfig命令即可知道,那个ensxxx的inet就是你的ip,端口号默认是
27017,除非你要指定了,不然默认即可
[zhouyu@firstwork ~]$ ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.220.131 netmask 255.255.255.0 broadcast 192.168.220.255 inet6 fe80::257a:5178:2031:5aab prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c8:52:c1 txqueuelen 1000 (Ethernet) RX packets 31184 bytes 13846558 (13.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8065 bytes 1695812 (1.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 360 bytes 33822 (33.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 360 bytes 33822 (33.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:1d:cd:84 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
有用信息:
inet 192.168.220.131 ip地址
netmask 255.255.255.0 子网掩码
broadcast 192.168.220.255 广播地址
但是问题是在外部浏览器无法访问,这里就需要考虑两个问题
第一是防火墙的问题
[zhouyu@firstwork ~]$ su root 密码: [root@firstwork zhouyu]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since 三 2024-03-20 19:52:34 CST; 2h 11min ago Docs: man:firewalld(1) Main PID: 773 (firewalld) Tasks: 2 CGroup: /system.slice/firewalld.service └─773 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid 3月 20 19:52:34 firstwork systemd[1]: Starting firewalld - dynamic firewal..... 3月 20 19:52:34 firstwork systemd[1]: Started firewalld - dynamic firewall...n. 3月 20 19:52:35 firstwork firewalld[773]: WARNING: AllowZoneDrifting is ena.... Hint: Some lines were ellipsized, use -l to show in full. [root@firstwork zhouyu]# systemctl stop firewalld.service [root@firstwork zhouyu]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: inactive (dead) since 三 2024-03-20 22:04:31 CST; 5s ago Docs: man:firewalld(1) Process: 773 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS) Main PID: 773 (code=exited, status=0/SUCCESS) 3月 20 19:52:34 firstwork systemd[1]: Starting firewalld - dynamic firewal..... 3月 20 19:52:34 firstwork systemd[1]: Started firewalld - dynamic firewall...n. 3月 20 19:52:35 firstwork firewalld[773]: WARNING: AllowZoneDrifting is ena.... 3月 20 22:04:30 firstwork systemd[1]: Stopping firewalld - dynamic firewal..... 3月 20 22:04:31 firstwork systemd[1]: Stopped firewalld - dynamic firewall...n. Hint: Some lines were ellipsized, use -l to show in full. [root@firstwork zhouyu]# exit
有三点注意:
1.有些命令需要确定是不是在root下进行,防火墙的命令是需要切换的
切换root 使用 su root即可
2. systemctl status firewalld 是查看状态 systemctl stop firewalld.service 是停用,不过只是单次这意味着如果你重启后该命令就失效了,防火墙仍然开启,我就吃亏在这上面 systemctl enable firewalld.service 开启开机启动 systemctl disable firewalld.service 关闭开机启动 :
3.用完root后记得exit切换会普通用户
第二是修改mongod.conf文件,还记得前面的配置吗
我们需要加点东西
如果是这种,写bind_ip即可,如果是yaml格式
这种就需要按照驼峰规则了
查看到conf文件过程:
[zhouyu@firstwork mongodb]$ cd data
[zhouyu@firstwork data]$ ls
db logs mongodb.conf
[zhouyu@firstwork data]$ cd mongodb.conf
bash: cd: mongodb.conf: 不是目录
[zhouyu@firstwork data]$ vim mongodb.conf
之前我们只是在虚拟机内部的浏览器查看,现在我们可以在外部,访问虚拟机了
在使用studio 3T连接之前
在外部的浏览器使用之前在火狐的ip:端口号如法炮制,如果得到相同内容,则说明可以尝试了
这里还需要提醒一点,我的auth=true是关闭的,就是说没开启认证,我不清楚开启认证对于后面连接的是否需要连接ssh部分有影响,这里提醒一下,后期有机会补充
我使用的是studio 3T,下载不赘述
选下面的
输入后点击测试,成功后点击ok->save即可
如果右侧没有这些,则直接退出重进一般会有
点击运行scala,连接mongodb数据库
出现相关内容
至此成功
总之,该部分写的过程我查了一些资料,可惜没有完整走一遍,都是东拼西凑。我自己也纪录的不详细,时间仓促,只能写出来这点东西了。希望可以给别人一些帮助吧。
我看csdn有些东西还要收费或者开会员。这帮人拿着不知道转了几手的东西居然还想收费?能不能有点开源精神?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。